summaryrefslogtreecommitdiff
path: root/rts/Schedule.h
diff options
context:
space:
mode:
authorsimonpj@microsoft.com <unknown>2009-12-11 12:01:22 +0000
committersimonpj@microsoft.com <unknown>2009-12-11 12:01:22 +0000
commitdcba7784a1af5fd0c054031c49fe159d69af4f86 (patch)
tree602a9bbc98221971dafaa4511f13d8e1846d8cb8 /rts/Schedule.h
parentab222dbdbf95e9a6a63dc4f8ed8cb7fc7784a991 (diff)
downloadhaskell-dcba7784a1af5fd0c054031c49fe159d69af4f86.tar.gz
Fix two related bugs in u_tys
When we normalise a type family application we must recursively call uTys, *not* 'go', because the latter loop is only there to look through type synonyms. This bug made the type checker generate ill-typed coercions, which were rejected by Core Lint. A related bug only affects the size of coercions. If faced with (m a) ~ (F b c) where F has arity 1, we want to decompose to m ~ F Int, a ~ c rather than deferring. The application decomposition was being tried last, so we were missing this opportunity. Thanks to Roman for an example that showed all this up.
Diffstat (limited to 'rts/Schedule.h')
0 files changed, 0 insertions, 0 deletions