X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Frename%2FRnSource.lhs;h=521d71541ce3c2a826648977073907c2b5cf5027;hp=00ab97104bb4c9c0833d368fb0e6e760d1b335c8;hb=61bcd16d4f3d4cf84b26bf7bb92f16f0440b7071;hpb=5f8d93baa07271687825458e01c187081bcb1ddc;ds=sidebyside diff --git a/compiler/rename/RnSource.lhs b/compiler/rename/RnSource.lhs index 00ab971..521d715 100644 --- a/compiler/rename/RnSource.lhs +++ b/compiler/rename/RnSource.lhs @@ -1047,14 +1047,16 @@ extendRecordFieldEnv decls ; return $ unLoc x'} get (L _ (TyData { tcdCons = cons })) env = foldrM get_con env cons - get _ env = return env + get _ env = return env - get_con (L _ (ConDecl { con_name = con, con_details = RecCon flds })) env + get_con (L _ (ConDecl { con_name = con, con_details = RecCon flds })) + (RecFields env fld_set) = do { con' <- lookup con - ; flds' <- mappM lookup (map cd_fld_name flds) - ; return $ extendNameEnv env con' flds' } - get_con _ env - = return env + ; flds' <- mappM lookup (map cd_fld_name flds) + ; let env' = extendNameEnv env con' flds' + fld_set' = addListToNameSet fld_set flds' + ; return $ (RecFields env' fld_set') } + get_con _ env = return env \end{code} %*********************************************************