use std::fmt::Debug; use core::ops::Not; #[ allow( dead_code ) ] struct BoundsWhere< T, U > where T: ToString + Not< Output = T >, U: Debug + Not< Output = U >, { a : T, b : U, } impl< T, U > Not for BoundsWhere< T, U > where T : ToString + Not< Output = T >, U : Debug + Not< Output = U >, { type Output = Self; fn not( self ) -> Self::Output { Self { a : !self.a, b : !self.b } } } include!( "./only_test/bounds_where.rs" );