gc 0.5.1

Tracing garbage collector plugin for Rust.
Documentation
#![cfg(feature = "nightly")]
#![feature(arbitrary_self_types)]

use gc::{Finalize, Gc, Trace};

trait Foo: Trace {
    fn foo(self: Gc<Self>);
}

#[derive(Trace, Finalize)]
struct Bar;

impl Foo for Bar {
    fn foo(self: Gc<Bar>) {}
}

#[test]
fn gc_self_method() {
    let gc: Gc<dyn Foo> = Gc::new(Bar);
    gc.foo();
}