X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FsimplCore%2FFloatIn.lhs;h=82825c3abef0afa14d412ea769c49ff99be603ac;hb=cd54b707b0d77a3c62ee9f57b82dae98727f1c34;hp=b9f44c95c12854e9c54f1be1d5d71b62daf639c0;hpb=d2ce0f52d42edf32bb9f13796e6ba6edba8bd516;p=ghc-hetmet.git 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}