From 77e215d06ac471dbbdbca3aaa2940f0c77580ac8 Mon Sep 17 00:00:00 2001 From: tslil Date: Thu, 7 May 2026 19:25:08 +0100 Subject: regression in WiP work to improve sets --- src/checker_state.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/checker_state.rs') diff --git a/src/checker_state.rs b/src/checker_state.rs index 42f5089..c12a2d7 100644 --- a/src/checker_state.rs +++ b/src/checker_state.rs @@ -246,8 +246,9 @@ impl CheckerState { name: &String, field_set: &Set, owner_set: &Set, + rebind: bool, ) -> Result<(), CheckerError> { - if let Some(set_ref) = self.record_fields.get(name) { + if !rebind && let Some(set_ref) = self.record_fields.get(name) { self.assert_correct_owner(name, set_ref, owner_set)?; }; self.record_fields.insert( @@ -281,7 +282,7 @@ impl CheckerState { } #[instrument(skip(self), level = "debug", fields(%name, %set))] - pub fn add_set(&mut self, name: String, set: Set) -> Result<(), CheckerError> { + pub fn add_set(&mut self, name: String, set: Set, rebind: bool) -> Result<(), CheckerError> { match &set { Set::Record(fields) => { for Field { @@ -289,7 +290,7 @@ impl CheckerState { carries: field_set, } in fields { - self.add_record_field(rfn, field_set, &set)?; + self.add_record_field(rfn, field_set, &set, rebind)?; } } Set::Variant(fields) => { -- cgit v1.3.1