#[ doc( hidden ) ]
#[ macro_export ]
macro_rules! _implements
{
( $V: expr => $( $Traits: tt )+ ) =>
{{
use ::core ::marker ::PhantomData;
trait False
{
fn get( self: &'_ Self ) -> bool { false }
}
impl< T > False
for &'_ PhantomData< T >
where T: ?Sized,
{}
trait True
{
fn get( self: &'_ Self ) -> bool { true }
}
impl< T > True
for PhantomData< T >
where T: $( $Traits )+ + ?Sized,
{}
fn does< T: Sized >( _: &T ) -> PhantomData< T >
{
PhantomData
}
( &does( &$V ) ).get()
}};
}