use std::marker::PhantomData; pub struct True; pub struct False; pub trait InterfaceType{ type Send; } pub struct FooInterface(PhantomDataT>); impl InterfaceType for FooInterface { type Send=False; } pub struct DynTrait{ _interface:PhantomDataI>, _unsync_unsend:PhantomData<::std::rc::Rc<()>>, } unsafe impl Send for DynTrait where I:InterfaceType {} // @has issue_60726/struct.IntoIter.html // @has - '//*[@id="synthetic-implementations-list"]/*[@class="impl"]//code' "impl !Send for \ // IntoIter" // @has - '//*[@id="synthetic-implementations-list"]/*[@class="impl"]//code' "impl !Sync for \ // IntoIter" pub struct IntoIter{ hello:DynTrait>, }