Inline and Noinline pragmas ignored for instance functions
An example source file which triggers the incorrect behaviour follows. I am currently unclear whether the effected inline and noinline pragmas are actually ignored by the simplifier or whether the inline rule shadowing warning is fired incorrectly.
class A a where
(>>#) :: a -> a -> a
instance A (Maybe a) where
{-# NOINLINE (>>#) #-}
a >># b = undefined
{-# RULES
"example" forall (a :: Maybe Int) (b :: Maybe Int) . a >># b = Just 4
#-}
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 |