[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 13 commits: Data.Ord: give a field name getDown to Down

Marge Bot gitlab at gitlab.haskell.org
Wed Jun 19 05:35:24 UTC 2019



 Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
62f0213d by Fumiaki Kinoshita at 2019-06-18T20:00:20Z
Data.Ord: give a field name getDown to Down

- - - - -
da33f2bb by Fumiaki Kinoshita at 2019-06-18T20:00:20Z
Add more newtype-derived instances to Data.Ord.Down

Metric Increase:
    haddock.base

- - - - -
dbf9ca20 by Ben Gamari at 2019-06-18T20:00:56Z
testsuite: Add testcase for #16689

- - - - -
29ec33cd by Ben Gamari at 2019-06-18T20:00:56Z
SafeHaskell: Don't throw -Wsafe warning if module is declared Safe

Fixes #16689.

- - - - -
a491e40c by Ben Gamari at 2019-06-18T20:01:31Z
hadrian: Compile UserSettings with -O0

This guarantees that the interface file for `UserSettings` doesn't 
contain any unfoldings, ensuring that a change in it requires minimal 
rebuilds.
- - - - -
74bd6b22 by Ben Gamari at 2019-06-18T20:02:07Z
testsuite: Add test for #16832

- - - - -
6a92f59d by Ben Gamari at 2019-06-18T20:02:42Z
gitlab-ci: Run alpine builds during nightly job

- - - - -
4549cadf by Andreas Klebinger at 2019-06-18T20:03:19Z
Make sure mkSplitUniqSupply stores the precomputed mask only.

mkSplitUniqSupply was lazy on the boxed char.

This caused a bunch of issues:
* The closure captured the boxed Char
* The mask was recomputed on every split of the supply.
* It also caused the allocation of MkSplitSupply to happen in it's own
(allocated) closure. The reason of which I did not further investigate.

We know force the computation of the mask inside mkSplitUniqSupply.
* This way the mask is computed at most once per UniqSupply creation.
* It allows ww to kick in, causing the closure to retain the unboxed
value.

Requesting Uniques in a loop is now faster by about 20%.

I did not check the impact on the overall compiler, but I added a test
to avoid regressions.

- - - - -
104f93c0 by Oleg Grenrus at 2019-06-19T05:35:16Z
Add -Winferred-safe-imports warning

This commit partly reverts e69619e923e84ae61a6bb4357f06862264daa94b
commit by reintroducing Sf_SafeInferred SafeHaskellMode.

We preserve whether module was declared or inferred Safe.  When
declared-Safe module imports inferred-Safe, we warn.  This inferred
status is volatile, often enough it's a happy coincidence, something
which cannot be relied upon. However, explicitly Safe or Trustworthy
packages won't accidentally become Unsafe.

Updates haddock submodule.

- - - - -
369c2057 by Oleg Grenrus at 2019-06-19T05:35:16Z
Add -Wmissing-safe-haskell-mode warning

- - - - -
22c0bb20 by Simon Peyton Jones at 2019-06-19T05:35:17Z
Fix two places that failed the substitution invariant

The substition invariant relies on keeping the in-scope
set in sync, and we weren't always doing so, which means that
a DEBUG compiler crashes sometimes with an assertion failure

This patch fixes a couple more cases.  Still not validate
clean (with -DEEBUG) but closer!

- - - - -
b96f33dc by Simon Peyton Jones at 2019-06-19T05:35:17Z
Fix typechecking of partial type signatures

Partial type sigs had grown hair.  tcHsParialSigType was
doing lots of unnecessary work, and tcInstSig was cloning it
unnecessarily -- and the result didn't even work: #16728.

This patch cleans it all up, described by TcHsType
  Note [Checking parital type signatures]

I basically just deleted code... but very carefully!

Some refactoring along the way

* Distinguish more explicintly between "anonymous" wildcards "_"
  and "named" wildcards "_a".  I changed the names of a number
  of functions to make this distinction much more apparent.

The patch also revealed that the code in `TcExpr`
that implements the special typing rule for `($)` was wrong.
It called `getRuntimeRep` in a situation where where was no
particular reason to suppose that the thing had kind `TYPE r`.

This caused a crash in typecheck/should_run/T10846.

The fix was easy, and actually simplifies the code in `TcExpr`
quite a bit.  Hooray.

- - - - -
0e5cdf77 by Simon Peyton Jones at 2019-06-19T05:35:17Z
Comments and tiny refactor

* Added Note [Quantified varaibles in partial type signatures]
  in TcRnTypes

* Kill dVarSetElemsWellScoped; it was only called in
  one function, quantifyTyVars.  I inlined it because it
  was only scopedSort . dVarSetElems

* Kill Type.tyCoVarsOfBindersWellScoped, never called.

- - - - -


30 changed files:

- .gitlab-ci.yml
- compiler/basicTypes/UniqSupply.hs
- compiler/main/DynFlags.hs
- compiler/main/HscMain.hs
- compiler/main/HscTypes.hs
- compiler/rename/RnTypes.hs
- compiler/typecheck/Inst.hs
- compiler/typecheck/TcBinds.hs
- compiler/typecheck/TcCanonical.hs
- compiler/typecheck/TcExpr.hs
- compiler/typecheck/TcHsType.hs
- compiler/typecheck/TcMType.hs
- compiler/typecheck/TcRnDriver.hs
- compiler/typecheck/TcRnMonad.hs
- compiler/typecheck/TcRnTypes.hs
- compiler/typecheck/TcSigs.hs
- compiler/typecheck/TcType.hs
- compiler/types/Type.hs
- docs/users_guide/safe_haskell.rst
- hadrian/src/UserSettings.hs
- libraries/base/Control/Monad/Fix.hs
- libraries/base/Data/Ord.hs
- libraries/base/changelog.md
- + testsuite/tests/partial-sigs/should_compile/T16728.hs
- + testsuite/tests/partial-sigs/should_compile/T16728.stderr
- + testsuite/tests/partial-sigs/should_compile/T16728a.hs
- + testsuite/tests/partial-sigs/should_compile/T16728a.stderr
- + testsuite/tests/partial-sigs/should_compile/T16728b.hs
- + testsuite/tests/partial-sigs/should_compile/T16728b.stderr
- testsuite/tests/partial-sigs/should_compile/all.T


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/4c5ad18bad897fe062ea4e6f209f510b7be38ad7...0e5cdf7787ecf42ed3b2f6ace117dd4ccfa42c27

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/4c5ad18bad897fe062ea4e6f209f510b7be38ad7...0e5cdf7787ecf42ed3b2f6ace117dd4ccfa42c27
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20190619/4daac073/attachment.html>


More information about the ghc-commits mailing list