| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
A premature complaint was causing Trac #9634. Acutally this
change also simplifies the lexer and eliminates duplication.
(The renamer was already making the check, as it happens.)
|
|
|
|
|
| |
I'm not quite sure why these have improved following the previous
four commits, but I'm quite happy about it
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reponding to Trac #9612:
* Track the CtOrigin of a Derived equality, arising from a
functional dependency
* And report it clearly in the error stream
This relies on a previous commit, in which I stop dropping Derived
insolubles on the floor.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is preparing for a fix to Trac #9612. The idea is that insoluble
constraints are nice solid errors that we should not discard before
we have a chance to report them. So TcRnTypes.dropDerivedWC now
keeps insoluble Derived constrains, and instead TcSimplify.solve_wanteds
filters them out
We get somewhat better error message for kind-equality failures too.
A slight downside is that to avoid *duplicate* kind-equality failures
when we float a kind-incompatible equality (e.g. alpha:* ~ Int#),
I've disabled constraint-floating when there are insolubles. But that
in turn makes a handful of error messages a little less informative;
good examples are mc21, mc22, mc25. But I am re-jigging the
constraint floating machinery in another branch, which will make this
go back to the way it was before.
|
|
|
|
| |
Fixes Trac #9576. Turned out to be pretty easy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Signed-off-by: Dave Laing <dave.laing.80@gmail.com>
Test Plan: Locally tested
Reviewers: thomie, austin
Reviewed By: thomie, austin
Subscribers: simonmar, ezyang, carter, thomie
Differential Revision: https://phabricator.haskell.org/D244
GHC Trac Issues: #9635
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: harbormaster
Reviewers: austin
Reviewed By: austin
Subscribers: simonmar, ezyang, carter, thomie
Differential Revision: https://phabricator.haskell.org/D243
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Introduced in 6c7b41cc2b24f533697a62bf1843507ae043fc97.
I checked the rest of that commit, and this is all that was left to revert.
Test Plan: x
Reviewers: ezyang, austin
Reviewed By: ezyang, austin
Subscribers: simonmar, ezyang, carter, thomie
Differential Revision: https://phabricator.haskell.org/D241
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: More thorough version of a75383cdd46f7bb593639bc6d1628b068b78262a
Test Plan:
change of comments only
[skip ci]
Reviewers: austin, simonmar, ekmett
Reviewed By: austin, ekmett
Subscribers: simonmar, ezyang, carter
Differential Revision: https://phabricator.haskell.org/D239
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
|
| |
This removes a couple of `INLINE` pragmas from the generics helper
classes. With this change the compile times and memory usage should
go back to the previous GHC 7.8.3 situation.
This has been submitted upstream as https://github.com/kolmodin/binary/pull/62
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| |
|
|
|
|
|
|
| |
This point the user that there is a relation between the
UndecibadleInstances flag and the type families, not just type
classes.
|
| |
|
| |
|
|
|
|
| |
...several modules in `base` recently touched by me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The main change is that Cabal changed the representation of module
re-exports to distinguish reexports in source .cabal files versus
re-exports in installed package registraion files.
Cabal now also does the resolution of re-exports to specific installed
packages itself, so ghc-pkg no longer has to do this. This is a cleaner
design overall because re-export resolution can fail so it is better to
do it during package configuration rather than package registration.
It also simplifies the re-export representation that ghc-pkg has to use.
Add extra ghc-pkg sanity check for module re-exports and duplicates
For re-exports, check that the defining package exists and that it
exposes the defining module (or for self-rexport exposed or hidden
modules). Also check that the defining package is actually a direct
or indirect dependency of the package doing the re-exporting.
Also add a check for duplicate modules in a package, including
re-exported modules.
Test Plan:
So far the sanity checks are totally untested. Should add some test
case to make sure the sanity checks do catch things correctly, and
don't ban legal things.
Reviewers: austin, duncan
Subscribers: angerman, simonmar, ezyang, carter
Differential Revision: https://phabricator.haskell.org/D183
GHC Trac Issues:
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
```
git grep -l '#!' | xargs sed -i 's|#!.*/bin/\([^ ]*\)$|#!/usr/bin/env \1|'
```
and some manual tweaking
Test Plan: harbormaster
Reviewers: austin
Subscribers: hvr, simonmar, ezyang, carter
Differential Revision: https://phabricator.haskell.org/D237
GHC Trac Issues: #9057
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
```
git grep -l '\(#ifdef \|#if defined\)(\?__GLASGOW_HASKELL__)\?'
```
Test Plan: validate
Reviewers: rwbarton, hvr, austin
Reviewed By: rwbarton, hvr, austin
Subscribers: rwbarton, simonmar, ezyang, carter
Differential Revision: https://phabricator.haskell.org/D218
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Since commits 8fe1f8 and bb6731 in the filepath packages (ticket #2034, closed
in 2010), takeDirectory "foo" returns ".", and not "", so this check is no
longer needed.
Other commits:
* Remove trailing whitespace
* Update comments for #2278
Test Plan: harbormaster
Reviewers: austin
Reviewed By: austin
Subscribers: simonmar, ezyang, carter
Differential Revision: https://phabricator.haskell.org/D213
GHC Trac Issues: #2034
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes Trac #9583, a loop in the simplifier.
I thought this was going to be very complicated but it turned out to
be very simple! The occurrence analyser does something called
"glomming" if the application of imported RULES means that something
that didn't look recursive becomes recursive. See `Note [Glomming]`
in `OccurAnal`. Under these circumstances we group all the top-level
bindings into a single massive `Rec`.
But, crucially, I failed to repeat the occurrence analysis on this
glommed set of bindings. That means that we weren't establishing the
right loop breakers (indeed there were no loop breakers whatsoever),
and that led immediately to the loop. The only surprising this is that
it didn't happen before.
|
|
|
|
| |
This would occur only on Windows during `./validate`
|
|
|
|
| |
Refs #9586
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This finally exposes also the methods of these 3 classes in the Prelude
in order to allow to define basic class instances w/o needing imports.
This almost completes the primary goal of #9586
NOTE: `fold`, `foldl'`, `foldr'`, and `toList` are not exposed yet,
as they require upstream fixes for at least `containers` and
`bytestring`, and are not required for defining basic instances.
Reviewed By: ekmett, austin
Differential Revision: https://phabricator.haskell.org/D236
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This flips the switch and replaces the entities in
`Data.List`/`Control.Monad` conflicting with
`Data.{Foldable,Traversable}` with re-exports of the more general
versions.
As of this commit, the code below (which is also added as a test-case)
compiles w/o error.
module XPrelude (module X) where
import Control.Monad as X
import Data.Foldable as X
import Data.List as X
import Data.Monoid as X
import Data.Traversable as X
import Prelude as X
This addresses #9568
Reviewed By: ekmett, austin
Differential Revision: https://phabricator.haskell.org/D235
|
|
|
|
|
|
|
|
|
|
| |
This simplifies the import graph and more importantly removes import
cycles that arise due to `Control.Monad` & `Data.List` importing
`Data.Traversable` (preparation for #9586)
Reviewed By: ekmett, austin
Differential Revision: https://phabricator.haskell.org/D234
|
|
|
|
|
|
|
|
|
| |
On some systems (depending on gcc multilib configuration) libffi
would install into libffi/build/inst/lib64 even though we configure
it with --libdir=libffi/build/inst/lib. There appears to be no way
to get libffi to install to a predictable directory "out of the box",
so we apply a small patch to Makefile.in. This is the same fix used
in Gentoo's ebuild (https://bugs.gentoo.org/show_bug.cgi?id=462814).
|
|
|
|
|
| |
The changes are purely cleanups to improve forward compatibility
to help with the Foldable/Traversal changes ahead.
|
|
|
|
|
|
| |
This is preparatory refactoring for avoiding import cycles
when `Data.Traversable` will be imported by `Control.Monad` and
`Data.List` for implementing #9586
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces the entities in Data.List conflicting with Data.Foldable
with re-exports of the generalised version from Data.Foldable.
As of this commit, the following compiles w/o error
module XPrelude (module X) where
import Control.Monad as X
import Data.Foldable as X
import Data.List as X
import Prelude as X
Reviewed By: austin, dfeuer, ekmett
Differential Revision: https://phabricator.haskell.org/D229
|
|
|
|
|
|
|
|
|
|
| |
Turn `toList`, `elem`, `sum`, `product`, `maximum`, and `minimum` into
`Foldable` methods. This helps avoiding regressions (and semantic
differences) while implementing #9586
Reviewed By: austin, dfeuer, ekmett
Differential Revision: https://phabricator.haskell.org/D231
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This renames the Data.List module to Data.OldList, and puts a new
Data.List module into its place re-exporting all list functions.
The plan is to leave the monomorphic versions of the list functions in
Data.OldList to help smooth the transition.
The new Data.List module then will simply re-export entities from
Data.OldList and Data.Foldable.
This refactoring has been placed in a separate commit to be able to
better isolate any regressions caused by the actual list function
generalisations when implementing #9586
This also updates the haskell2010, haskell98, and array submodules
Reviewed By: austin, ekmett
Differential Revision: https://phabricator.haskell.org/D228
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this change, the linker status logging output such as
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
is suppressed unless verbosity level is `-v2` or higher. This is done
to reduce the compiler message noise when TH is involved, which can
reduce the visibiliy of compile warnings.
Reviewed By: ekmett, austin
Differential Revision: https://phabricator.haskell.org/D232
|
|
|
|
|
|
|
|
|
| |
T4801 is deactived for now because it's currently too volatile
and causes too much noise in Phabricator's CI
Reviewed By: austin
Differential Revision: https://phabricator.haskell.org/D230
|
| |
|