X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FsimplCore%2FFloatIn.lhs;h=82825c3abef0afa14d412ea769c49ff99be603ac;hp=b9f44c95c12854e9c54f1be1d5d71b62daf639c0;hb=fdf8656855d26105ff36bdd24d41827b05037b91;hpb=a52ff7619e8b7d74a9d933d922eeea49f580bca8 diff --git a/compiler/simplCore/FloatIn.lhs b/compiler/simplCore/FloatIn.lhs index b9f44c9..82825c3 100644 --- a/compiler/simplCore/FloatIn.lhs +++ b/compiler/simplCore/FloatIn.lhs @@ -129,7 +129,9 @@ fiExpr :: FloatingBinds -- Binds we're trying to drop fiExpr to_drop (_, AnnVar v) = mkCoLets' to_drop (Var v) fiExpr to_drop (_, AnnType ty) = ASSERT( null to_drop ) - Type ty + Type ty +fiExpr to_drop (_, AnnCoercion co) = ASSERT( null to_drop ) + Coercion co fiExpr to_drop (_, AnnCast expr co) = Cast (fiExpr to_drop expr) co -- Just float in past coercion @@ -198,7 +200,7 @@ fiExpr to_drop lam@(_, AnnLam _ _) go seen_one_shot_id [] = seen_one_shot_id go seen_one_shot_id (b:bs) - | isTyCoVar b = go seen_one_shot_id bs + | isTyVar b = go seen_one_shot_id bs | isOneShotBndr b = go True bs | otherwise = False -- Give up at a non-one-shot Id \end{code}