X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fspecialise%2FSpecEnv.lhs;fp=ghc%2Fcompiler%2Fspecialise%2FSpecEnv.lhs;h=64319b860e374c1819a36e98b318d407a60f27f1;hb=7d61cb61daa5e433a0cb85b34b7f0c58b2f961ff;hp=374b4c0139da43486596c0e22fb4a3cd864ca198;hpb=b8875f2f7f596482228645b9751f8f9c592a84c5;p=ghc-hetmet.git diff --git a/ghc/compiler/specialise/SpecEnv.lhs b/ghc/compiler/specialise/SpecEnv.lhs index 374b4c0..64319b8 100644 --- a/ghc/compiler/specialise/SpecEnv.lhs +++ b/ghc/compiler/specialise/SpecEnv.lhs @@ -115,7 +115,8 @@ lookupSpecId unspec_id ty_maybes case (firstJust (map try spec_infos)) of Just id -> id - Nothing -> error ("ERROR: There is some confusion about a value specialised to a type;\ndetails follow (and more info in the User's Guide):\n\t"++(ppShow 80 (ppr PprDebug unspec_id))) + Nothing -> pprError "ERROR: There is some confusion about a value specialised to a type;\ndetails follow (and more info in the User's Guide):\n\t" + (ppr PprDebug unspec_id) } where try (SpecInfo template_maybes _ id) @@ -188,7 +189,7 @@ lookupSpecEnv se@(SpecEnv spec_infos) spec_tys match [{-out of templates-}] [] = Just [] match (Nothing:ty_maybes) (spec_ty:spec_tys) - = case (isUnboxedDataType spec_ty) of + = case (isUnboxedType spec_ty) of True -> Nothing -- Can only match boxed type against -- type argument which has not been -- specialised on @@ -248,6 +249,6 @@ pp_specs sty print_spec_ids better_id_fn inline_env (SpecEnv specs) pp_the_list (p:ps) = ppBesides [p, pp'SP{-'-}, pp_the_list ps] pp_maybe Nothing = ifPprInterface sty pp_NONE - pp_maybe (Just t) = pprParendType sty t + pp_maybe (Just t) = pprParendGenType sty t \end{pseudocode}