Clarify `Any` docs

The `Any` docs previously did not state that only `'static` types implement it.
This commit is contained in:
P1start 2014-06-12 19:54:03 +12:00 committed by Alex Crichton
parent 42d538e615
commit 00e1a69237
1 changed files with 6 additions and 4 deletions

View File

@ -8,10 +8,10 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
//! Traits for dynamic typing of any type (through runtime reflection)
//! Traits for dynamic typing of any `'static` type (through runtime reflection)
//!
//! This module implements the `Any` trait, which enables dynamic typing
//! of any type, through runtime reflection.
//! of any `'static` type through runtime reflection.
//!
//! `Any` itself can be used to get a `TypeId`, and has more features when used as a trait object.
//! As `&Any` (a borrowed trait object), it has the `is` and `as_ref` methods, to test if the
@ -32,8 +32,10 @@ pub enum Void { }
// Any trait
///////////////////////////////////////////////////////////////////////////////
/// The `Any` trait is implemented by all types, and can be used as a trait object
/// for dynamic typing
/// The `Any` trait is implemented by all `'static` types, and can be used for dynamic typing
///
/// Every type with no non-`'static` references implements `Any`, so `Any` can be used as a trait
/// object to emulate the effects dynamic typing.
pub trait Any {
/// Get the `TypeId` of `self`
fn get_type_id(&self) -> TypeId;