Change GeneralizedNewtypeDeriving safety check.
authorRichard Eisenberg <eir@cis.upenn.edu>
Mon, 21 Oct 2013 17:02:57 +0000 (13:02 -0400)
committerRichard Eisenberg <eir@cis.upenn.edu>
Wed, 23 Oct 2013 13:23:30 +0000 (09:23 -0400)
commitff3904d9c97ae5e6d23bc1e961129a76ed283f3f
treeb78516e2871372e802fdc38a21db63a4471e59e4
parent755bdc83bde5ebaf9ae46b960328f8a5cea25a4a
Change GeneralizedNewtypeDeriving safety check.

Now, instead of looking at a class's roles, the GND check looks
at all of the methods in the class individually. This has the
advantage that sometimes, we can use information about the
derivation requested during the safety check. For example,
we can now derive (IArray UArray), whereas the previous check
prevented this.
compiler/deSugar/DsBinds.lhs
compiler/typecheck/TcDeriv.lhs
compiler/types/Coercion.lhs