metatype
Helper methods to determine whether a type is TraitObject
, Slice
or Concrete
, and work with them respectively.
Examples
assert_eq!;
assert_eq!;
assert_eq!;
let a: = Box new;
assert_eq!;
let a: = a;
assert_eq!;
let a = ;
assert_eq!;
let a: & = &a;
assert_eq!;
let a: = Box new;
// https://github.com/rust-lang/rust/issues/50318
// let meta: TraitObject = (&*a).meta();
// println!("vtable: {:?}", meta.vtable);
Note
This currently requires Rust nightly for the raw
and specialization
features.
License
Licensed under Apache License, Version 2.0, (LICENSE.txt or http://www.apache.org/licenses/LICENSE-2.0).
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.