[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 8 commits: Properly trim IdInfos of DFunIds and PatSyns in TidyPgm

Marge Bot gitlab at gitlab.haskell.org
Wed Jun 19 11:05:37 UTC 2019



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


Commits:
e018a9cf by Ömer Sinan Ağacan at 2019-06-19T11:05:32Z
Properly trim IdInfos of DFunIds and PatSyns in TidyPgm

Not doing this right caused #16608. We now properly trim IdInfos of
DFunIds and PatSyns.

Some further refactoring done by SPJ.

Two regression tests T16608_1 and T16608_2 added.

Fixes #16608

- - - - -
547f6083 by Oleg Grenrus at 2019-06-19T11:05:33Z
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.

- - - - -
e6a425f7 by Oleg Grenrus at 2019-06-19T11:05:33Z
Add -Wmissing-safe-haskell-mode warning

- - - - -
75c6313d by Simon Peyton Jones at 2019-06-19T11:05:33Z
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!

- - - - -
d03f6f6c by Simon Peyton Jones at 2019-06-19T11:05:33Z
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.

- - - - -
c8963e6f by Simon Peyton Jones at 2019-06-19T11:05:33Z
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.

- - - - -
19cbfa7a by Ben Gamari at 2019-06-19T11:05:34Z
users-guide: Fix a variety of broken links and syntax

- - - - -
8f434d49 by Ben Gamari at 2019-06-19T11:05:34Z
users-guide: Update -Wsafe description for #16689

We no longer emit a warning when a safe module is explicitly declared as
such.

- - - - -


30 changed files:

- compiler/basicTypes/PatSyn.hs
- compiler/coreSyn/CoreTidy.hs
- compiler/main/DynFlags.hs
- compiler/main/HscMain.hs
- compiler/main/HscTypes.hs
- compiler/main/TidyPgm.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/InstEnv.hs
- compiler/types/Type.hs
- docs/users_guide/bugs.rst
- docs/users_guide/codegens.rst
- docs/users_guide/extending_ghc.rst
- docs/users_guide/glasgow_exts.rst
- docs/users_guide/safe_haskell.rst
- + testsuite/tests/driver/T16608/Makefile
- + testsuite/tests/driver/T16608/MyInteger.hs
- + testsuite/tests/driver/T16608/T16608_1.hs
- + testsuite/tests/driver/T16608/T16608_1.stdout
- + testsuite/tests/driver/T16608/T16608_2.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/0e5cdf7787ecf42ed3b2f6ace117dd4ccfa42c27...8f434d4935cfb36247d3797eb778c465b211f58a

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/0e5cdf7787ecf42ed3b2f6ace117dd4ccfa42c27...8f434d4935cfb36247d3797eb778c465b211f58a
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/c15574d4/attachment.html>


More information about the ghc-commits mailing list