check that an enum case head has the right type
haha oops
This commit is contained in:
parent
9250789219
commit
78e48911d0
2 changed files with 8 additions and 0 deletions
|
@ -20,6 +20,7 @@ data Error q
|
|||
| ExpectedNat (TyContext q d n) (Term q d n)
|
||||
| BadUniverse Universe Universe
|
||||
| TagNotIn TagVal (SortedSet TagVal)
|
||||
| BadCaseEnum (SortedSet TagVal) (SortedSet TagVal)
|
||||
| BadCaseQtys (TyContext q d n) (List (QOutput q n, Term q d n, Term q d n))
|
||||
|
||||
-- first term arg of ClashT is the type
|
||||
|
@ -218,6 +219,10 @@ parameters {auto _ : (Eq q, IsQty q, PrettyHL q)} (unicode : Bool)
|
|||
sep [sep ["tag", prettyTag tag, "is not contained in"],
|
||||
termt empty (Enum set)]
|
||||
|
||||
BadCaseEnum type arms =>
|
||||
sep ["case expression has head of type", termt empty (Enum type),
|
||||
"but cases for", termt empty (Enum arms)]
|
||||
|
||||
BadCaseQtys ctx arms =>
|
||||
hang 4 $ sep $
|
||||
"inconsistent variable usage in case arms" ::
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue