Warning for incomplete record field label used as function
Consider the following definition:
data Foo = Bar { frob :: Int }
| Baz { frob :: Int, quux :: Bool }
It would be great if GHC could produce a warning if I use quux as a function somewhere in my code, as calling quux on a Foo constructed with Bar will cause a runtime error. On the other hand, every use of frob is OK.
Currently, to find such problems, I have to first figure out which field labels are incomplete and then search for those, ignoring their uses as a proper field label (in construction or pattern matching).
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.7 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |