Tags: typechecker/ghc
Tags
Remove fancy shadowing logic; always override in package database order. This is a stopgap fix for GHC 8.0 bug #12485: in particular, it relaxes need for -package-db flags to be given in dependency order. The trade-off is that we are a lot more unsafe when there are packages with duplicate 'id's in the database stack: the new code will not do an ABI compatibility check: if two packages have the same 'id', they are assumed to be ABI compatible. If this is not true, GHC may build segfaulting executables. Missing test updates, but I'm putting it up so people can take a look. In GHC 8.2, we'll record ABIs for all dependencies, allowing GHC to make better decisions about shadowing. Signed-off-by: Edward Z. Yang <[email protected]> Test Plan: validate Reviewers: austin, niteria, bgamari, simonmar Reviewed By: simonmar Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2613 GHC Trac Issues: #12485
Adjust error check for class method types Fixes Trac #11793. Nothing deep here. (cherry picked from commit e24b3b1)
Deriving Functor-like classes should unify kind variables While the deriving machinery always unifies the kind of the typeclass argument with the kind of the datatype, this proves not to be sufficient to produce well kinded instances for some poly-kinded datatypes. For example: ``` newtype Compose (f :: k2 -> *) (g :: k1 -> k2) (a :: k1) = Compose (f (g a)) deriving Functor ``` would fail because only `k1` would get unified with `*`, causing the following ill kinded instance to be generated: ``` instance (Functor (f :: k2 -> *), Functor (g :: * -> k2)) => Functor (Compose f g) where ... ``` To prevent this, we need to take the subtypes and unify their kinds with `* -> *`. Fixes #10524 for good. Test Plan: ./validate Reviewers: simonpj, hvr, austin, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2097 GHC Trac Issues: #10524, #10561 (cherry picked from commit aadde2b)
configure.ac: Bump down version number To ensure that the release candidate version has the correct lexicographic relation to the release.
Start of GHC 8.1 development branch (This annotated tag helps tools such as `git describe`)
Release 7.103a This is a patchlevel release over 7.10.3 which fixes a few documentation issues.
PreviousNext