From 0ff631e7a43afa46be22f8221cc3149a7184a9ce Mon Sep 17 00:00:00 2001 From: tslil Date: Fri, 24 Apr 2026 14:05:05 +0100 Subject: refactor error to be clearer --- src/checker_set.rs | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'src/checker_set.rs') diff --git a/src/checker_set.rs b/src/checker_set.rs index a14ac9a..24327cf 100644 --- a/src/checker_set.rs +++ b/src/checker_set.rs @@ -45,7 +45,10 @@ impl CheckerState { fn _check_literal_set_helper(&self, claimed: &Set, should_be: Set) -> Result<(), CheckerError> { if !self.set_equal(claimed, &should_be) { - Err(CheckerError::WrongSetForElement(claimed.clone(), should_be)) + Err(CheckerError::WrongSetForElement { + claimed: claimed.clone(), + real: should_be, + }) } else { Ok(()) } @@ -80,10 +83,10 @@ impl CheckerState { // we have previously done the work to discover the type of // this element, so what we're claiming now must match! if !self.set_equal(set, &lookup.set) { - return Err(CheckerError::WrongSetForElement( - set.clone(), - lookup.set.clone(), - )); + return Err(CheckerError::WrongSetForElement { + claimed: set.clone(), + real: lookup.set.clone(), + }); } Ok(lookup.element.clone()) } @@ -149,10 +152,10 @@ impl CheckerState { // enforce the correct typing of the claimed result if !self.set_equal(set, field_set) { - return Err(CheckerError::WrongSetForElement( - set.clone(), - field_set.clone(), - )); + return Err(CheckerError::WrongSetForElement { + claimed: set.clone(), + real: field_set.clone(), + }); } // enforce the correct typing of the element @@ -185,10 +188,10 @@ impl CheckerState { // enforce the correct typing of the claimed result if !self.set_equal(set, owner_set) { - return Err(CheckerError::WrongSetForElement( - set.clone(), - owner_set.clone(), - )); + return Err(CheckerError::WrongSetForElement { + claimed: set.clone(), + real: owner_set.clone(), + }); } // enforce the correct typing of the element -- cgit v1.3.1