X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Ftypecheck%2FTcSplice.lhs;h=24bb40cfbb694947aee4622fd8c894b379e5e1b8;hb=8a9aba1ff5e66aad02aba0997339ea6ec60d6b1e;hp=ffc9ec6ef25dea445ce0e8abc51006ba06c22312;hpb=bb78cb69648237d86b4d5486f0cbfee155831223;p=ghc-hetmet.git diff --git a/ghc/compiler/typecheck/TcSplice.lhs b/ghc/compiler/typecheck/TcSplice.lhs index ffc9ec6..24bb40c 100644 --- a/ghc/compiler/typecheck/TcSplice.lhs +++ b/ghc/compiler/typecheck/TcSplice.lhs @@ -19,6 +19,7 @@ import qualified Language.Haskell.TH.Syntax as TH import HsSyn ( HsBracket(..), HsExpr(..), HsSplice(..), LHsExpr, LHsDecl, HsType, LHsType ) +import LoadIface ( loadHomeInterface ) import Convert ( convertToHsExpr, convertToHsDecls, convertToHsType, thRdrName ) import RnExpr ( rnLExpr ) import RnEnv ( lookupFixityRn, lookupSrcOcc_maybe, lookupImportedName ) @@ -126,8 +127,13 @@ tcBracket brack res_ty tc_bracket :: HsBracket Name -> TcM TcType tc_bracket (VarBr v) - = tcMetaTy nameTyConName - -- Result type is Var (not Q-monadic) + = do { loadHomeInterface msg v -- Reason: deprecation checking asumes the + -- home interface is loaded, and this is the + -- only way that is going to happen + ; tcMetaTy nameTyConName -- Result type is Var (not Q-monadic) + } + where + msg = ptext SLIT("Need interface for Template Haskell quoted Name") tc_bracket (ExpBr expr) = newTyFlexiVarTy liftedTypeKind `thenM` \ any_ty ->