Several uses of addUsedGREs that should probably have declaration warnings emitted
Record wild cards
In the following example
module A where
{-# WARNING x "warn" #-}
newtype X = X { x :: Int }
----
{-# LANGUAGE RecordWildCards #-}
module B where
import A
y :: X -> Int
y X {..} = x
x is not warned about in the definition of function y, even though it would be warned about in this case
y X {x = x} = x
Edited by sheaf