int a;
float a;
int f( int );
float f( float );

void g() {
	// selects the same f each time but without a cast would be ambiguous
	f( (int)a );
	(int)f( a );
}

[ int ] p;
[ int, double ] p;
[ int, int, int ] p;
[ int, int, int, int ] p;

[ char ] q;
[ int, int ] q;
[ int, int, float ] q;
[ int, int, int, int ] q;

[ int, int ] r( int, int, int, int );

void s() {
	r( p, q );
	r( [ q, p ] );
	r( r( p, q ), r( q, q ) );
}

// Local Variables: //
// tab-width: 4 //
// End: //
