#7888: Impredicativity flag needed more often
----------------------------------------------+-----------------------------
Reporter: monoidal | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler (Type
checker)
Version: 7.6.3 | Keywords:
Os: Unknown/Multiple | Architecture:
Unknown/Multiple
Failure: Incorrect warning at compile-time | Blockedby:
Blocking: | Related:
----------------------------------------------+-----------------------------
Comment(by simonpj@…):
commit a18ea4f20b73e1b3ef5cda2389c713152eb9576e
{{{
Author: Simon Peyton Jones <[email protected]>
Date: Wed May 15 09:51:25 2013 +0100
Make 'undefined' have the magical type 'forall (a:OpenKind).a'
This fixes Trac #7888, where the user wanted to use 'undefined' in a
context that needed ((forall a. a->a) -> Int). We allow OpenKind
unification variables to be instantiate with polytypes (or unboxed
types), hence the change.
'error' has always been like this; this change simply extends
the special treatment to 'undefined'. It's still magical;
you can't define your own wrapper for 'error' and get the
same behaviour. Really just a convenience hack.
compiler/coreSyn/MkCore.lhs | 48
++++++++++++++++++++++++++++++++-------
compiler/prelude/PrelNames.lhs | 5 ----
2 files changed, 39 insertions(+), 14 deletions(-)
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7888#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
ghc-tickets mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/ghc-tickets