Crate query_interface [] [src]

query-interface - dynamically query a type-erased object for any trait implementation

#[macro_use]
extern crate query_interface;
use query_interface::{Object, ObjectExt, ObjectClone};
use std::fmt::Debug;

#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Debug)]
struct Foo;

interfaces!(Foo: ObjectClone, Debug);

fn main() {
    let obj = Box::new(Foo) as Box<Object>;
    let obj2 = obj.clone();
    println!("{:?}", obj2);
}

Macros

interfaces
vtable_for

Structs

TraitObject
VTable

Traits

Object
ObjectClone
ObjectEq
ObjectExt
ObjectHash
ObjectPartialEq
ObjectPartialOrd