The following is extracted from libnative / libgreen implementation of std::rt::Runtime:
pub trait Runtime {
fn spawn_sibling(&self, f: proc():Send);
}
pub struct Foo;
impl Runtime for Foo {
fn spawn_sibling(&self, _f: proc()) {}
}
fn main() {}
The implementation misses the Send bound of one of its argument so it should not compile, but currently it does.