Add now-necessary lifetime bounds.

This commit is contained in:
Chris Morgan 2014-09-15 13:32:57 -07:00
parent 7dc36adf24
commit ad7ea81ba6

View file

@ -53,7 +53,7 @@ trait UncheckedAnyRefExt<'a> {
unsafe fn as_ref_unchecked<T: 'static>(self) -> &'a T; unsafe fn as_ref_unchecked<T: 'static>(self) -> &'a T;
} }
impl<'a> UncheckedAnyRefExt<'a> for &'a Any { impl<'a> UncheckedAnyRefExt<'a> for &'a Any + 'a {
#[inline] #[inline]
unsafe fn as_ref_unchecked<T: 'static>(self) -> &'a T { unsafe fn as_ref_unchecked<T: 'static>(self) -> &'a T {
// Get the raw representation of the trait object // Get the raw representation of the trait object
@ -71,7 +71,7 @@ trait UncheckedAnyMutRefExt<'a> {
unsafe fn as_mut_unchecked<T: 'static>(self) -> &'a mut T; unsafe fn as_mut_unchecked<T: 'static>(self) -> &'a mut T;
} }
impl<'a> UncheckedAnyMutRefExt<'a> for &'a mut Any { impl<'a> UncheckedAnyMutRefExt<'a> for &'a mut Any + 'a {
#[inline] #[inline]
unsafe fn as_mut_unchecked<T: 'static>(self) -> &'a mut T { unsafe fn as_mut_unchecked<T: 'static>(self) -> &'a mut T {
// Get the raw representation of the trait object // Get the raw representation of the trait object
@ -108,7 +108,7 @@ impl<'a> UncheckedAnyMutRefExt<'a> for &'a mut Any {
/// ///
/// Values containing non-static references are not permitted. /// Values containing non-static references are not permitted.
pub struct AnyMap { pub struct AnyMap {
data: HashMap<TypeId, Box<Any>, TypeIdHasher>, data: HashMap<TypeId, Box<Any + 'static>, TypeIdHasher>,
} }
impl AnyMap { impl AnyMap {