From a8a4c5b567ea6a58809dc8232ea5f1d3c93879b9 Mon Sep 17 00:00:00 2001 From: Joel Kronqvist Date: Tue, 12 Aug 2025 20:00:56 +0300 Subject: feat: type checking for case expressions --- src/type/mod.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/type/mod.rs') diff --git a/src/type/mod.rs b/src/type/mod.rs index 34506d0..e979595 100644 --- a/src/type/mod.rs +++ b/src/type/mod.rs @@ -71,8 +71,14 @@ pub enum TypeError { FunAsAtom, + CaseAsAtom, + + RestAsAtom, + InvalidFunDef(SExp, FunDefError), + NoWildcardInCase(SExp), + OtherError } @@ -93,6 +99,8 @@ pub enum FunDefError { #[derive(Debug,PartialEq)] pub enum PatFail { RepeatedVariable(String, SExp), + NoArm(SExp), + RestNotAtEnd(SExp), TypeMismatch { pattern: SExp, expected: Type, -- cgit v1.2.3