From 8ae8a4d66f2ba2f2df13a759c4445cc799237d7a Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 14 Nov 2024 20:41:50 +0000 Subject: [PATCH] better --- src/lib.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index c651a81..444317a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -31,8 +31,8 @@ pub unsafe trait IsRefToken<'a>: Sized { pub unsafe trait IsMutToken<'a>: IsRefToken<'a> + Sized { /// Obtain a new ZST token from something that might be a real object. #[inline] - fn mut_token<'r, 's>(mut self) -> MutToken<'r> - where 's: 'r, 'a: 'r, + fn mut_token<'r>(mut self) -> MutToken<'r> + where 'a: 'r, { MutToken(PhantomData) } @@ -451,6 +451,7 @@ mod tests { #[test] fn demo() { use list::{List, HeadAndTail}; + use HeadAndTail as H; let s = |s: &str| format!("{s}"); @@ -460,10 +461,13 @@ mod tests { drop(l); let mut l = List::new(); l.check_consistency(); - assert_eq!(l.head_and_tail_mut(), HeadAndTail::None); + assert_eq!(l.head_and_tail_mut(), H::None); l.append(s("hi")); l.check_consistency(); + assert_eq!(l.head_and_tail_mut(), H::One(&mut s("hi"))); + l.append(s("ho")); l.check_consistency(); + assert_eq!(l.head_and_tail_mut(), H::Both(&mut s("hi"), &mut s("ho"))); write!(l.front_mut().unwrap(), "!").unwrap(); assert_eq!(l.pop_front(), Some(s("hi!"))); l.check_consistency(); -- 2.30.2