From: simonpj@microsoft.com Date: Wed, 15 Sep 2010 22:12:53 +0000 (+0000) Subject: Comments only X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=70fb70c59556ef6c1b72ddf60459157d5383c26b Comments only --- diff --git a/compiler/coreSyn/CoreArity.lhs b/compiler/coreSyn/CoreArity.lhs index 666da70..f0f6c75 100644 --- a/compiler/coreSyn/CoreArity.lhs +++ b/compiler/coreSyn/CoreArity.lhs @@ -723,9 +723,10 @@ mkEtaWW orig_n in_scope orig_ty -- coerce T (\x::[T] -> (coerce ([T]->Int) e) x) go n subst ty' (EtaCo (Type.substTy subst co) : eis) - | otherwise -- We have an expression of arity > 0, + | otherwise -- We have an expression of arity > 0, + -- but its type isn't a function. = WARN( True, ppr orig_n <+> ppr orig_ty ) - (getTvInScope subst, reverse eis) -- but its type isn't a function. + (getTvInScope subst, reverse eis) -- This *can* legitmately happen: -- e.g. coerce Int (\x. x) Essentially the programmer is -- playing fast and loose with types (Happy does this a lot).