module ShouldFail where

data Bar = Bar { flag :: Bool } deriving( Show )

data State = State { bar :: Bar, baz :: Float }

display :: State -> IO ()
display (State{ bar = Bar { flag = f, baz = b }}) = print (f,b)

-- Typo! The line above should better be:
-- display (State{ bar = Bar { flag = f }, baz = b }) = print (f,b)

-- GHC 4.04 (as released) crashed with
--      panic! (the `impossible' happened): tcLookupValue: b{-r4n-}
-- Bug reported by Sven Panne

