summaryrefslogtreecommitdiff
path: root/compiler/codeGen/CodeGen/Platform.hs
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2019-06-05 08:55:17 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-06-19 22:15:39 -0400
commit48fb3482f8cbc8a4b37161021e846105f980eed4 (patch)
tree65f8bb13c4ed52a551ac851febd3eda6e34436de /compiler/codeGen/CodeGen/Platform.hs
parent3c9b57b07fa1d4a5fa69fb77ee8e49f7a0b6ada9 (diff)
downloadhaskell-48fb3482f8cbc8a4b37161021e846105f980eed4.tar.gz
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.
Diffstat (limited to 'compiler/codeGen/CodeGen/Platform.hs')
0 files changed, 0 insertions, 0 deletions