diff options
| author | tslil <tslil@posteo.de> | 2026-04-27 14:17:53 +0100 |
|---|---|---|
| committer | tslil <tslil@posteo.de> | 2026-04-27 15:07:51 +0100 |
| commit | 250078ef4955f46e93882b9383e3443d50f8d61b (patch) | |
| tree | a480efd0c7c780efa51ecfa5001df1d4f5654c48 /src/checker.rs | |
| parent | 47bb6052919a4266cf47f47c6e6d387baf6e39b0 (diff) | |
refactor equality checking and fields as we start to build towards signatures
Diffstat (limited to 'src/checker.rs')
| -rw-r--r-- | src/checker.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/checker.rs b/src/checker.rs index 1760c0e..05ebca2 100644 --- a/src/checker.rs +++ b/src/checker.rs @@ -19,12 +19,12 @@ impl CheckerState { debug!(%self, %decl); match decl { Decl::Set { name, set } => { - let set = self.check_set(set)?; + let set = self.check_set(set.clone())?; self.add_set(name, set) } Decl::Element { name, element, set } => { - let set = self.check_set(set)?; + let set = self.check_set(set.clone())?; let element = self.check_element(element.clone().into(), &set)?; if matches!(element, ElementValue::Hypothetical(_)) { panic!( @@ -33,8 +33,9 @@ impl CheckerState { } self.add_element(name.clone(), element, set) } - Decl::Signature { .. } => { - return Err(CheckerError::Unimplemented("signatures".to_string())); + Decl::Signature { name, signature } => { + let signature = self.check_signature(signature.clone())?; + self.add_signature(name, signature) } Decl::Instance { .. } => { return Err(CheckerError::Unimplemented("instances".to_string())); |
