1--TEST-- 2Parameter variance with no type 3--FILE-- 4<?php 5 6class Foo { 7 function testParentClass(Foo $foo) {} 8 function testBothClass(Foo $foo) {} 9 function testChildClass($foo) {} 10 function testNoneClass($foo) {} 11 12 function testParentBuiltin(int $foo) {} 13 function testBothBuiltin(int $foo) {} 14 function testChildBuiltin($foo) {} 15 function testNoneBuiltin($foo) {} 16} 17 18class Bar extends Foo { 19 function testParentClass($foo) {} 20 function testBothClass(Foo $foo) {} 21 function testChildClass(Foo $foo) {} 22 function testNoneClass($foo) {} 23 24 function testParentBuiltin($foo) {} 25 function testBothBuiltin(int $foo) {} 26 function testChildBuiltin(int $foo) {} 27 function testNoneBuiltin($foo) {} 28} 29 30?> 31--EXPECTF-- 32Warning: Declaration of Bar::testChildClass(Foo $foo) should be compatible with Foo::testChildClass($foo) in %s on line %d 33 34Warning: Declaration of Bar::testChildBuiltin(int $foo) should be compatible with Foo::testChildBuiltin($foo) in %s on line %d 35