Andreas Klebinger pushed to branch wip/andreask/spec_tyfams at Glasgow Haskell Compiler / GHC

Commits:

1 changed file:

Changes:

  • compiler/GHC/Core/Opt/Specialise.hs
    ... ... @@ -1282,7 +1282,7 @@ specCase :: SpecEnv
    1282 1282
     specCase env scrut' case_bndr [Alt con args rhs]
    
    1283 1283
       | -- See Note [Floating dictionaries out of cases]
    
    1284 1284
         -- interestingDict scrut' (idType case_bndr)
    
    1285
    -    interestingDict (ISE emptyInScopeSet realIdUnfolding) scrut'
    
    1285
    +    interestingDict (ISE (substInScopeSet $ se_subst env) realIdUnfolding) scrut'
    
    1286 1286
       , not (isDeadBinder case_bndr && null sc_args')
    
    1287 1287
       = do { case_bndr_flt :| sc_args_flt <- mapM clone_me (case_bndr' :| sc_args')
    
    1288 1288
     
    
    ... ... @@ -3067,7 +3067,7 @@ mkCallUDs' env f args
    3067 3067
         -- on this argument; if so, SpecDict, if not UnspecArg
    
    3068 3068
         mk_spec_arg arg (Anon _pred af)
    
    3069 3069
           | isInvisibleFunArg af
    
    3070
    -      , interestingDict (ISE emptyInScopeSet realIdUnfolding) arg
    
    3070
    +      , interestingDict (ISE (substInScopeSet $ se_subst env) realIdUnfolding) arg
    
    3071 3071
           -- , interestingDict arg (scaledThing pred)
    
    3072 3072
                   -- See Note [Interesting dictionary arguments]
    
    3073 3073
           = SpecDict arg