| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we duplicate top-level binder ids for no reason:
$fEqHsExpr_$c/=
$fEqHsExpr_$c/=
= \ @ id_a27U $dEq_a27V eta_B2 eta1_B1 ->
case $fEqHsExpr_$c== $dEq_a27V eta_B2 eta1_B1 of {
False -> True;
True -> False
}
with this patch we drop the first line when type signatures are not
printed (-dsuppress-type-signatures, which is implied by -dsuppress-all)
Reviewers: simonpj, bgamari
Reviewed By: simonpj
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5472
|
|
|
|
|
|
|
| |
This is due to the failures documented in #16087. The condition here could be
improved as it matches on `BUILD_FLAVOUR` instead of looking at the compiler
flags. However, it's better than nothing and I hope we will be able to fix these
issues before long.
|
|
|
|
| |
They aren't finishing correctly anyways.
|
|
|
|
|
|
|
| |
This reverts commit e59439af3222d151918ad1ad2a03942ce9e6a1ff.
This is causing unexpected failures in some test ways. Further proof
that no change is too trivial for CI.
|
|
|
|
|
| |
The lack of types made the previous failure silent, sadly. Improves
situation of #16043.
|
|
|
|
|
|
| |
As documented in #15382, this is known to fail in prof_hc_hb on i386.
Concerningly, I have also seen this test non-deterministically fail in
prof_hc_hb on amd64. We should really investigate this.
|
| |
|
|
|
|
|
|
|
|
| |
As noted in #15662, these used to be broken on Darwin due to a Clang toolchain
bug. However, this bug appears to be fixed in the Clang shipped with macOS
Mojave. Unfortunately, we don't really have any way to only mark it as broken on
certain operation system releases so I am just removing the expect_broken
entirely.
|
|
|
|
|
| |
This is currently spuriously failing. Moreover, we have the Mac Mini builder
running again so this is much less necessary now.
|
| |
|
| |
|
| |
|
|
|
|
| |
Previously the toolchain directory was wiped away by git clean.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Previously the linters were tagged with x86_64-linux, meaning that linting jobs
would often get stuck behind builds in the queue. Given that linting jobs are
fairly low-cost they hold up later build stages it is important that we reduce
this latency.
|
| |
|
|
|
|
| |
Our CircleCI builds will fail anyways without large instances.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: Observe CircleCI
Reviewers: bgamari
Reviewed By: bgamari
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5464
|
|
|
|
| |
Due to #16073.
|
| |
|
|
|
|
|
|
|
| |
It turns out that the submodules hack is useful to ensure that
CI works in forks.
This reverts commit 90ceafa8b9ad60e3c7b72cdd2dacdbeb96bdcddc.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Trac #16038 exposed the fact that TcRnDriver.checkHiBootIface
was creating a binding, in the module being compiled, for
$fxBlah = $fBlah
but $fxBlah was a /GlobalId/. But all bindings should be for
/LocalIds/ else dependency analysis goes down the tubes.
* I added a CoreLint check that an occurrence of a GlobalId
is not bound by an binding of a LocalId. (There is already
a binding-site check that no binding binds a GlobalId.)
* I refactored (and actually signficantly simplified) the
tricky code for dfuns in checkHiBootIface to ensure that
we get LocalIds for those boot-dfuns.
Alas, I then got "duplicate instance" messages when compiling
HsExpr. It turns out that this is a long-standing, but extremely
delicate, bug: even before this patch, if you compile HsExpr
with -ddump-tc-trace, you get "duplicate instance". Without
-ddump-tc-trace, it's OK. What a mess!
The reason for the duplicate-instance is now explained in
Note [Loading your own hi-boot file] in LoadIface. I fixed
it by a Gross Hack in LoadIface.loadInterface. This is at
least no worse than before.
But there should be a better way. I have opened #16081 for this.
|
|
|
|
|
|
|
|
|
| |
In tcExtendRecEnv, there is no need to us setGlobalTypeEnv
(which side-effects the tcg_type_env_var). tcExtendRecEnv
is used only when kind-checking a group of type/class decls
and no knot-tying via tcg_type_env_var is needed.
There is no change in functionality.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
candidateQTyVars was failing to return fully-zonked
tyvars, and that made things fall over chaotically
when we try to sort them into a well-scoped telescope.
Result: Trac #15795
So I made candidateQTvs guarantee to have fully-zonked
tyvars (i.e. with zonked kinds). That's a bit annoying
but not really difficult.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The validity check which rejected things like:
```lang=haskell
type family B x where
A x = x
```
Used to live in the typechecker. But it turns out that this validity
check was //only// being run on closed type families without CUSKs!
This meant that GHC would silently accept something like this:
```lang=haskell
type family B (x :: *) :: * where
A x = x
```
This patch fixes the issue by moving this validity check to the
renamer, where we can be sure that the check will //always// be run.
Test Plan: make test TEST=T16002
Reviewers: simonpj, bgamari
Reviewed By: simonpj
Subscribers: goldfire, rwbarton, carter
GHC Trac Issues: #16002
Differential Revision: https://phabricator.haskell.org/D5420
|
|
|
|
|
|
|
|
| |
When we pretty-print types, we suppress RuntimeRep variables, but
we were being too aggressive in doing so, resulting in Trac #16074.
This patch makes the suppression a bit less aggressive.
See Note [Defaulting RuntimeRep variables]
|
|
|
|
|
|
|
| |
This call plain missing, and as a result the casts
messed up deep-skolemisation in tcSubType
Fixes Trac #16033
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
GHCi's `:info` command was pretty-printined GADT
constructors suboptimally in the following ways:
1. Sometimes, fields were parenthesized when they did not need it,
e.g.,
```lang=haskell
data Foo a where
MkFoo :: (Maybe a) -> Foo a
```
I fixed this by refactoring some code in `pprIfaceConDecl` to be a
little smarter with respect to GADT syntax. See `pprFieldArgTy`
and `pprArgTy`.
2. With `-fprint-explicit-kinds` enabled, there would be times when
specified arguments would be printed without a leading `@` in GADT
return types, e.g.,
```lang=haskell
data Bar @k (a :: k) where
MkBar :: Bar k a
```
It turns out that `ppr_tc_app`, the function which pretty-prints
these return types, was not using the proper machinery to print
out the arguments, which caused the visibilities to be forgotten
entirely. I refactored `ppr_tc_app` to do this correctly.
Test Plan: make test TEST=T16030
Reviewers: goldfire, bgamari, simonpj
Reviewed By: simonpj
Subscribers: simonpj, rwbarton, carter
GHC Trac Issues: #16030
Differential Revision: https://phabricator.haskell.org/D5440
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
See #8959, this is one more place where we
can pretty-print Unicode syntax.
Test Plan: validate
Reviewers: nomeata, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, carter
GHC Trac Issues: #8959
Differential Revision: https://phabricator.haskell.org/D5439
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Rank2Types is deprecated. Don't suggest to users to use it.
Reviewers: bgamari, RyanGlScott, simonpj
Reviewed By: RyanGlScott, simonpj
Subscribers: RyanGlScott, rwbarton, carter
GHC Trac Issues: #16000
Differential Revision: https://phabricator.haskell.org/D5447
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we are having quite some trouble keeping up with our build volume due
to the number of configurations we have. I've split the pipeline into two
halves:
* build, which builds just vanilla deb9-linux with make and hadrian
* full-build, which builds everything else
This will trade-off some latency to more efficient use of our builders.
|
|
|
|
| |
Setting LANG causes trouble on Debian.
|
| |
|
| |
|
| |
|
|
|
|
| |
Our CircleCI builds will fail anyways without large instances.
|
|
|
|
| |
For some reason curl isn't found on the new builder.
|
|
|
|
| |
Might as well make sure it works before we retire it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Namely for:
- stripPrefix
- isPrefixOf
- intersperse
- tails
- map
- scanl
- scanl1
- scanl'
- scanr
- scanr1
- zip
- zipWith
Add examples to `zipWith` and `map`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces Hadrian docs specifically
targeted at GHC devs who are used to building GHC with the make
build system, adapting a good chunk of the following quickstart
page we wrote over the last few months:
https://ghc.haskell.org/trac/ghc/wiki/Building/Hadrian/QuickStart
Reviewers: snowleopard, bgamari
Reviewed By: snowleopard
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5446
|