GHC merge request !963 improved the behaviour of the pattern match checker in the presence of COMPLETE annotations. This allows the removal of the Fun pattern from the complete sets Con, App and Con', App in Data.Typeable.Internal, which I expect to be done in GHC 9.4 (so base 4.17).
As a result, we get a pattern match warning in Data.Binary.Class.putTypeRep, which this patch addresses.
To be clear, the pattern was already redundant, it's just that GHC didn't see it because of how the COMPLETE pragmas used to be set up; calling putTypeRep (Fun arg res) already went through through the App branch:
GHC merge request !963 improved the behaviour of the pattern match checker in the presence of COMPLETE annotations. This allows the removal of the
Fun
pattern from the complete setsCon, App
andCon', App
inData.Typeable.Internal
, which I expect to be done inGHC 9.4
(sobase 4.17
).As a result, we get a pattern match warning in
Data.Binary.Class.putTypeRep
, which this patch addresses.To be clear, the pattern was already redundant, it's just that GHC didn't see it because of how the
COMPLETE
pragmas used to be set up; callingputTypeRep (Fun arg res)
already went through through theApp
branch:Which indicates the
App
branch, and not theFun
branch (which uses the tag3
).