diff options
| author | tslil <tslil@posteo.de> | 2026-04-28 13:00:17 +0100 |
|---|---|---|
| committer | tslil <tslil@posteo.de> | 2026-04-28 14:16:10 +0100 |
| commit | a237c97e0c2c019edcfdfa17371059cd9ce975d9 (patch) | |
| tree | ff2181edd8a5d3ba2fa5d74119c4c3c517b97c16 /src/checker.rs | |
| parent | ef3d7a3ce2d6686d37f1b2446d5de31b29f5cd00 (diff) | |
rework checking logic to revolve around "stuck" computations, the meaning of Hypothetical is now reserved for formal bindings
Diffstat (limited to 'src/checker.rs')
| -rw-r--r-- | src/checker.rs | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/checker.rs b/src/checker.rs index 05ebca2..976b9fb 100644 --- a/src/checker.rs +++ b/src/checker.rs @@ -1,5 +1,5 @@ use crate::ast::*; -use crate::checker_state::{CheckerError, CheckerState, ElementValue}; +use crate::checker_state::{CheckerError, CheckerState}; use tracing::{debug, instrument}; @@ -26,12 +26,7 @@ impl CheckerState { Decl::Element { name, element, set } => { let set = self.check_set(set.clone())?; let element = self.check_element(element.clone().into(), &set)?; - if matches!(element, ElementValue::Hypothetical(_)) { - panic!( - "invariant violation: from concrete values at the top level we returned a hypothetical value" - ); - } - self.add_element(name.clone(), element, set) + self.add_element(name.clone(), element.into(), set) } Decl::Signature { name, signature } => { let signature = self.check_signature(signature.clone())?; |
