on master help sign in
Fix #1077 where complete cases on booleans were handled wrong
1120001Evan Czaplicki
src/Nitpick/Pattern.hs+6
@@ -38,6 +38,12 @@ fromCanonicalPattern (A.A _ pattern) =
38 P.Anything ->
38 P.Anything ->
39 Anything
39 Anything
40
40
41+ P.Literal (L.Boolean True) ->
42+ Data (Var.builtin "True") []
43+
44+ P.Literal (L.Boolean False) ->
45+ Data (Var.builtin "False") []
46+
41 P.Literal literal ->
47 P.Literal literal ->
42 Literal literal
48 Literal literal
43
49
src/Nitpick/PatternMatches.hs+7
@@ -60,11 +60,18 @@ toTagDict interfaces localName localAdts =
60 , TagInfo "[]" 0
60 , TagInfo "[]" 0
61 ]
61 ]
62
62
63+ boolTags =
64+ [ TagInfo "True" 0
65+ , TagInfo "False" 0
66+ ]
67+
63 builtinDict =
68 builtinDict =
64 Map.singleton Var.BuiltIn $
69 Map.singleton Var.BuiltIn $
65 Map.fromList
70 Map.fromList
66 [ ("::", listTags)
71 [ ("::", listTags)
67 , ("[]", listTags)
72 , ("[]", listTags)
73+ , ("True", boolTags)
74+ , ("False", boolTags)
68 ]
75 ]
69
76
70 interfaceDict =
77 interfaceDict =