You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
foo::Vec2Bool->Bool
foo xs = x && y
where
x :> y :> _ = xs
Starting with GHC 9.2 this produces warnings with -Wall enabled:
Blaat.hs:6:4: warning: [-Wincomplete-uni-patterns]
Pattern match(es) are non-exhaustive
In a pattern binding:
Patterns of type ‘Vec 2 Bool’ not matched:
Cons _ _
:> _ (Cons _ _)
|
6 | x :> y :> _ = xs
| ^^^^^^^^^^^^^^^^
I'm inclined to say it's okay to backport, but I have this nagging feeling that since we ran into issues with Vec, its constructors and patterns before, that we might be overlooking some intricate aspect somewhere.
In my mind the combination of reverting the addition of vecToTuple and the addition of the COMPLETE pragma went together, to keep the 1.8 functionally on par with its current state.
Not backporting the COMPLETE pragma would keep it on par with the current released 1.8 version.
Starting with GHC 9.2 this produces warnings with
-Wall
enabled:To workaround that we added vecToTuple in #2682:
But I just discovered that since the addition of the COMPLETE pragma in #2716 the original code now compiles warning free.
And while vecToTuple was backported to the 1.8 branch, it hasn't made it into a released version yet.
I think we should revert the introduction of vecToTuple. (and backport #2716 to 1.8)
The text was updated successfully, but these errors were encountered: