
#13517: No warnings produced, yet the pattern matching fails at runtime. -------------------------------------+------------------------------------- Reporter: | Owner: (none) timotej.tomandl | Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Keywords: | Operating System: Unknown/Multiple PatternMatchWarnings | Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- The code below should produce a warning about a non-exhaustive pattern in the failure, yet it compiles alright. {{{ #!div style="font-size: 80%" {{{#!haskell {-# OPTIONS_GHC -Wall -Werror #-} action :: (Monad m)=>t->m (Maybe a) action _=return Nothing failure :: (Monad m)=>Int->(m Int) failure x=do Just y<-action x return y main :: IO() main=do y<-failure 1 putStrLn $ (show y) }}} }}} The same should be the case if we replace the definition of failure with {{{ #!div style="font-size: 80%" {{{#!haskell failure :: (Monad m)=>Int->(m Int) failure x=(action x)>>=(\(Just y)->return y) }}} }}} yet once again no warnings are produced. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13517 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler