query_interface 0.1.0

Dynamically query a type-erased object for any trait implementation
Documentation

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);
}