about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorJonathan Reem <jonathan.reem@gmail.com>2014-09-08 21:05:32 -0700
committerJonathan Reem <jonathan.reem@gmail.com>2014-09-30 18:40:07 -0700
commit0cf60b6bb8fed2cad4407fdf86a49a7eebbd62e6 (patch)
treeea8d20b6fd0209a001afbb19e87daec888b5c955 /src/libcore
parent88d1a22f76a774b2df3c904ceb54c86e58a859c3 (diff)
downloadrust-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.rs6
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> {