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 has-srclink"]//h3[@class="code-header"]' \ // "impl !Send for IntoIter" // @has - '//*[@id="synthetic-implementations-list"]//*[@class="impl has-srclink"]//h3[@class="code-header"]' \ // "impl !Sync for IntoIter" pub struct IntoIter{ hello:DynTrait>, }