diff --git a/ghc/tests/typecheck/should_fail/tcfail083.hs b/ghc/tests/typecheck/should_fail/tcfail083.hs new file mode 100644 index 0000000000000000000000000000000000000000..a79be4e7ac97e10503f64af9c474908319b5054c --- /dev/null +++ b/ghc/tests/typecheck/should_fail/tcfail083.hs @@ -0,0 +1,16 @@ +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 + diff --git a/ghc/tests/typecheck/should_fail/tcfail083.stderr b/ghc/tests/typecheck/should_fail/tcfail083.stderr new file mode 100644 index 0000000000000000000000000000000000000000..fc7776bcb0a6e440713862344b9944d265cc65c1 --- /dev/null +++ b/ghc/tests/typecheck/should_fail/tcfail083.stderr @@ -0,0 +1,10 @@ + +tcfail083.hs:8: + Constructor `Bar' does not have field `baz' + In the pattern: Bar {flag = f, baz = b} + In the pattern: State {bar = Bar {flag = f, baz = b}} + In an equation for function `display': + display (State {bar = Bar {flag = f, baz = b}}) = print (f, b) + +Compilation had errors +