Simon Peyton Jones pushed to branch wip/T26746 at Glasgow Haskell Compiler / GHC

Commits:

1 changed file:

Changes:

  • compiler/GHC/Tc/Solver/Equality.hs
    ... ... @@ -357,9 +357,9 @@ can_eq_nc _rewritten _rdr_env _envs ev eq_rel ty1 _ ty2 _
    357 357
         -- You might think that representational role would also be OK, but
    
    358 358
         --   see Note [Even more eager newtype decomposition]
    
    359 359
         ok (ty1:tys1) (ty2:tys2) rs
    
    360
    -      | Phantom : rs <- r  = ok tys1 tys2 rs
    
    361
    -      | ty1 `tcEqType` ty2 = ok tys1 tys2 (drop 1 rs)
    
    362
    -      | otherwise          = False
    
    360
    +      | Phantom : rs' <- rs = ok tys1 tys2 rs'
    
    361
    +      | ty1 `tcEqType` ty2  = ok tys1 tys2 (drop 1 rs)
    
    362
    +      | otherwise           = False
    
    363 363
         ok [] [] _  = True
    
    364 364
         ok _  _  _  = False  -- Mis-matched lengths, just about possible because of
    
    365 365
                              -- kind polymorphism.  Anyway False is a safe result!