Diffstat (limited to 'src/any/static_wrapper.rs')
| -rw-r--r-- | src/any/static_wrapper.rs | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/any/static_wrapper.rs b/src/any/static_wrapper.rs index cd687ce..ce26fdd 100644 --- a/src/any/static_wrapper.rs +++ b/src/any/static_wrapper.rs @@ -7,8 +7,8 @@ pub struct OwnedStatic<T: ?Sized>(pub T); nameable! { pub struct Name['a, 'lt, T]; - impl [T] for OwnedStatic<T> where { T: 'static } - impl [T] where OwnedStatic<T> { T: 'static } + impl [T] for OwnedStatic<T> where { T: ?Sized + 'static } + impl [T] where OwnedStatic<T> { T: ?Sized + 'static } } /// Impl of [`TypeNameable`] for `'static` types that are borrowed (`&'lt T`). @@ -16,8 +16,8 @@ pub struct BorrowedStatic<'lt, T: ?Sized>(pub &'lt T); nameable! { pub struct Name['a, 'lt, T]; - impl [T] for BorrowedStatic<'lt, T> where { T: 'static, 'lt: 'a } - impl [T] where BorrowedStatic<'lt, T> { T: 'static, 'lt: 'a } + impl [T] for BorrowedStatic<'lt, T> where { T: ?Sized + 'static, 'lt: 'a } + impl [T] where BorrowedStatic<'lt, T> { T: ?Sized + 'static, 'lt: 'a } } /// Impl of [`TypeNameable`] for `'static` types that are temporarily borrowed (`&'a T`). @@ -25,8 +25,8 @@ pub struct TempBorrowedStatic<'a, T: ?Sized>(pub &'a T); nameable! { pub struct Name['a, 'lt, T]; - impl [T] for TempBorrowedStatic<'a, T> where { T: 'static } - impl [T] where TempBorrowedStatic<'a, T> { T: 'static } + impl [T] for TempBorrowedStatic<'a, T> where { T: ?Sized + 'static } + impl [T] where TempBorrowedStatic<'a, T> { T: ?Sized + 'static } } /// Impl of [`TypeNameable`] for `'static` types that are borrowed mutably (`&'lt mut T`). @@ -34,8 +34,8 @@ pub struct BorrowedMutStatic<'lt, T: ?Sized>(pub &'lt mut T); nameable! { pub struct Name['a, 'lt, T]; - impl [T] for BorrowedMutStatic<'lt, T> where { T: 'static, 'lt: 'a } - impl [T] where BorrowedMutStatic<'lt, T> { T: 'static, 'lt: 'a } + impl [T] for BorrowedMutStatic<'lt, T> where { T: ?Sized + 'static, 'lt: 'a } + impl [T] where BorrowedMutStatic<'lt, T> { T: ?Sized + 'static, 'lt: 'a } } /// Impl of [`TypeNameable`] for `'static` types that are temporarily borrowed mutably (`&'a mut T`). @@ -43,8 +43,8 @@ pub struct TempBorrowedMutStatic<'a, T: ?Sized>(pub &'a mut T); nameable! { pub struct Name['a, 'lt, T]; - impl [T] for TempBorrowedMutStatic<'a, T> where { T: 'static } - impl [T] where TempBorrowedMutStatic<'a, T> { T: 'static } + impl [T] for TempBorrowedMutStatic<'a, T> where { T: ?Sized + 'static } + impl [T] where TempBorrowedMutStatic<'a, T> { T: ?Sized + 'static } } /// Impl of [`TypeNameable`] for `'static` types that are in a [`Box`] (`Box<T>`). @@ -54,7 +54,6 @@ pub struct BoxedStatic<T: ?Sized>(pub Box<T>); #[cfg(feature = "alloc")] nameable! { pub struct Name['a, 'lt, T]; - impl [T] for BoxedStatic<T> where { T: 'static } - impl [T] where BoxedStatic<T> { T: 'static } + impl [T] for BoxedStatic<T> where { T: ?Sized + 'static } + impl [T] where BoxedStatic<T> { T: ?Sized + 'static } } - |