3 echo "multiple argument\n";
6 public static function f<reify Ta, Tb, reify Tc>($x, $y, $z) {
11 C::f<int, string, bool>(1,2,3); // print
12 C::f<int, string, bool>(1,2,3); // nope
13 C::f<string, string, bool>(1,2,3); // print
14 C::f<string, string, bool>(1,2,3); // nope
15 C::f<string, string, string>(1,2,3); // print
16 C::f<int, string, bool>(1,2,3); // nope
17 C::f<int, string, bool>(1,1,3); // print
18 C::f<int, string, bool>(1,2,3); // nope
24 public static function g<reify Ta, Tb, reify Tc>() {
29 D::g<int, string, bool>(); // print
30 D::g<int, string, bool>(); // nope
31 D::g<string, string, bool>(); // print
32 D::g<string, string, bool>(); // nope
33 D::g<string, string, string>(); // print
34 D::g<int, string, bool>(); // nope
35 D::g<int, string, bool>(); // nope
41 public static function h<reify Ta, Tb, reify Tc>(mixed $x) {
50 E::h<int, string, bool>(1); // print
51 E::h<int, string, bool>(1); // nope
52 E::h<string, string, bool>(1); // print
53 E::h<string, string, bool>(1); // nope
54 E::h<string, string, string>(1); // print
55 E::h<int, string, bool>(1); // nope
56 E::h<int, string, bool>(1); // nope
57 E::h<int, string, bool>(2); // print
58 E::h<int, string, bool>(1); // nope