[GHC] #9975: RecordWildcards and PatternSynonyms cause impossible bug (was: RecordWildCards and PatternSynonyms cause impossible bug)
GHC
ghc-devs at haskell.org
Sun Jan 11 21:08:19 UTC 2015
#9975: RecordWildcards and PatternSynonyms cause impossible bug
-------------------------------------+-------------------------------------
Reporter: gamegoblin | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.10.1-rc1
Resolution: | Keywords:
Operating System: MacOS X | RecordWildcards PatternSynonyms
Type of failure: Compile-time | Architecture: x86_64
crash | (amd64)
Blocked By: | Test Case:
Related Tickets: | Blocking:
| Differential Revisions:
-------------------------------------+-------------------------------------
Changes (by gamegoblin):
* keywords: RecordWildCards PatternSynonyms => RecordWildcards
PatternSynonyms
Old description:
> When using RecordWildCards with PatternSynonyms, I have found a way to
> cause this bug:
>
> $ /usr/local/bin/ghc-7.10.0.20141222 test.hs
> [1 of 1] Compiling Main ( test.hs, test.o )
> ghc: panic! (the 'impossible' happened)
> (GHC version 7.10.0.20141222 for x86_64-apple-darwin):
> find_tycon
> Test
> [Test defined at test.hs:6:9,
> Test parent:Test defined at test.hs:4:13]
>
> Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
>
> Here is the full code that causes it:
>
> {{{#!hs
> {-# LANGUAGE RecordWildCards #-}
> {-# LANGUAGE PatternSynonyms #-}
> data Test = Test { x :: Int }
> pattern Test wat = Test { x = wat }
> }}}
>
> If you remove RecordWildCards, the bug does not happen.
New description:
When using RecordWildcards with PatternSynonyms, I have found a way to
cause this bug:
$ /usr/local/bin/ghc-7.10.0.20141222 test.hs
[1 of 1] Compiling Main ( test.hs, test.o )
ghc: panic! (the 'impossible' happened)
(GHC version 7.10.0.20141222 for x86_64-apple-darwin):
find_tycon
Test
[Test defined at test.hs:6:9,
Test parent:Test defined at test.hs:4:13]
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Here is the full code that causes it:
{{{#!hs
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE PatternSynonyms #-}
data Test = Test { x :: Int }
pattern Test wat = Test { x = wat }
}}}
If you remove RecordWildCards, the bug does not happen.
--
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9975#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list