Fix missing unboxed tuple RuntimeReps (#16565)
authorKrzysztof Gogolewski <krzysztof.gogolewski@tweag.io>
Sun, 5 May 2019 18:37:31 +0000 (20:37 +0200)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Wed, 29 May 2019 14:39:43 +0000 (10:39 -0400)
commit69b1633104a43d5654e65f2c05fa6b73775936e2
tree42db5ac2468dc1b19f13616a397c45385258e5dc
parentf9d61ebbf4bba7862ae53c69b0f7116423b8f6d1
Fix missing unboxed tuple RuntimeReps (#16565)

Unboxed tuples and sums take extra RuntimeRep arguments,
which must be manually passed in a few places.
This was not done in deSugar/Check.

This error was hidden because zipping functions in TyCoRep
ignored lists with mismatching length. This is now fixed;
the lengths are now checked by calling zipEqual.

As suggested in #16565, I moved checking for isTyVar and
isCoVar to zipTyEnv and zipCoEnv.
compiler/deSugar/Check.hs
compiler/types/TyCoRep.hs
compiler/types/TyCon.hs
compiler/utils/Util.hs