diff --git a/schala-lang/src/ast.rs b/schala-lang/src/ast.rs index b1e728a..e04d7fb 100644 --- a/schala-lang/src/ast.rs +++ b/schala-lang/src/ast.rs @@ -132,7 +132,8 @@ pub struct Guard { #[derive(Debug, PartialEq, Clone)] pub struct Pattern { - + pub free_vars: Vec>, + pub var: Variant, } #[derive(Debug, PartialEq, Clone)] diff --git a/schala-lang/src/parsing.rs b/schala-lang/src/parsing.rs index 429cc42..4972016 100644 --- a/schala-lang/src/parsing.rs +++ b/schala-lang/src/parsing.rs @@ -678,7 +678,10 @@ impl Parser { parse_method!(pattern(&mut self) -> ParseResult { let identifier = self.identifier()?; - Ok(Pattern { }) + Ok(Pattern { + free_vars: vec![], + var: Variant::UnitStruct(identifier) + }) }); parse_method!(block(&mut self) -> ParseResult {