
#15828: Type family equation foralls allow strange re-quantification of class-bound type variables -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.8.1 Component: Compiler | Version: 8.7 Resolution: | Keywords: TypeFamilies Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | rename/should_fail/T15828 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5283 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj):
Fix a bug in commit 12eeb9 which permits the following:
What is 12eeb9? {{{ $ git show 12eeb9 fatal: ambiguous argument '12eeb9': unknown revision or path not in the working tree. }}} (In an up to date tree.)
hy did this fail? It's extremely hard to tell, but it's because the two a variables aren't the same!
Quite true. So what would we ''like'' to show here? Once we decide that we can think how to achieve it. (It is perhaps fortunate that there is a dedicated pretty-printer for this particular error.) I'm quite keen on using "_" for the bits that don't matter, but if needs must, instead of printing `(F t1 t2 t3)` with one call, we can make separate calls for `t1`, `t2`, `t3` etc, and that would eliminate the need to fake-up a tyvar "_" which you'll see in the code. Would love to have your help if here if you are willing. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15828#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler