Skip to content

Pattern synonym signature fails with unlifted type

pattern P2# a b = (# a, b #)

works but adding a type signture makes it fail

-- tp0w.hs:130:25-34: error: …
--     • Expecting a lifted type, but ‘(# a, b #)’ is unlifted
--     • In the type ‘(# a, b #)’
-- Compilation failed.
pattern P2# :: a -> b -> (# a, b #)
pattern P2# a b = (# a, b #)

Same with these

pattern True :: Int#
pattern True = 1#

pattern False :: Int#
pattern False = 0#
Trac metadata
Trac field Value
Version 8.0.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information