|
See Note [Unbound template type variables] in Rules.hs
This fixes Trac #10689.
The problem was a rule LHS that mentioned a type variable
in a phantom argument to a type synonym. Then matching the
LHS didn't bind the type variable, and the rule matcher
complained.
This patch fixes the problem, as described by the Note.
I also went back to not-cloning the template varaibles during
rule matching. I'm convinced that it's not necessary now
(if it ever was), and cloning makes the fix for #10689 much more
fiddly.
|