diff options
| author | Jonathan Reem <jonathan.reem@gmail.com> | 2014-09-08 21:05:32 -0700 |
|---|---|---|
| committer | Jonathan Reem <jonathan.reem@gmail.com> | 2014-09-30 18:40:07 -0700 |
| commit | 0cf60b6bb8fed2cad4407fdf86a49a7eebbd62e6 (patch) | |
| tree | ea8d20b6fd0209a001afbb19e87daec888b5c955 /src/libcore | |
| parent | 88d1a22f76a774b2df3c904ceb54c86e58a859c3 (diff) | |
| download | rust-0cf60b6bb8fed2cad4407fdf86a49a7eebbd62e6.tar.gz rust-0cf60b6bb8fed2cad4407fdf86a49a7eebbd62e6.zip | |
Bound Any with 'static
This bound is already implicit through the AnyPrivate trait, but since it is not explicit, you still have to write Box<Any + 'static>, even though Any can only be 'static. Introducing the 'static bound here makes this bound explicit, making Box<Any> legal.
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/any.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libcore/any.rs b/src/libcore/any.rs index fb70cb5b752..fd5007ff415 100644 --- a/src/libcore/any.rs +++ b/src/libcore/any.rs @@ -91,7 +91,7 @@ pub enum Void { } /// Every type with no non-`'static` references implements `Any`, so `Any` can /// be used as a trait object to emulate the effects dynamic typing. #[stable] -pub trait Any: AnyPrivate {} +pub trait Any: AnyPrivate + 'static {} /// An inner trait to ensure that only this module can call `get_type_id()`. pub trait AnyPrivate { @@ -132,7 +132,7 @@ pub trait AnyRefExt<'a> { } #[stable] -impl<'a> AnyRefExt<'a> for &'a Any+'a { +impl<'a> AnyRefExt<'a> for &'a Any { #[inline] #[stable] fn is<T: 'static>(self) -> bool { @@ -181,7 +181,7 @@ pub trait AnyMutRefExt<'a> { } #[stable] -impl<'a> AnyMutRefExt<'a> for &'a mut Any+'a { +impl<'a> AnyMutRefExt<'a> for &'a mut Any { #[inline] #[unstable = "naming conventions around acquiring references may change"] fn downcast_mut<T: 'static>(self) -> Option<&'a mut T> { |
