From b2e0b497ab564bdfdd8906775dbdddfb07e98929 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 15 Nov 2024 10:30:51 +0000 Subject: [PATCH] avoid blanket impl --- src/lib.rs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 9e70b57..4910df5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -265,19 +265,19 @@ unsafe impl<'a> IsTokenMut<'a> for &'a mut NoAliasSingleton {} unsafe impl<'a> IsTokenRef<'a> for TokenRef<'a> {} unsafe impl<'a> IsTokenRef<'a> for TokenMut<'a> {} unsafe impl<'a> IsTokenMut<'a> for TokenMut<'a> {} -unsafe impl<'a, A: IsTokenRef<'a>> IsTokenRef<'a> for &'a A {} -unsafe impl<'r, 'a, 'aa, A> IsTokenRef<'r> for &'aa mut A -where A: IsTokenMut<'a>, 'a: 'r, 'aa: 'r {} - -unsafe impl<'r, 'a, 'aa, A> IsTokenMut<'r> for &'aa mut A -where A: IsTokenMut<'a>, 'a: 'r, 'aa: 'r {} - -impl Sealed for TokenRef<'_> {} -impl Sealed for TokenMut<'_> {} -impl Sealed for NoAliasSingleton {} -impl Sealed for & T {} -impl Sealed for &mut T {} +unsafe impl<'o, 'i: 'o, 'j: 'o> IsTokenRef<'o> for &'i TokenRef<'j> {} +unsafe impl<'o, 'i: 'o, 'j: 'o> IsTokenRef<'o> for &'i TokenMut<'j> {} +unsafe impl<'o, 'i: 'o, 'j: 'o> IsTokenRef<'o> for &'i mut TokenMut<'j> {} +unsafe impl<'o, 'i: 'o, 'j: 'o> IsTokenMut<'o> for &'i mut TokenMut<'j> {} + +impl Sealed for & NoAliasSingleton {} +impl Sealed for &mut NoAliasSingleton {} +impl Sealed for TokenRef<'_> {} +impl Sealed for TokenMut<'_> {} +impl Sealed for & TokenRef<'_> {} +impl Sealed for & TokenMut<'_> {} +impl Sealed for &mut TokenMut<'_> {} //---------- principal API for borrowing etc. ---------- -- 2.30.2