Ticket #1495 (closed merge: fixed)
newtype fixpoint sends the compiler into an infinite loop
| Reported by: | guest | Owned by: | igloo |
|---|---|---|---|
| Priority: | normal | Milestone: | 6.8.3 |
| Component: | Compiler | Version: | 6.6.1 |
| Keywords: | Cc: | ||
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | Difficulty: | Unknown | |
| Test Case: | T1495 | Blocked By: | |
| Blocking: | Related Tickets: |
Description
I was playing around with some edge cases in the type system and hit an infinite loop compiling the following program:
module CompilerBug where newtype Fix a = Fix (a (Fix a)) data ID a = ID a newtype I a = I a testOk :: Fix ID testOk = undefined -- this definition causes the compiler to fail to terminate testInfiniteLoop :: Fix I testInfiniteLoop = undefined
Change History
Note: See
TracTickets for help on using
tickets.
