@@ -0,0 +1,28 @@
1+module Reporting.Warning.CheckMatch where
3+import qualified AST.Pattern as Pattern
4+import qualified AST.Literal as Literal
5+import qualified Data.Set as Set
6+import qualified AST.Variable as Var
11+ | Alias String (Pat var)
14+ | Literal Literal.Literal
15+ -- It's a shame that I had to replicate the entire pattern type, but it's
16+ -- essential to have this constructor.
17+ | AnythingBut (Set.Set Literal.Literal)
24+ = Redundant Pattern.CanonicalPattern
25+ -- The argument is the list of patterns that would have to
26+ -- be added for the case expression to be exhaustive.
27+ | Inexhaustive [CanonicalPat]