Add missing check to isReflCoVar_maybe
authorSimon Peyton Jones <simonpj@microsoft.com>
Wed, 23 May 2018 12:19:33 +0000 (13:19 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Wed, 23 May 2018 13:44:40 +0000 (14:44 +0100)
commit86bba7d519fb6050f78b7e3bac2b3f54273fd70e
tree7134bc0c9ec89eef30bf1a5f6f08146eb36da503
parent49a832dd38bb87dc5f6c865e86a60319b44fdf5a
Add missing check to isReflCoVar_maybe

isReflCoVar_maybe is called, by CoreLint, on all sorts of
Vars (tyvars, term vars, coercion vars).  But it was silently
assuming that it was always called on a CoVar, and as a result
could crash fatally.  This is the immediate cause of the panic
in Trac #15163.

It's easy to fix.

NB: this does not completely fix Trac #15163; more to come
compiler/types/Coercion.hs
compiler/types/Coercion.hs-boot