Ticket #2146 (closed bug: fixed)
Decomposition rule for equalities is too weak in case of higher-kinded type families
| Reported by: | chak | Owned by: | chak |
|---|---|---|---|
| Priority: | normal | Milestone: | 6.10 branch |
| Component: | Compiler (Type checker) | Version: | 6.9 |
| Keywords: | Cc: | ||
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | Difficulty: | Unknown | |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: |
Description
foo :: (F Int a ~ F Int [a]) => a -> [a] foo = undefined
gives us
Occurs check: cannot construct the infinite type: a = [a]
but
foo :: (F Int a ~ F Bool [a]) => a -> [a] foo = undefined
doesn't - although both should lead to the same error.
Change History
Note: See
TracTickets for help on using
tickets.
