From 9b598974c52ec87cdd1f6795f6e22355b4281543 Mon Sep 17 00:00:00 2001 From: Calum Sieppert Date: Sat, 31 Jan 2026 14:15:41 -0700 Subject: [PATCH 1/3] test: Add test for BoxPredicate::find_case --- src/boxed.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/boxed.rs b/src/boxed.rs index 2b96e0c..46a7f97 100644 --- a/src/boxed.rs +++ b/src/boxed.rs @@ -125,4 +125,18 @@ mod test { let p = predicate::always().boxed(); p.eval("4"); } + + #[test] + fn boxed_find_case() { + let p1 = predicate::gt(5); + let p2 = p1.boxed(); + match (p1.find_case(false, &4), p2.find_case(false, &4)) { + (Some(c1), Some(c2)) => { + assert_ne!(format!("{c1:?}"), format!("{c2:?}")); + } + _ => { + panic!(); + } + } + } } From a03ae990542ae4d28d75173af70d1661d682d93e Mon Sep 17 00:00:00 2001 From: Calum Sieppert Date: Sat, 31 Jan 2026 14:06:16 -0700 Subject: [PATCH 2/3] feat: Make BoxPredicate::find_case use the inner find_case --- src/boxed.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/boxed.rs b/src/boxed.rs index 46a7f97..2e473d9 100644 --- a/src/boxed.rs +++ b/src/boxed.rs @@ -12,7 +12,6 @@ use std::fmt; use crate::reflection; -use crate::utils; use crate::Predicate; /// `Predicate` that wraps another `Predicate` as a trait object, allowing @@ -73,7 +72,7 @@ where } fn find_case<'a>(&'a self, expected: bool, variable: &Item) -> Option> { - utils::default_find_case(self, expected, variable) + self.0.find_case(expected, variable) } } @@ -132,7 +131,7 @@ mod test { let p2 = p1.boxed(); match (p1.find_case(false, &4), p2.find_case(false, &4)) { (Some(c1), Some(c2)) => { - assert_ne!(format!("{c1:?}"), format!("{c2:?}")); + assert_eq!(format!("{c1:?}"), format!("{c2:?}")); } _ => { panic!(); From 34d11de8623cb292fba55351a43172710344f072 Mon Sep 17 00:00:00 2001 From: Calum Sieppert Date: Sat, 31 Jan 2026 14:20:45 -0700 Subject: [PATCH 3/3] docs: Update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 000f1e3..9919e4d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/). ## [Unreleased] - ReleaseDate +- Make `BoxPredicate::find_case` use the inner `find_case` implementation + ## [3.1.3] - 2024-12-19 ### Features