// trait declaration trait has_q( otype T ) { T q( T ); }; forall( otype z | has_q( z ) ) void f() { trait has_r( otype T, otype U ) { T r( T, T (T,U) ); }; extern otype x, y | has_r( x, y ); } //Dummy main int main(int argc, char const *argv[]) { return 0; }