Runtime error with RecordWildCards and a non-record constructor
The following program is accepted with no warning, and crashes at runtime with an error:
{-# LANGUAGE RecordWildCards #-}
newtype N = N Int deriving (Show)
main = print N{..}
% runghc wildcards.hs
wildcards.hs: wildcards.hs:4:14-18: Missing field in record construction
I find this behavior surprising. Would it be better to either disallow it or have -fwarn-missing-fields
warn it?
Trac metadata
Trac field | Value |
---|---|
Version | 7.8.3 |
Type | FeatureRequest |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |