X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Frename%2FRnHsSyn.lhs;h=44aa70031d0d271c114a37098322ec3332794461;hb=fbff1b7b9c89f6369c4394a0b10fa7c06e011698;hp=5fbe7f7eedfc62a0a27583acb40b6f324bd557b2;hpb=1e436f2bb208a6c990743afaf17b7c2a93c31742;p=ghc-hetmet.git diff --git a/compiler/rename/RnHsSyn.lhs b/compiler/rename/RnHsSyn.lhs index 5fbe7f7..44aa700 100644 --- a/compiler/rename/RnHsSyn.lhs +++ b/compiler/rename/RnHsSyn.lhs @@ -68,8 +68,8 @@ extractHsTyNames ty get (HsRecTy flds) = extractHsTyNames_s (map cd_fld_type flds) get (HsNumTy _) = emptyNameSet get (HsTyVar tv) = unitNameSet tv - get (HsSpliceTy {}) = emptyNameSet -- Type splices mention no type variables - get (HsSpliceTyOut {}) = emptyNameSet -- Ditto + get (HsSpliceTy _ fvs _) = fvs + get (HsQuasiQuoteTy {}) = emptyNameSet get (HsKindSig ty _) = getl ty get (HsForAllTy _ tvs ctxt ty) = (extractHsCtxtTyNames ctxt @@ -77,6 +77,8 @@ extractHsTyNames ty `minusNameSet` mkNameSet (hsLTyVarNames tvs) get (HsDocTy ty _) = getl ty + get (HsCoreTy {}) = emptyNameSet -- This probably isn't quite right + -- but I don't think it matters extractHsTyNames_s :: [LHsType Name] -> NameSet extractHsTyNames_s tys = foldr (unionNameSets . extractHsTyNames) emptyNameSet tys @@ -118,10 +120,11 @@ hsSigsFVs :: [LSig Name] -> FreeVars hsSigsFVs sigs = plusFVs (map (hsSigFVs.unLoc) sigs) hsSigFVs :: Sig Name -> FreeVars -hsSigFVs (TypeSig _ ty) = extractHsTyNames ty -hsSigFVs (SpecInstSig ty) = extractHsTyNames ty -hsSigFVs (SpecSig _ ty _) = extractHsTyNames ty -hsSigFVs _ = emptyFVs +hsSigFVs (TypeSig _ ty) = extractHsTyNames ty +hsSigFVs (GenericSig _ ty) = extractHsTyNames ty +hsSigFVs (SpecInstSig ty) = extractHsTyNames ty +hsSigFVs (SpecSig _ ty _) = extractHsTyNames ty +hsSigFVs _ = emptyFVs ---------------- conDeclFVs :: LConDecl Name -> FreeVars