| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
As noted in my comment on #19058, this comment was previously a bit
misleading in the case of stable branches.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Resolves #17772. Addresses one part of #18308.
|
|
|
|
|
|
|
|
|
|
|
| |
Ticket #19415 showed a nasty typechecker loop, which can happen with
fundeps that do not satisfy the coverage condition.
This patch fixes the problem. It's described in GHC.Tc.Solver.Interact
Note [Fundeps with instances]
It's not a perfect solution, as the Note explains, but it's better
than the status quo.
|
|
|
|
| |
Follow-up from !2418, see #19579
|
|
|
|
| |
Follow-up from !2418, see #19579
|
|
|
|
|
|
| |
In comments, and notes.
Follow-up from !2418, see #19579
|
|
|
|
|
|
| |
Follow-up from !2418, see #19579
Updates haddock submodule
|
|
|
|
|
|
|
| |
As port of the process of migrating naming from API Annotations to
exact print annotations (EPA)
Follow-up from !2418, see #19579
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes a small but egregious bug, which allowed
a type signature like
f :: forall a. blah
not to fail if (blah :: a). Acutally this only showed
up as a ASSERT error (#19495).
The fix is very short, but took quite a bit of head scratching
Hence the long Note [Escaping kind in type signatures]
While I was in town, I also added a short-cut for the
common case of having no quantifiers to tcImplicitTKBndrsX.
Metric Decrease:
T9198
Metric Increase:
T9198
|
|
|
|
| |
Update submodules haskeline and hpc
|
| |
|
|
|
|
|
| |
As noted in ghc/head.hackage!152, the previous plan of using
the commit didn't work when the triggering pipeline had not yet
successfully finished.
|
|
|
|
| |
Closes #5298.
|
|
|
|
| |
Fixes #19575
|
|
|
|
|
|
| |
This patch corrects some markdown.
[skip ci]
|
|
|
|
|
| |
Metric Increase:
T11276
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
So we did *not* have the stgCallocBytes prototype, and subsequently
the C compiler defaulted to `int` as a return value. Thus generating
sxtw instructions for the return value of stgCalloBytes to produce
the expected void *.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This drops allocateExec for darwin, and replaces it with
a alloc, write, mark executable strategy instead. This prevents
us from trying to allocate an executable range and then write to
it, which X^W will prohibit on darwin.
This will *only* work if we can use mmap.
|
|
|
|
| |
This is a pre-requisite for making aarch64-darwin work.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Other than that:
* Fix T16167,json,json2,T7478,T10637 tests to reflect the introduction of
the `MessageClass` type
* Remove `makeIntoWarning`
* Remove `warningsToMessages`
* Refactor GHC.Tc.Errors
1. Refactors GHC.Tc.Errors so that we use `DiagnosticReason` for "choices"
(defer types errors, holes, etc);
2. We get rid of `reportWarning` and `reportError` in favour of a general
`reportDiagnostic`.
* Introduce `DiagnosticReason`, `Severity` is an enum: This big commit makes
`Severity` a simple enumeration, and introduces the concept of `DiagnosticReason`,
which classifies the /reason/ why we are emitting a particular diagnostic.
It also adds a monomorphic `DiagnosticMessage` type which is used for
generic messages.
* The `Severity` is computed (for now) from the reason, statically.
Later improvement will add a `diagReasonSeverity` function to compute
the `Severity` taking `DynFlags` into account.
* Rename `logWarnings` into `logDiagnostics`
* Add note and expand description of the `mkHoleError` function
|
|
|
|
| |
It also failed to parse with HLint (I wonder how GHC itself handles it?)
|
|
|
|
| |
Upgrades bootstrap GHC to 8.10.4, hopefully avoiding #19600.
|
|
|
|
|
|
|
|
|
|
| |
In the future, we want `HscEnv` to support multiple home units
at the same time. This means, that there will be 'Target's that do
not belong to the current 'HomeUnit'.
This is an API change without changing behaviour.
Update haddock submodule to incorporate API changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In #19597, we also settled on the following renamings:
* `idStrictness` -> `idDmdSig`,
`strictnessInfo` -> `dmdSigInfo`,
`HsStrictness` -> `HsDmdSig`
* `idCprInfo` -> `idCprSig`,
`cprInfo` -> `cprSigInfo`,
`HsCpr` -> `HsCprSig`
Fixes #19597.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The RULES that use hand-written specialised code for overloaded class
methods like floor, ceiling, truncate etc were fragile to certain
transformations. This patch makes them robust. See #19582.
It's all described in Note [Rules for overloaded class methods].
No test case because currently we don't do the transformation
(floating out over-saturated applications) that makes this patch
have an effect. But we may so so in future, and this patch makes
the RULES much more robust.
|
|
|
|
|
| |
Previously we were treating the thread ID as a HANDLE, but it is not. We
must first OpenThread.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch cleans up the complexity around WW's `mk_absent_let` by
broadening the scope of `LitRubbish`. Rubbish literals now store the
`PrimRep` they represent and are ultimately lowered in Cmm.
This in turn allows absent literals of `VecRep` or `VoidRep`. The latter
allows absent literals for unlifted coercions, as requested in #18983.
I took the liberty to rewrite and clean up `Note [Absent fillers]` and
`Note [Rubbish values]` to account for the new implementation and to
make them more orthogonal in their description.
I didn't add a new regression test, as `T18982` already contains the
test in the ticket and its test output changes as expected.
Fixes #18983.
|
| |
|
|
|
|
| |
Bumps Win32 submodule.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Implement @alexbiehl suggestion of using a foldGet function to avoid the
creation of an intermediate list while reading the symbol table.
Do something similar for reading the Hie symbol table and the interface
dictionary.
Metric Decrease:
T10421
|