[project @ 1999-03-24 18:21:21 by sof]
authorsof <unknown>
Wed, 24 Mar 1999 18:21:21 +0000 (18:21 +0000)
committersof <unknown>
Wed, 24 Mar 1999 18:21:21 +0000 (18:21 +0000)
In case the desugaring of a lit-lit should fail, give a more informative error msg

ghc/compiler/deSugar/DsExpr.lhs

index 622b4ef..2b26091 100644 (file)
@@ -184,7 +184,19 @@ dsExpr (HsLitOut (HsString str) _)
   = returnDs (mkLit (NoRepStr str stringTy))
 
 dsExpr (HsLitOut (HsLitLit str) ty)
-  = returnDs ( mkConApp data_con [mkLit (MachLitLit str prim_ty)] )
+  = case (maybeBoxedPrimType ty) of
+      Just (boxing_data_con, prim_ty) ->
+           returnDs ( mkConApp boxing_data_con [mkLit (MachLitLit str prim_ty)] )
+      _ -> 
+       pprError "ERROR:"
+                (vcat
+                  [ hcat [ text "Cannot see data constructor of ``literal-literal''s type: "
+                        , text "value:", quotes (quotes (ptext str))
+                        , text "; type: ", ppr ty
+                        ]
+                  , text "Try compiling with -fno-prune-tydecls."
+                  ])
+                 
   where
     (data_con, prim_ty)
       = case (maybeBoxedPrimType ty) of