diff options
Diffstat (limited to 'compiler/rename/RnExpr.hs')
-rw-r--r-- | compiler/rename/RnExpr.hs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/compiler/rename/RnExpr.hs b/compiler/rename/RnExpr.hs index 71fa1cb35b..ef77247a5d 100644 --- a/compiler/rename/RnExpr.hs +++ b/compiler/rename/RnExpr.hs @@ -247,12 +247,10 @@ rnExpr (RecordUpd expr rbinds _ _ _) fvExpr `plusFV` fvRbinds) } rnExpr (ExprWithTySig expr pty PlaceHolder) - = do { (wcs, pty') <- extractWildcards pty - ; bindLocatedLocalsFV wcs $ \wcs_new -> do { - (pty'', fvTy) <- rnLHsType ExprWithTySigCtx pty' - ; (expr', fvExpr) <- bindSigTyVarsFV (hsExplicitTvs pty'') $ - rnLExpr expr - ; return (ExprWithTySig expr' pty'' wcs_new, fvExpr `plusFV` fvTy) } } + = do { (pty', fvTy, wcs) <- rnLHsTypeWithWildCards ExprWithTySigCtx pty + ; (expr', fvExpr) <- bindSigTyVarsFV (hsExplicitTvs pty') $ + rnLExpr expr + ; return (ExprWithTySig expr' pty' wcs, fvExpr `plusFV` fvTy) } rnExpr (HsIf _ p b1 b2) = do { (p', fvP) <- rnLExpr p |