Change argument error message format

Closes GH-5211
This commit is contained in:
Máté Kocsis 2020-02-25 20:58:33 +01:00
parent c7094d8926
commit 960318ed95
No known key found for this signature in database
GPG key ID: FD055E41728BF310
357 changed files with 1168 additions and 1158 deletions

View file

@ -25,7 +25,7 @@ var_dump(constant("test const"));
echo "Done\n"; echo "Done\n";
?> ?>
--EXPECTF-- --EXPECTF--
TypeError: define() expects argument #1 ($constant_name) to be of type string, array given TypeError: define(): Argument #1 ($constant_name) must be of type string, array given
Notice: Constant TRUE already defined in %s on line %d Notice: Constant TRUE already defined in %s on line %d
bool(false) bool(false)

View file

@ -46,8 +46,8 @@ string(3) "foo"
Warning: get_class() called without object from outside a class in %s on line %d Warning: get_class() called without object from outside a class in %s on line %d
bool(false) bool(false)
get_class() expects argument #1 ($object) to be of type object, string given get_class(): Argument #1 ($object) must be of type object, string given
string(3) "foo" string(3) "foo"
string(4) "foo2" string(4) "foo2"
get_class() expects argument #1 ($object) to be of type object, null given get_class(): Argument #1 ($object) must be of type object, null given
Done Done

View file

@ -32,7 +32,7 @@ try {
--EXPECTF-- --EXPECTF--
int(2) int(2)
int(10) int(10)
{closure}() expects argument #1 ($x) to be of type int, string given, called in %s on line %d {closure}(): Argument #1 ($x) must be of type int, string given, called in %s on line %d
array(3) { array(3) {
[0]=> [0]=>
int(20) int(20)
@ -41,4 +41,4 @@ array(3) {
[2]=> [2]=>
int(30) int(30)
} }
{closure}() expects argument #2 ($args) to be of type ?int, string given, called in %s on line %d {closure}(): Argument #2 ($args) must be of type ?int, string given, called in %s on line %d

View file

@ -12,4 +12,4 @@ try {
?> ?>
--EXPECTF-- --EXPECTF--
Warning: Undefined variable: nonesuchvar in %s on line %d Warning: Undefined variable: nonesuchvar in %s on line %d
array_walk() expects argument #2 ($funcname) to be a valid callback, first array member is not a valid class name or object array_walk(): Argument #2 ($funcname) must be a valid callback, first array member is not a valid class name or object

View file

@ -20,7 +20,7 @@ test($obj);
echo "Done\n"; echo "Done\n";
?> ?>
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught TypeError: test() expects argument #1 ($object) to be of type OtherClassName, ClassName given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: test(): Argument #1 ($object) must be of type OtherClassName, ClassName given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): test(Object(ClassName)) #0 %s(%d): test(Object(ClassName))
#1 {main} #1 {main}

View file

@ -37,7 +37,7 @@ ok
ok ok
ok ok
Fatal error: Uncaught TypeError: foo\test5() expects argument #1 ($bar) to be of type bar, foo\bar given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: foo\test5(): Argument #1 ($bar) must be of type bar, foo\bar given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): foo\test5(Object(foo\bar)) #0 %s(%d): foo\test5(Object(foo\bar))
#1 {main} #1 {main}

View file

@ -12,7 +12,7 @@ $foo = new foo;
$foo->bar($foo); // Ok! $foo->bar($foo); // Ok!
$foo->bar(new \stdclass); // Error, ok! $foo->bar(new \stdclass); // Error, ok!
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught TypeError: foobar\foo::bar() expects argument #1 ($a) to be of type foobar\foo, stdClass given, called in %sbug43332_1.php on line 10 and defined in %sbug43332_1.php:5 Fatal error: Uncaught TypeError: foobar\foo::bar(): Argument #1 ($a) must be of type foobar\foo, stdClass given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): foobar\foo->bar(Object(stdClass)) #0 %s(%d): foobar\foo->bar(Object(stdClass))
#1 {main} #1 {main}

View file

@ -54,4 +54,4 @@ string(1) "y"
ok ok
__callstatic: __callstatic:
string(3) "www" string(3) "www"
call_user_func() expects argument #1 ($function) to be a valid callback, cannot access self:: when no class scope is active call_user_func(): Argument #1 ($function) must be a valid callback, cannot access self:: when no class scope is active

View file

@ -52,5 +52,5 @@ string(1) "y"
__call: __call:
string(1) "y" string(1) "y"
ok ok
call_user_func() expects argument #1 ($function) to be a valid callback, class 'bar' does not have a method 'www' call_user_func(): Argument #1 ($function) must be a valid callback, class 'bar' does not have a method 'www'
call_user_func() expects argument #1 ($function) to be a valid callback, cannot access self:: when no class scope is active call_user_func(): Argument #1 ($function) must be a valid callback, cannot access self:: when no class scope is active

View file

@ -58,5 +58,5 @@ $c->func('This should work!');
--EXPECT-- --EXPECT--
string(27) "A::func2: This should work!" string(27) "A::func2: This should work!"
string(27) "A::func3: This should work!" string(27) "A::func3: This should work!"
call_user_func_array() expects argument #1 ($function) to be a valid callback, cannot access private method A::func22() call_user_func_array(): Argument #1 ($function) must be a valid callback, cannot access private method A::func22()
call_user_func_array() expects argument #1 ($function) to be a valid callback, class 'A' does not have a method 'inexistent' call_user_func_array(): Argument #1 ($function) must be a valid callback, class 'A' does not have a method 'inexistent'

View file

@ -52,4 +52,4 @@ $c->func('This should work!');
--EXPECT-- --EXPECT--
string(27) "B::func2: This should work!" string(27) "B::func2: This should work!"
string(27) "B::func3: This should work!" string(27) "B::func3: This should work!"
call_user_func_array() expects argument #1 ($function) to be a valid callback, class 'B' does not have a method 'inexistent' call_user_func_array(): Argument #1 ($function) must be a valid callback, class 'B' does not have a method 'inexistent'

View file

@ -11,5 +11,5 @@ $args = array_fill(0, 64 * 1024 - 64, 0);
call_user_func_array(function(&$a) {}, $args); call_user_func_array(function(&$a) {}, $args);
echo strval("okey"); echo strval("okey");
--EXPECTF-- --EXPECTF--
Warning: {closure}() expects argument #1 ($a) to be passed by reference, value given in %s on line %d Warning: {closure}(): Argument #1 ($a) must be passed by reference, value given in %s on line %d
okey okey

View file

@ -32,7 +32,7 @@ array(1) {
int(1) int(1)
} }
Fatal error: Uncaught TypeError: a() expects argument #1 ($a) to be of type array, null given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: a(): Argument #1 ($a) must be of type array, null given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): a(NULL) #0 %s(%d): a(NULL)
#1 {main} #1 {main}

View file

@ -20,6 +20,6 @@ try {
} }
?> ?>
--EXPECT-- --EXPECT--
array_map() expects argument #1 ($callback) to be a valid callback, function '%n' not found or invalid function name array_map(): Argument #1 ($callback) must be a valid callback, function '%n' not found or invalid function name
array_map() expects argument #1 ($callback) to be a valid callback, function '%n %i' not found or invalid function name array_map(): Argument #1 ($callback) must be a valid callback, function '%n %i' not found or invalid function name
array_map() expects argument #1 ($callback) to be a valid callback, function '%n %i aoeu %f aoeu %p' not found or invalid function name array_map(): Argument #1 ($callback) must be a valid callback, function '%n %i aoeu %f aoeu %p' not found or invalid function name

View file

@ -13,4 +13,4 @@ try {
} }
?> ?>
--EXPECT-- --EXPECT--
array_map() expects argument #1 ($callback) to be a valid callback, function '0000000000000000000000000000000000' not found or invalid function name array_map(): Argument #1 ($callback) must be a valid callback, function '0000000000000000000000000000000000' not found or invalid function name

View file

@ -17,10 +17,10 @@ new class {
}; };
?> ?>
--EXPECTF-- --EXPECTF--
Warning: ref() expects argument #1 ($ref) to be passed by reference, value given in %s on line %d Warning: ref(): Argument #1 ($ref) must be passed by reference, value given in %s on line %d
object(class@anonymous)#1 (0) { object(class@anonymous)#1 (0) {
} }
Warning: ref() expects argument #1 ($ref) to be passed by reference, value given in %s on line %d Warning: ref(): Argument #1 ($ref) must be passed by reference, value given in %s on line %d
object(class@anonymous)#1 (0) { object(class@anonymous)#1 (0) {
} }

View file

@ -20,8 +20,8 @@ new class {
}; };
?> ?>
--EXPECTF-- --EXPECTF--
Warning: ref() expects argument #1 ($ref) to be passed by reference, value given in %s on line %d Warning: ref(): Argument #1 ($ref) must be passed by reference, value given in %s on line %d
int(0) int(0)
Warning: ref() expects argument #1 ($ref) to be passed by reference, value given in %s on line %d Warning: ref(): Argument #1 ($ref) must be passed by reference, value given in %s on line %d
int(0) int(0)

View file

@ -16,7 +16,7 @@ takes_int(log(tan(3.14)));
float(NAN) float(NAN)
bool(true) bool(true)
Fatal error: Uncaught TypeError: takes_int() expects argument #1 ($int) to be of type int, float given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: takes_int(): Argument #1 ($int) must be of type int, float given, called in %s:%d
Stack trace: Stack trace:
#0 %s(9): takes_int(NAN) #0 %s(9): takes_int(NAN)
#1 {main} #1 {main}

View file

@ -12,7 +12,7 @@ set_error_handler(function ($type, $msg) {
call_user_func(function (array &$ref) {var_dump("xxx");}, 'not_an_array_variable'); call_user_func(function (array &$ref) {var_dump("xxx");}, 'not_an_array_variable');
?> ?>
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught Exception: Foo\{closure}() expects argument #1 ($ref) to be passed by reference, value given in %s:%d Fatal error: Uncaught Exception: Foo\{closure}(): Argument #1 ($ref) must be passed by reference, value given in %s:%d
Stack trace: Stack trace:
#0 [internal function]: Foo\{closure}(%s) #0 [internal function]: Foo\{closure}(%s)
#1 %sbug74164.php(%d): call_user_func(%s) #1 %sbug74164.php(%d): call_user_func(%s)

View file

@ -37,5 +37,5 @@ namespace testing {
?> ?>
--EXPECT-- --EXPECT--
string(6) "foobar" string(6) "foobar"
call_user_func() expects argument #1 ($function) to be a valid callback, cannot access private method testing\foo::priv() call_user_func(): Argument #1 ($function) must be a valid callback, cannot access private method testing\foo::priv()
call_user_func() expects argument #1 ($function) to be a valid callback, cannot access protected method testing\foo::prot() call_user_func(): Argument #1 ($function) must be a valid callback, cannot access protected method testing\foo::prot()

View file

@ -31,11 +31,11 @@ try {
?> ?>
--EXPECTF-- --EXPECTF--
string(3) "foo" string(3) "foo"
call_user_func() expects argument #1 ($function) to be a valid callback, class 'foo' not found call_user_func(): Argument #1 ($function) must be a valid callback, class 'foo' not found
call_user_func() expects argument #1 ($function) to be a valid callback, class '' not found call_user_func(): Argument #1 ($function) must be a valid callback, class '' not found
Warning: Undefined variable: foo in %s on line %d Warning: Undefined variable: foo in %s on line %d
call_user_func() expects argument #1 ($function) to be a valid callback, first array member is not a valid class name or object call_user_func(): Argument #1 ($function) must be a valid callback, first array member is not a valid class name or object
Warning: Undefined variable: foo in %s on line %d Warning: Undefined variable: foo in %s on line %d
call_user_func() expects argument #1 ($function) to be a valid callback, first array member is not a valid class name or object call_user_func(): Argument #1 ($function) must be a valid callback, first array member is not a valid class name or object

View file

@ -21,8 +21,8 @@ var_dump($y);
?> ?>
--EXPECTF-- --EXPECTF--
Warning: Foo\bar() expects argument #1 ($ref) to be passed by reference, value given in %s on line %d Warning: Foo\bar(): Argument #1 ($ref) must be passed by reference, value given in %s on line %d
int(42) int(42)
Warning: Foo\bar() expects argument #1 ($ref) to be passed by reference, value given in %s on line %d Warning: Foo\bar(): Argument #1 ($ref) must be passed by reference, value given in %s on line %d
int(42) int(42)

View file

@ -15,6 +15,6 @@ Notice: Undefined offset: 0 in %s on line %d
Warning: Trying to access array offset on value of type null in %s on line %d Warning: Trying to access array offset on value of type null in %s on line %d
Warning: foo() expects argument #1 ($ref) to be passed by reference, value given in %s on line %d Warning: foo(): Argument #1 ($ref) must be passed by reference, value given in %s on line %d
array(0) { array(0) {
} }

View file

@ -25,30 +25,30 @@ var_dump($i, $j);
?> ?>
--EXPECTF-- --EXPECTF--
Warning: test() expects argument #1 ($ref1) to be passed by reference, value given in %s on line %d Warning: test(): Argument #1 ($ref1) must be passed by reference, value given in %s on line %d
Warning: test() expects argument #2 ($ref2) to be passed by reference, value given in %s on line %d Warning: test(): Argument #2 ($ref2) must be passed by reference, value given in %s on line %d
bool(true) bool(true)
int(0) int(0)
int(0) int(0)
Warning: test() expects argument #1 ($ref1) to be passed by reference, value given in %s on line %d Warning: test(): Argument #1 ($ref1) must be passed by reference, value given in %s on line %d
Warning: test() expects argument #2 ($ref2) to be passed by reference, value given in %s on line %d Warning: test(): Argument #2 ($ref2) must be passed by reference, value given in %s on line %d
bool(true) bool(true)
int(0) int(0)
int(0) int(0)
Warning: test() expects argument #1 ($ref1) to be passed by reference, value given in %s on line %d Warning: test(): Argument #1 ($ref1) must be passed by reference, value given in %s on line %d
Warning: test() expects argument #2 ($ref2) to be passed by reference, value given in %s on line %d Warning: test(): Argument #2 ($ref2) must be passed by reference, value given in %s on line %d
bool(true) bool(true)
int(0) int(0)
int(0) int(0)
Warning: test() expects argument #1 ($ref1) to be passed by reference, value given in %s on line %d Warning: test(): Argument #1 ($ref1) must be passed by reference, value given in %s on line %d
Warning: test() expects argument #2 ($ref2) to be passed by reference, value given in %s on line %d Warning: test(): Argument #2 ($ref2) must be passed by reference, value given in %s on line %d
bool(true) bool(true)
int(0) int(0)
int(0) int(0)

View file

@ -10,8 +10,8 @@ var_dump(\call_user_func('sort', []));
?> ?>
--EXPECTF-- --EXPECTF--
Warning: sort() expects argument #1 ($arg) to be passed by reference, value given in %s on line %d Warning: sort(): Argument #1 ($arg) must be passed by reference, value given in %s on line %d
bool(true) bool(true)
Warning: sort() expects argument #1 ($arg) to be passed by reference, value given in %s on line %d Warning: sort(): Argument #1 ($arg) must be passed by reference, value given in %s on line %d
bool(true) bool(true)

View file

@ -15,4 +15,4 @@ try {
} }
?> ?>
--EXPECT-- --EXPECT--
call_user_func_array() expects argument #2 ($args) to be of type array, null given call_user_func_array(): Argument #2 ($args) must be of type array, null given

View file

@ -30,7 +30,7 @@ NULL
Warning: Undefined variable: y in %s on line %d Warning: Undefined variable: y in %s on line %d
Exception: Too few arguments to function {closure}(), 0 passed in %s on line %d and exactly 1 expected Exception: Too few arguments to function {closure}(), 0 passed in %s on line %d and exactly 1 expected
Fatal error: Uncaught TypeError: test() expects argument #1 ($a) to be of type Closure, stdClass given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: test(): Argument #1 ($a) must be of type Closure, stdClass given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): test(Object(stdClass)) #0 %s(%d): test(Object(stdClass))
#1 {main} #1 {main}

View file

@ -33,6 +33,6 @@ try {
echo "Exception: " . $e->getMessage() . "\n"; echo "Exception: " . $e->getMessage() . "\n";
} }
--EXPECTF-- --EXPECTF--
Exception: {closure}() expects argument #1 ($a) to be of type A, B given, called in %s on line %d Exception: {closure}(): Argument #1 ($a) must be of type A, B given, called in %s on line %d
Exception: {closure}() expects argument #1 ($a) to be of type A, B given Exception: {closure}(): Argument #1 ($a) must be of type A, B given
Exception: {closure}() expects argument #1 ($a) to be of type A, B given Exception: {closure}(): Argument #1 ($a) must be of type A, B given

View file

@ -28,7 +28,7 @@ Error: Cannot call abstract method C::foo() in %s:%d
Stack trace: Stack trace:
#0 {main} #0 {main}
TypeError: foo() expects argument #1 ($x) to be of type callable, string given, called in %s on line %d and defined in %s:%d TypeError: foo(): Argument #1 ($x) must be of type callable, string given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): foo('C::foo') #0 %s(%d): foo('C::foo')
#1 {main} #1 {main}

View file

@ -9,7 +9,7 @@ set_exception_handler(array("", ""));
echo "Done\n"; echo "Done\n";
?> ?>
--EXPECTF-- --EXPECTF--
Warning: set_exception_handler() expects argument #1 ($exception_handler) to be a valid callback in %s on line %d Warning: set_exception_handler(): Argument #1 ($exception_handler) must be a valid callback in %s on line %d
Warning: set_exception_handler() expects argument #1 ($exception_handler) to be a valid callback in %s on line %d Warning: set_exception_handler(): Argument #1 ($exception_handler) must be a valid callback in %s on line %d
Done Done

View file

@ -49,6 +49,6 @@ Too few arguments to function bar(), 1 passed in %s and exactly 2 expected
ArgumentCountError ArgumentCountError
Too few arguments to function bat(), 1 passed in %s and exactly 2 expected Too few arguments to function bat(), 1 passed in %s and exactly 2 expected
TypeError TypeError
bat() expects argument #1 ($foo) to be of type int, string given, called in %s on line %d bat(): Argument #1 ($foo) must be of type int, string given, called in %s on line %d
TypeError TypeError
bat() expects argument #2 ($bar) to be of type string, int given, called in %s on line %d bat(): Argument #2 ($bar) must be of type string, int given, called in %s on line %d

View file

@ -18,5 +18,5 @@ try {
} }
--EXPECTF-- --EXPECTF--
foo() expects argument #2 ($bar) to be of type int, array given, called in %s on line %d foo(): Argument #2 ($bar) must be of type int, array given, called in %s on line %d
foo() expects argument #4 ($bar) to be of type int, array given, called in %s on line %d foo(): Argument #4 ($bar) must be of type int, array given, called in %s on line %d

View file

@ -6,7 +6,7 @@ function gen(array $a) { yield; }
gen(42); gen(42);
?> ?>
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught TypeError: gen() expects argument #1 ($a) to be of type array, int given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: gen(): Argument #1 ($a) must be of type array, int given, called in %s:%d
Stack trace: Stack trace:
#0 %sgenerator_with_type_check.php(3): gen(42) #0 %sgenerator_with_type_check.php(3): gen(42)
#1 {main} #1 {main}

View file

@ -18,5 +18,5 @@ try {
} }
?> ?>
--EXPECTF-- --EXPECTF--
gen() expects argument #1 ($a) to be of type array, int given, called in %s on line %d gen(): Argument #1 ($a) must be of type array, int given, called in %s on line %d
gen() expects argument #1 ($a) to be of type array, int given, called in %s on line %d gen(): Argument #1 ($a) must be of type array, int given, called in %s on line %d

View file

@ -12,7 +12,7 @@ $gen->throw(new stdClass);
?> ?>
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught TypeError: Generator::throw() expects argument #1 ($exception) to be of type Throwable, object given in %s:%d Fatal error: Uncaught TypeError: Generator::throw(): Argument #1 ($exception) must be of type Throwable, object given in %s:%d
Stack trace: Stack trace:
#0 %s(%d): Generator->throw(Object(stdClass)) #0 %s(%d): Generator->throw(Object(stdClass))
#1 {main} #1 {main}

View file

@ -10,4 +10,4 @@ try {
} }
?> ?>
--EXPECT-- --EXPECT--
call_user_func() expects argument #1 ($function) to be a valid callback, first array member is not a valid class name or object call_user_func(): Argument #1 ($function) must be a valid callback, first array member is not a valid class name or object

View file

@ -18,7 +18,7 @@ new bar(new \stdclass);
--EXPECTF-- --EXPECTF--
NULL NULL
Fatal error: Uncaught TypeError: foo\bar::__construct() expects argument #1 ($x) to be of type ?array, object given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: foo\bar::__construct(): Argument #1 ($x) must be of type ?array, object given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): foo\bar->__construct(Object(stdClass)) #0 %s(%d): foo\bar->__construct(Object(stdClass))
#1 {main} #1 {main}

View file

@ -30,7 +30,7 @@ object(foo\test)#%d (0) {
} }
NULL NULL
Fatal error: Uncaught TypeError: foo\bar::__construct() expects argument #1 ($x) to be of type ?foo\foo, stdClass given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: foo\bar::__construct(): Argument #1 ($x) must be of type ?foo\foo, stdClass given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): foo\bar->__construct(Object(stdClass)) #0 %s(%d): foo\bar->__construct(Object(stdClass))
#1 {main} #1 {main}

View file

@ -11,7 +11,7 @@ $one = new One();
$one->a(new One()); $one->a(new One());
$one->a(123); $one->a(123);
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught TypeError: One::a() expects argument #1 ($obj) to be of type object, int given, called in %s:%d Fatal error: Uncaught TypeError: One::a(): Argument #1 ($obj) must be of type object, int given, called in %s:%d
Stack trace: Stack trace:
#0 %s(9): One->a(123) #0 %s(9): One->a(123)
#1 {main} #1 {main}

View file

@ -9,7 +9,7 @@ function a(object $obj) {}
a(new A()); a(new A());
a(123); a(123);
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught TypeError: a() expects argument #1 ($obj) to be of type object, int given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: a(): Argument #1 ($obj) must be of type object, int given, called in %s:%d
Stack trace: Stack trace:
#0 %s(7): a(123) #0 %s(7): a(123)
#1 {main} #1 {main}

View file

@ -36,7 +36,7 @@ object(bar)#%d (0) {
object(baz)#%d (0) { object(baz)#%d (0) {
} }
Fatal error: Uncaught TypeError: foo::testFoo() expects argument #1 ($obj) to be of type foo, stdClass given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: foo::testFoo(): Argument #1 ($obj) must be of type foo, stdClass given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): foo->testFoo(Object(stdClass)) #0 %s(%d): foo->testFoo(Object(stdClass))
#1 {main} #1 {main}

View file

@ -39,5 +39,5 @@ try {
?> ?>
--EXPECTF-- --EXPECTF--
Return value of C::test1() must be of type int, string returned Return value of C::test1() must be of type int, string returned
C::test2() expects argument #1 ($arg) to be of type int, string given, called in %s on line %d C::test2(): Argument #1 ($arg) must be of type int, string given, called in %s on line %d
C::test3() expects argument #1 ($arg) to be of type int, string given, called in %s on line %d C::test3(): Argument #1 ($arg) must be of type int, string given, called in %s on line %d

View file

@ -12,7 +12,7 @@ foo(123);
--EXPECTF-- --EXPECTF--
3 3
Fatal error: Uncaught TypeError: foo() expects argument #1 ($a) to be of type array, int given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: foo(): Argument #1 ($a) must be of type array, int given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): foo(123) #0 %s(%d): foo(123)
#1 {main} #1 {main}

View file

@ -29,7 +29,7 @@ array(2) {
string(3) "foo" string(3) "foo"
} }
Fatal error: Uncaught TypeError: foo() expects argument #1 ($bar) to be of type callable, array given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: foo(): Argument #1 ($bar) must be of type callable, array given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): foo(Array) #0 %s(%d): foo(Array)
#1 {main} #1 {main}

View file

@ -11,7 +11,7 @@ require 'weak_include_strict_2.inc';
// calls within that file should stay strict, despite being included by weak file // calls within that file should stay strict, despite being included by weak file
?> ?>
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught TypeError: takes_int() expects argument #1 ($x) to be of type int, float given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: takes_int(): Argument #1 ($x) must be of type int, float given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): takes_int(1) #0 %s(%d): takes_int(1)
#1 %s(%d): require('%s') #1 %s(%d): require('%s')

View file

@ -8,7 +8,7 @@ foo(null);
?> ?>
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught TypeError: foo() expects argument #1 ($ex) to be of type bar, null given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: foo(): Argument #1 ($ex) must be of type bar, null given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): foo(NULL) #0 %s(%d): foo(NULL)
#1 {main} #1 {main}

View file

@ -28,8 +28,8 @@ try {
?> ?>
--EXPECT-- --EXPECT--
*** Trying Ord With Integer *** Trying Ord With Integer
*** Caught ord() expects argument #1 ($character) to be of type string, int given *** Caught ord(): Argument #1 ($character) must be of type string, int given
*** Trying Array Map With Invalid Callback *** Trying Array Map With Invalid Callback
*** Caught array_map() expects argument #1 ($callback) to be a valid callback, first array member is not a valid class name or object *** Caught array_map(): Argument #1 ($callback) must be a valid callback, first array member is not a valid class name or object
*** Trying Strlen With Float *** Trying Strlen With Float
*** Caught strlen() expects argument #1 ($str) to be of type string, float given *** Caught strlen(): Argument #1 ($str) must be of type string, float given

View file

@ -44,4 +44,4 @@ object(ArrayIterator)#1 (1) {
int(3) int(3)
} }
} }
test() expects argument #1 ($iterable) to be of type iterable, int given, called in %s on line %d test(): Argument #1 ($iterable) must be of type iterable, int given, called in %s on line %d

View file

@ -78,16 +78,16 @@ E_NOTICE: A non well formed numeric value encountered on line %d
int(1) int(1)
*** Trying string(1) "a" *** Trying string(1) "a"
*** Caught {closure}() expects argument #1 ($i) to be of type int, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, string given, called in %s on line %d
*** Trying string(0) "" *** Trying string(0) ""
*** Caught {closure}() expects argument #1 ($i) to be of type int, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, string given, called in %s on line %d
*** Trying int(%d) *** Trying int(%d)
int(%d) int(%d)
*** Trying float(NAN) *** Trying float(NAN)
*** Caught {closure}() expects argument #1 ($i) to be of type int, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, float given, called in %s on line %d
*** Trying bool(true) *** Trying bool(true)
int(1) int(1)
@ -96,22 +96,22 @@ int(1)
int(0) int(0)
*** Trying NULL *** Trying NULL
*** Caught {closure}() expects argument #1 ($i) to be of type int, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, null given, called in %s on line %d
*** Trying array(0) { *** Trying array(0) {
} }
*** Caught {closure}() expects argument #1 ($i) to be of type int, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, array given, called in %s on line %d
*** Trying object(stdClass)#%s (0) { *** Trying object(stdClass)#%s (0) {
} }
*** Caught {closure}() expects argument #1 ($i) to be of type int, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
*** Trying object(Stringable)#%s (0) { *** Trying object(Stringable)#%s (0) {
} }
*** Caught {closure}() expects argument #1 ($i) to be of type int, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
*** Trying resource(%d) of type (stream) *** Trying resource(%d) of type (stream)
*** Caught {closure}() expects argument #1 ($i) to be of type int, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, resource given, called in %s on line %d
Testing 'float' type: Testing 'float' type:
@ -132,10 +132,10 @@ E_NOTICE: A non well formed numeric value encountered on line %d
float(1) float(1)
*** Trying string(1) "a" *** Trying string(1) "a"
*** Caught {closure}() expects argument #1 ($f) to be of type float, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, string given, called in %s on line %d
*** Trying string(0) "" *** Trying string(0) ""
*** Caught {closure}() expects argument #1 ($f) to be of type float, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, string given, called in %s on line %d
*** Trying int(%d) *** Trying int(%d)
float(%s) float(%s)
@ -150,22 +150,22 @@ float(1)
float(0) float(0)
*** Trying NULL *** Trying NULL
*** Caught {closure}() expects argument #1 ($f) to be of type float, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, null given, called in %s on line %d
*** Trying array(0) { *** Trying array(0) {
} }
*** Caught {closure}() expects argument #1 ($f) to be of type float, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, array given, called in %s on line %d
*** Trying object(stdClass)#%s (0) { *** Trying object(stdClass)#%s (0) {
} }
*** Caught {closure}() expects argument #1 ($f) to be of type float, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
*** Trying object(Stringable)#%s (0) { *** Trying object(Stringable)#%s (0) {
} }
*** Caught {closure}() expects argument #1 ($f) to be of type float, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
*** Trying resource(%d) of type (stream) *** Trying resource(%d) of type (stream)
*** Caught {closure}() expects argument #1 ($f) to be of type float, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, resource given, called in %s on line %d
Testing 'string' type: Testing 'string' type:
@ -203,22 +203,22 @@ string(1) "1"
string(0) "" string(0) ""
*** Trying NULL *** Trying NULL
*** Caught {closure}() expects argument #1 ($s) to be of type string, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, null given, called in %s on line %d
*** Trying array(0) { *** Trying array(0) {
} }
*** Caught {closure}() expects argument #1 ($s) to be of type string, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, array given, called in %s on line %d
*** Trying object(stdClass)#%s (0) { *** Trying object(stdClass)#%s (0) {
} }
*** Caught {closure}() expects argument #1 ($s) to be of type string, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
*** Trying object(Stringable)#%s (0) { *** Trying object(Stringable)#%s (0) {
} }
string(6) "foobar" string(6) "foobar"
*** Trying resource(%d) of type (stream) *** Trying resource(%d) of type (stream)
*** Caught {closure}() expects argument #1 ($s) to be of type string, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, resource given, called in %s on line %d
Testing 'bool' type: Testing 'bool' type:
@ -256,21 +256,21 @@ bool(true)
bool(false) bool(false)
*** Trying NULL *** Trying NULL
*** Caught {closure}() expects argument #1 ($b) to be of type bool, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, null given, called in %s on line %d
*** Trying array(0) { *** Trying array(0) {
} }
*** Caught {closure}() expects argument #1 ($b) to be of type bool, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, array given, called in %s on line %d
*** Trying object(stdClass)#%s (0) { *** Trying object(stdClass)#%s (0) {
} }
*** Caught {closure}() expects argument #1 ($b) to be of type bool, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
*** Trying object(Stringable)#%s (0) { *** Trying object(Stringable)#%s (0) {
} }
*** Caught {closure}() expects argument #1 ($b) to be of type bool, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
*** Trying resource(%d) of type (stream) *** Trying resource(%d) of type (stream)
*** Caught {closure}() expects argument #1 ($b) to be of type bool, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, resource given, called in %s on line %d
Done Done

View file

@ -96,9 +96,9 @@ float(10.7)
Testing string add val Testing string add val
string(14) "this is a test" string(14) "this is a test"
Testing int with default null constant Testing int with default null constant
int_val_default_null() expects argument #1 ($a) to be of type int, null given, called in %s on line %d int_val_default_null(): Argument #1 ($a) must be of type int, null given, called in %s on line %d
Testing int with null null constant Testing int with null null constant
int_val_default_null() expects argument #1 ($a) to be of type int, null given, called in %s on line %d int_val_default_null(): Argument #1 ($a) must be of type int, null given, called in %s on line %d
Testing nullable int with default null constant Testing nullable int with default null constant
NULL NULL
Testing nullable int with null null constant Testing nullable int with null null constant

View file

@ -13,7 +13,7 @@ var_dump(int_val());
?> ?>
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught TypeError: int_val() expects argument #1 ($a) to be of type int, string given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: int_val(): Argument #1 ($a) must be of type int, string given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): int_val() #0 %s(%d): int_val()
#1 {main} #1 {main}

View file

@ -27,13 +27,13 @@ echo PHP_EOL . "Done";
?> ?>
--EXPECTF-- --EXPECTF--
Testing int: Testing int:
*** Caught {closure}() expects argument #1 ($i) to be of type int, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, null given, called in %s on line %d
Testing float: Testing float:
*** Caught {closure}() expects argument #1 ($f) to be of type float, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, null given, called in %s on line %d
Testing string: Testing string:
*** Caught {closure}() expects argument #1 ($s) to be of type string, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, null given, called in %s on line %d
Testing bool: Testing bool:
*** Caught {closure}() expects argument #1 ($b) to be of type bool, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, null given, called in %s on line %d
Testing int nullable: Testing int nullable:
NULL NULL
Testing float nullable: Testing float nullable:

View file

@ -60,52 +60,52 @@ Testing 'int' type:
int(1) int(1)
*** Trying string(1) "1" *** Trying string(1) "1"
*** Caught {closure}() expects argument #1 ($i) to be of type int, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, string given, called in %s on line %d
*** Trying float(1) *** Trying float(1)
*** Caught {closure}() expects argument #1 ($i) to be of type int, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, float given, called in %s on line %d
*** Trying float(1.5) *** Trying float(1.5)
*** Caught {closure}() expects argument #1 ($i) to be of type int, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, float given, called in %s on line %d
*** Trying string(2) "1a" *** Trying string(2) "1a"
*** Caught {closure}() expects argument #1 ($i) to be of type int, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, string given, called in %s on line %d
*** Trying string(1) "a" *** Trying string(1) "a"
*** Caught {closure}() expects argument #1 ($i) to be of type int, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, string given, called in %s on line %d
*** Trying string(0) "" *** Trying string(0) ""
*** Caught {closure}() expects argument #1 ($i) to be of type int, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, string given, called in %s on line %d
*** Trying int(2147483647) *** Trying int(2147483647)
int(2147483647) int(2147483647)
*** Trying float(NAN) *** Trying float(NAN)
*** Caught {closure}() expects argument #1 ($i) to be of type int, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, float given, called in %s on line %d
*** Trying bool(true) *** Trying bool(true)
*** Caught {closure}() expects argument #1 ($i) to be of type int, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, bool given, called in %s on line %d
*** Trying bool(false) *** Trying bool(false)
*** Caught {closure}() expects argument #1 ($i) to be of type int, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, bool given, called in %s on line %d
*** Trying NULL *** Trying NULL
*** Caught {closure}() expects argument #1 ($i) to be of type int, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, null given, called in %s on line %d
*** Trying array(0) { *** Trying array(0) {
} }
*** Caught {closure}() expects argument #1 ($i) to be of type int, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, array given, called in %s on line %d
*** Trying object(stdClass)#5 (0) { *** Trying object(stdClass)#5 (0) {
} }
*** Caught {closure}() expects argument #1 ($i) to be of type int, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
*** Trying object(Stringable)#6 (0) { *** Trying object(Stringable)#6 (0) {
} }
*** Caught {closure}() expects argument #1 ($i) to be of type int, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
*** Trying resource(5) of type (stream) *** Trying resource(5) of type (stream)
*** Caught {closure}() expects argument #1 ($i) to be of type int, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, resource given, called in %s on line %d
Testing 'float' type: Testing 'float' type:
@ -113,7 +113,7 @@ Testing 'float' type:
float(1) float(1)
*** Trying string(1) "1" *** Trying string(1) "1"
*** Caught {closure}() expects argument #1 ($f) to be of type float, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, string given, called in %s on line %d
*** Trying float(1) *** Trying float(1)
float(1) float(1)
@ -122,13 +122,13 @@ float(1)
float(1.5) float(1.5)
*** Trying string(2) "1a" *** Trying string(2) "1a"
*** Caught {closure}() expects argument #1 ($f) to be of type float, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, string given, called in %s on line %d
*** Trying string(1) "a" *** Trying string(1) "a"
*** Caught {closure}() expects argument #1 ($f) to be of type float, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, string given, called in %s on line %d
*** Trying string(0) "" *** Trying string(0) ""
*** Caught {closure}() expects argument #1 ($f) to be of type float, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, string given, called in %s on line %d
*** Trying int(2147483647) *** Trying int(2147483647)
float(2147483647) float(2147483647)
@ -137,42 +137,42 @@ float(2147483647)
float(NAN) float(NAN)
*** Trying bool(true) *** Trying bool(true)
*** Caught {closure}() expects argument #1 ($f) to be of type float, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, bool given, called in %s on line %d
*** Trying bool(false) *** Trying bool(false)
*** Caught {closure}() expects argument #1 ($f) to be of type float, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, bool given, called in %s on line %d
*** Trying NULL *** Trying NULL
*** Caught {closure}() expects argument #1 ($f) to be of type float, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, null given, called in %s on line %d
*** Trying array(0) { *** Trying array(0) {
} }
*** Caught {closure}() expects argument #1 ($f) to be of type float, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, array given, called in %s on line %d
*** Trying object(stdClass)#5 (0) { *** Trying object(stdClass)#5 (0) {
} }
*** Caught {closure}() expects argument #1 ($f) to be of type float, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
*** Trying object(Stringable)#6 (0) { *** Trying object(Stringable)#6 (0) {
} }
*** Caught {closure}() expects argument #1 ($f) to be of type float, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
*** Trying resource(5) of type (stream) *** Trying resource(5) of type (stream)
*** Caught {closure}() expects argument #1 ($f) to be of type float, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, resource given, called in %s on line %d
Testing 'string' type: Testing 'string' type:
*** Trying int(1) *** Trying int(1)
*** Caught {closure}() expects argument #1 ($s) to be of type string, int given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, int given, called in %s on line %d
*** Trying string(1) "1" *** Trying string(1) "1"
string(1) "1" string(1) "1"
*** Trying float(1) *** Trying float(1)
*** Caught {closure}() expects argument #1 ($s) to be of type string, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, float given, called in %s on line %d
*** Trying float(1.5) *** Trying float(1.5)
*** Caught {closure}() expects argument #1 ($s) to be of type string, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, float given, called in %s on line %d
*** Trying string(2) "1a" *** Trying string(2) "1a"
string(2) "1a" string(2) "1a"
@ -184,63 +184,63 @@ string(1) "a"
string(0) "" string(0) ""
*** Trying int(2147483647) *** Trying int(2147483647)
*** Caught {closure}() expects argument #1 ($s) to be of type string, int given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, int given, called in %s on line %d
*** Trying float(NAN) *** Trying float(NAN)
*** Caught {closure}() expects argument #1 ($s) to be of type string, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, float given, called in %s on line %d
*** Trying bool(true) *** Trying bool(true)
*** Caught {closure}() expects argument #1 ($s) to be of type string, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, bool given, called in %s on line %d
*** Trying bool(false) *** Trying bool(false)
*** Caught {closure}() expects argument #1 ($s) to be of type string, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, bool given, called in %s on line %d
*** Trying NULL *** Trying NULL
*** Caught {closure}() expects argument #1 ($s) to be of type string, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, null given, called in %s on line %d
*** Trying array(0) { *** Trying array(0) {
} }
*** Caught {closure}() expects argument #1 ($s) to be of type string, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, array given, called in %s on line %d
*** Trying object(stdClass)#5 (0) { *** Trying object(stdClass)#5 (0) {
} }
*** Caught {closure}() expects argument #1 ($s) to be of type string, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
*** Trying object(Stringable)#6 (0) { *** Trying object(Stringable)#6 (0) {
} }
*** Caught {closure}() expects argument #1 ($s) to be of type string, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
*** Trying resource(5) of type (stream) *** Trying resource(5) of type (stream)
*** Caught {closure}() expects argument #1 ($s) to be of type string, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, resource given, called in %s on line %d
Testing 'bool' type: Testing 'bool' type:
*** Trying int(1) *** Trying int(1)
*** Caught {closure}() expects argument #1 ($b) to be of type bool, int given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, int given, called in %s on line %d
*** Trying string(1) "1" *** Trying string(1) "1"
*** Caught {closure}() expects argument #1 ($b) to be of type bool, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, string given, called in %s on line %d
*** Trying float(1) *** Trying float(1)
*** Caught {closure}() expects argument #1 ($b) to be of type bool, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, float given, called in %s on line %d
*** Trying float(1.5) *** Trying float(1.5)
*** Caught {closure}() expects argument #1 ($b) to be of type bool, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, float given, called in %s on line %d
*** Trying string(2) "1a" *** Trying string(2) "1a"
*** Caught {closure}() expects argument #1 ($b) to be of type bool, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, string given, called in %s on line %d
*** Trying string(1) "a" *** Trying string(1) "a"
*** Caught {closure}() expects argument #1 ($b) to be of type bool, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, string given, called in %s on line %d
*** Trying string(0) "" *** Trying string(0) ""
*** Caught {closure}() expects argument #1 ($b) to be of type bool, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, string given, called in %s on line %d
*** Trying int(2147483647) *** Trying int(2147483647)
*** Caught {closure}() expects argument #1 ($b) to be of type bool, int given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, int given, called in %s on line %d
*** Trying float(NAN) *** Trying float(NAN)
*** Caught {closure}() expects argument #1 ($b) to be of type bool, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, float given, called in %s on line %d
*** Trying bool(true) *** Trying bool(true)
bool(true) bool(true)
@ -249,21 +249,21 @@ bool(true)
bool(false) bool(false)
*** Trying NULL *** Trying NULL
*** Caught {closure}() expects argument #1 ($b) to be of type bool, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, null given, called in %s on line %d
*** Trying array(0) { *** Trying array(0) {
} }
*** Caught {closure}() expects argument #1 ($b) to be of type bool, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, array given, called in %s on line %d
*** Trying object(stdClass)#5 (0) { *** Trying object(stdClass)#5 (0) {
} }
*** Caught {closure}() expects argument #1 ($b) to be of type bool, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
*** Trying object(Stringable)#6 (0) { *** Trying object(Stringable)#6 (0) {
} }
*** Caught {closure}() expects argument #1 ($b) to be of type bool, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
*** Trying resource(5) of type (stream) *** Trying resource(5) of type (stream)
*** Caught {closure}() expects argument #1 ($b) to be of type bool, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, resource given, called in %s on line %d
Done Done

View file

@ -60,52 +60,52 @@ Testing 'int' type:
int(1) int(1)
*** Trying string(1) "1" *** Trying string(1) "1"
*** Caught {closure}() expects argument #1 ($i) to be of type int, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, string given, called in %s on line %d
*** Trying float(1) *** Trying float(1)
*** Caught {closure}() expects argument #1 ($i) to be of type int, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, float given, called in %s on line %d
*** Trying float(1.5) *** Trying float(1.5)
*** Caught {closure}() expects argument #1 ($i) to be of type int, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, float given, called in %s on line %d
*** Trying string(2) "1a" *** Trying string(2) "1a"
*** Caught {closure}() expects argument #1 ($i) to be of type int, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, string given, called in %s on line %d
*** Trying string(1) "a" *** Trying string(1) "a"
*** Caught {closure}() expects argument #1 ($i) to be of type int, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, string given, called in %s on line %d
*** Trying string(0) "" *** Trying string(0) ""
*** Caught {closure}() expects argument #1 ($i) to be of type int, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, string given, called in %s on line %d
*** Trying int(9223372036854775807) *** Trying int(9223372036854775807)
int(9223372036854775807) int(9223372036854775807)
*** Trying float(NAN) *** Trying float(NAN)
*** Caught {closure}() expects argument #1 ($i) to be of type int, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, float given, called in %s on line %d
*** Trying bool(true) *** Trying bool(true)
*** Caught {closure}() expects argument #1 ($i) to be of type int, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, bool given, called in %s on line %d
*** Trying bool(false) *** Trying bool(false)
*** Caught {closure}() expects argument #1 ($i) to be of type int, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, bool given, called in %s on line %d
*** Trying NULL *** Trying NULL
*** Caught {closure}() expects argument #1 ($i) to be of type int, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, null given, called in %s on line %d
*** Trying array(0) { *** Trying array(0) {
} }
*** Caught {closure}() expects argument #1 ($i) to be of type int, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, array given, called in %s on line %d
*** Trying object(stdClass)#5 (0) { *** Trying object(stdClass)#5 (0) {
} }
*** Caught {closure}() expects argument #1 ($i) to be of type int, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
*** Trying object(Stringable)#6 (0) { *** Trying object(Stringable)#6 (0) {
} }
*** Caught {closure}() expects argument #1 ($i) to be of type int, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
*** Trying resource(5) of type (stream) *** Trying resource(5) of type (stream)
*** Caught {closure}() expects argument #1 ($i) to be of type int, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, resource given, called in %s on line %d
Testing 'float' type: Testing 'float' type:
@ -113,7 +113,7 @@ Testing 'float' type:
float(1) float(1)
*** Trying string(1) "1" *** Trying string(1) "1"
*** Caught {closure}() expects argument #1 ($f) to be of type float, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, string given, called in %s on line %d
*** Trying float(1) *** Trying float(1)
float(1) float(1)
@ -122,13 +122,13 @@ float(1)
float(1.5) float(1.5)
*** Trying string(2) "1a" *** Trying string(2) "1a"
*** Caught {closure}() expects argument #1 ($f) to be of type float, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, string given, called in %s on line %d
*** Trying string(1) "a" *** Trying string(1) "a"
*** Caught {closure}() expects argument #1 ($f) to be of type float, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, string given, called in %s on line %d
*** Trying string(0) "" *** Trying string(0) ""
*** Caught {closure}() expects argument #1 ($f) to be of type float, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, string given, called in %s on line %d
*** Trying int(9223372036854775807) *** Trying int(9223372036854775807)
float(9.223372036854776E+18) float(9.223372036854776E+18)
@ -137,42 +137,42 @@ float(9.223372036854776E+18)
float(NAN) float(NAN)
*** Trying bool(true) *** Trying bool(true)
*** Caught {closure}() expects argument #1 ($f) to be of type float, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, bool given, called in %s on line %d
*** Trying bool(false) *** Trying bool(false)
*** Caught {closure}() expects argument #1 ($f) to be of type float, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, bool given, called in %s on line %d
*** Trying NULL *** Trying NULL
*** Caught {closure}() expects argument #1 ($f) to be of type float, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, null given, called in %s on line %d
*** Trying array(0) { *** Trying array(0) {
} }
*** Caught {closure}() expects argument #1 ($f) to be of type float, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, array given, called in %s on line %d
*** Trying object(stdClass)#5 (0) { *** Trying object(stdClass)#5 (0) {
} }
*** Caught {closure}() expects argument #1 ($f) to be of type float, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
*** Trying object(Stringable)#6 (0) { *** Trying object(Stringable)#6 (0) {
} }
*** Caught {closure}() expects argument #1 ($f) to be of type float, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
*** Trying resource(5) of type (stream) *** Trying resource(5) of type (stream)
*** Caught {closure}() expects argument #1 ($f) to be of type float, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, resource given, called in %s on line %d
Testing 'string' type: Testing 'string' type:
*** Trying int(1) *** Trying int(1)
*** Caught {closure}() expects argument #1 ($s) to be of type string, int given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, int given, called in %s on line %d
*** Trying string(1) "1" *** Trying string(1) "1"
string(1) "1" string(1) "1"
*** Trying float(1) *** Trying float(1)
*** Caught {closure}() expects argument #1 ($s) to be of type string, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, float given, called in %s on line %d
*** Trying float(1.5) *** Trying float(1.5)
*** Caught {closure}() expects argument #1 ($s) to be of type string, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, float given, called in %s on line %d
*** Trying string(2) "1a" *** Trying string(2) "1a"
string(2) "1a" string(2) "1a"
@ -184,63 +184,63 @@ string(1) "a"
string(0) "" string(0) ""
*** Trying int(9223372036854775807) *** Trying int(9223372036854775807)
*** Caught {closure}() expects argument #1 ($s) to be of type string, int given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, int given, called in %s on line %d
*** Trying float(NAN) *** Trying float(NAN)
*** Caught {closure}() expects argument #1 ($s) to be of type string, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, float given, called in %s on line %d
*** Trying bool(true) *** Trying bool(true)
*** Caught {closure}() expects argument #1 ($s) to be of type string, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, bool given, called in %s on line %d
*** Trying bool(false) *** Trying bool(false)
*** Caught {closure}() expects argument #1 ($s) to be of type string, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, bool given, called in %s on line %d
*** Trying NULL *** Trying NULL
*** Caught {closure}() expects argument #1 ($s) to be of type string, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, null given, called in %s on line %d
*** Trying array(0) { *** Trying array(0) {
} }
*** Caught {closure}() expects argument #1 ($s) to be of type string, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, array given, called in %s on line %d
*** Trying object(stdClass)#5 (0) { *** Trying object(stdClass)#5 (0) {
} }
*** Caught {closure}() expects argument #1 ($s) to be of type string, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
*** Trying object(Stringable)#6 (0) { *** Trying object(Stringable)#6 (0) {
} }
*** Caught {closure}() expects argument #1 ($s) to be of type string, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
*** Trying resource(5) of type (stream) *** Trying resource(5) of type (stream)
*** Caught {closure}() expects argument #1 ($s) to be of type string, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, resource given, called in %s on line %d
Testing 'bool' type: Testing 'bool' type:
*** Trying int(1) *** Trying int(1)
*** Caught {closure}() expects argument #1 ($b) to be of type bool, int given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, int given, called in %s on line %d
*** Trying string(1) "1" *** Trying string(1) "1"
*** Caught {closure}() expects argument #1 ($b) to be of type bool, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, string given, called in %s on line %d
*** Trying float(1) *** Trying float(1)
*** Caught {closure}() expects argument #1 ($b) to be of type bool, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, float given, called in %s on line %d
*** Trying float(1.5) *** Trying float(1.5)
*** Caught {closure}() expects argument #1 ($b) to be of type bool, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, float given, called in %s on line %d
*** Trying string(2) "1a" *** Trying string(2) "1a"
*** Caught {closure}() expects argument #1 ($b) to be of type bool, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, string given, called in %s on line %d
*** Trying string(1) "a" *** Trying string(1) "a"
*** Caught {closure}() expects argument #1 ($b) to be of type bool, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, string given, called in %s on line %d
*** Trying string(0) "" *** Trying string(0) ""
*** Caught {closure}() expects argument #1 ($b) to be of type bool, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, string given, called in %s on line %d
*** Trying int(9223372036854775807) *** Trying int(9223372036854775807)
*** Caught {closure}() expects argument #1 ($b) to be of type bool, int given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, int given, called in %s on line %d
*** Trying float(NAN) *** Trying float(NAN)
*** Caught {closure}() expects argument #1 ($b) to be of type bool, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, float given, called in %s on line %d
*** Trying bool(true) *** Trying bool(true)
bool(true) bool(true)
@ -249,21 +249,21 @@ bool(true)
bool(false) bool(false)
*** Trying NULL *** Trying NULL
*** Caught {closure}() expects argument #1 ($b) to be of type bool, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, null given, called in %s on line %d
*** Trying array(0) { *** Trying array(0) {
} }
*** Caught {closure}() expects argument #1 ($b) to be of type bool, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, array given, called in %s on line %d
*** Trying object(stdClass)#5 (0) { *** Trying object(stdClass)#5 (0) {
} }
*** Caught {closure}() expects argument #1 ($b) to be of type bool, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
*** Trying object(Stringable)#6 (0) { *** Trying object(Stringable)#6 (0) {
} }
*** Caught {closure}() expects argument #1 ($b) to be of type bool, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
*** Trying resource(5) of type (stream) *** Trying resource(5) of type (stream)
*** Caught {closure}() expects argument #1 ($b) to be of type bool, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, resource given, called in %s on line %d
Done Done

View file

@ -57,28 +57,28 @@ Testing 'int' type:
int(1) int(1)
*** Trying float value *** Trying float value
*** Caught {closure}() expects argument #1 ($i) to be of type int, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, float given, called in %s on line %d
*** Trying string value *** Trying string value
*** Caught {closure}() expects argument #1 ($i) to be of type int, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, string given, called in %s on line %d
*** Trying true value *** Trying true value
*** Caught {closure}() expects argument #1 ($i) to be of type int, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, bool given, called in %s on line %d
*** Trying false value *** Trying false value
*** Caught {closure}() expects argument #1 ($i) to be of type int, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, bool given, called in %s on line %d
*** Trying null value *** Trying null value
*** Caught {closure}() expects argument #1 ($i) to be of type int, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, null given, called in %s on line %d
*** Trying array value *** Trying array value
*** Caught {closure}() expects argument #1 ($i) to be of type int, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, array given, called in %s on line %d
*** Trying object value *** Trying object value
*** Caught {closure}() expects argument #1 ($i) to be of type int, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
*** Trying resource value *** Trying resource value
*** Caught {closure}() expects argument #1 ($i) to be of type int, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($i) must be of type int, resource given, called in %s on line %d
Testing 'float' type: Testing 'float' type:
@ -89,65 +89,65 @@ float(1)
float(1) float(1)
*** Trying string value *** Trying string value
*** Caught {closure}() expects argument #1 ($f) to be of type float, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, string given, called in %s on line %d
*** Trying true value *** Trying true value
*** Caught {closure}() expects argument #1 ($f) to be of type float, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, bool given, called in %s on line %d
*** Trying false value *** Trying false value
*** Caught {closure}() expects argument #1 ($f) to be of type float, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, bool given, called in %s on line %d
*** Trying null value *** Trying null value
*** Caught {closure}() expects argument #1 ($f) to be of type float, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, null given, called in %s on line %d
*** Trying array value *** Trying array value
*** Caught {closure}() expects argument #1 ($f) to be of type float, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, array given, called in %s on line %d
*** Trying object value *** Trying object value
*** Caught {closure}() expects argument #1 ($f) to be of type float, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
*** Trying resource value *** Trying resource value
*** Caught {closure}() expects argument #1 ($f) to be of type float, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($f) must be of type float, resource given, called in %s on line %d
Testing 'string' type: Testing 'string' type:
*** Trying integer value *** Trying integer value
*** Caught {closure}() expects argument #1 ($s) to be of type string, int given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, int given, called in %s on line %d
*** Trying float value *** Trying float value
*** Caught {closure}() expects argument #1 ($s) to be of type string, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, float given, called in %s on line %d
*** Trying string value *** Trying string value
string(1) "1" string(1) "1"
*** Trying true value *** Trying true value
*** Caught {closure}() expects argument #1 ($s) to be of type string, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, bool given, called in %s on line %d
*** Trying false value *** Trying false value
*** Caught {closure}() expects argument #1 ($s) to be of type string, bool given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, bool given, called in %s on line %d
*** Trying null value *** Trying null value
*** Caught {closure}() expects argument #1 ($s) to be of type string, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, null given, called in %s on line %d
*** Trying array value *** Trying array value
*** Caught {closure}() expects argument #1 ($s) to be of type string, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, array given, called in %s on line %d
*** Trying object value *** Trying object value
*** Caught {closure}() expects argument #1 ($s) to be of type string, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
*** Trying resource value *** Trying resource value
*** Caught {closure}() expects argument #1 ($s) to be of type string, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($s) must be of type string, resource given, called in %s on line %d
Testing 'bool' type: Testing 'bool' type:
*** Trying integer value *** Trying integer value
*** Caught {closure}() expects argument #1 ($b) to be of type bool, int given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, int given, called in %s on line %d
*** Trying float value *** Trying float value
*** Caught {closure}() expects argument #1 ($b) to be of type bool, float given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, float given, called in %s on line %d
*** Trying string value *** Trying string value
*** Caught {closure}() expects argument #1 ($b) to be of type bool, string given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, string given, called in %s on line %d
*** Trying true value *** Trying true value
bool(true) bool(true)
@ -156,15 +156,15 @@ bool(true)
bool(false) bool(false)
*** Trying null value *** Trying null value
*** Caught {closure}() expects argument #1 ($b) to be of type bool, null given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, null given, called in %s on line %d
*** Trying array value *** Trying array value
*** Caught {closure}() expects argument #1 ($b) to be of type bool, array given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, array given, called in %s on line %d
*** Trying object value *** Trying object value
*** Caught {closure}() expects argument #1 ($b) to be of type bool, object given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
*** Trying resource value *** Trying resource value
*** Caught {closure}() expects argument #1 ($b) to be of type bool, resource given, called in %s on line %d *** Caught {closure}(): Argument #1 ($b) must be of type bool, resource given, called in %s on line %d
Done Done

View file

@ -13,7 +13,7 @@ require 'strict_call_weak_2.inc';
function_declared_in_weak_mode(1.0); function_declared_in_weak_mode(1.0);
?> ?>
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught TypeError: function_declared_in_weak_mode() expects argument #1 ($x) to be of type int, float given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: function_declared_in_weak_mode(): Argument #1 ($x) must be of type int, float given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): function_declared_in_weak_mode(1) #0 %s(%d): function_declared_in_weak_mode(1)
#1 {main} #1 {main}

View file

@ -13,7 +13,7 @@ require 'strict_call_weak_explicit_2.inc';
function_declared_in_weak_mode(1.0); function_declared_in_weak_mode(1.0);
?> ?>
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught TypeError: function_declared_in_weak_mode() expects argument #1 ($x) to be of type int, float given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: function_declared_in_weak_mode(): Argument #1 ($x) must be of type int, float given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): function_declared_in_weak_mode(1) #0 %s(%d): function_declared_in_weak_mode(1)
#1 {main} #1 {main}

View file

@ -68,7 +68,7 @@ int(42)
int(42) int(42)
int(42) int(42)
Cannot assign stdClass to property Test::$prop of type X|Y|Z|int Cannot assign stdClass to property Test::$prop of type X|Y|Z|int
Test::method() expects argument #1 ($arg) to be of type X|Y|Z|int, stdClass given, called in %s on line %d Test::method(): Argument #1 ($arg) must be of type X|Y|Z|int, stdClass given, called in %s on line %d
object(X)#4 (0) { object(X)#4 (0) {
} }
object(X)#6 (0) { object(X)#6 (0) {

View file

@ -37,7 +37,7 @@ function test(string $type, array $values) {
} catch (TypeError $e) { } catch (TypeError $e) {
$msg = $e->getMessage(); $msg = $e->getMessage();
$msg = strstr($msg, ', called in', true); $msg = strstr($msg, ', called in', true);
$msg = str_replace('{closure}() expects argument #1', 'Argument ...', $msg); $msg = str_replace('{closure}(): Argument #1 ($arg)', 'Argument ...', $msg);
echo $msg; echo $msg;
} }
echo "\n"; echo "\n";
@ -70,86 +70,86 @@ Type int|float:
42 => 42 42 => 42
42.0 => 42.0 42.0 => 42.0
INF => INF INF => INF
"42" => Argument ... ($arg) to be of type int|float, string given "42" => Argument ... must be of type int|float, string given
"42.0" => Argument ... ($arg) to be of type int|float, string given "42.0" => Argument ... must be of type int|float, string given
"42x" => Argument ... ($arg) to be of type int|float, string given "42x" => Argument ... must be of type int|float, string given
"x" => Argument ... ($arg) to be of type int|float, string given "x" => Argument ... must be of type int|float, string given
"" => Argument ... ($arg) to be of type int|float, string given "" => Argument ... must be of type int|float, string given
true => Argument ... ($arg) to be of type int|float, bool given true => Argument ... must be of type int|float, bool given
false => Argument ... ($arg) to be of type int|float, bool given false => Argument ... must be of type int|float, bool given
null => Argument ... ($arg) to be of type int|float, null given null => Argument ... must be of type int|float, null given
[] => Argument ... ($arg) to be of type int|float, array given [] => Argument ... must be of type int|float, array given
new stdClass => Argument ... ($arg) to be of type int|float, object given new stdClass => Argument ... must be of type int|float, object given
new WithToString => Argument ... ($arg) to be of type int|float, object given new WithToString => Argument ... must be of type int|float, object given
Type int|float|false: Type int|float|false:
42 => 42 42 => 42
42.0 => 42.0 42.0 => 42.0
INF => INF INF => INF
"42" => Argument ... ($arg) to be of type int|float|false, string given "42" => Argument ... must be of type int|float|false, string given
"42.0" => Argument ... ($arg) to be of type int|float|false, string given "42.0" => Argument ... must be of type int|float|false, string given
"42x" => Argument ... ($arg) to be of type int|float|false, string given "42x" => Argument ... must be of type int|float|false, string given
"x" => Argument ... ($arg) to be of type int|float|false, string given "x" => Argument ... must be of type int|float|false, string given
"" => Argument ... ($arg) to be of type int|float|false, string given "" => Argument ... must be of type int|float|false, string given
true => Argument ... ($arg) to be of type int|float|false, bool given true => Argument ... must be of type int|float|false, bool given
false => false false => false
null => Argument ... ($arg) to be of type int|float|false, null given null => Argument ... must be of type int|float|false, null given
[] => Argument ... ($arg) to be of type int|float|false, array given [] => Argument ... must be of type int|float|false, array given
new stdClass => Argument ... ($arg) to be of type int|float|false, object given new stdClass => Argument ... must be of type int|float|false, object given
new WithToString => Argument ... ($arg) to be of type int|float|false, object given new WithToString => Argument ... must be of type int|float|false, object given
Type int|float|bool: Type int|float|bool:
42 => 42 42 => 42
42.0 => 42.0 42.0 => 42.0
INF => INF INF => INF
"42" => Argument ... ($arg) to be of type int|float|bool, string given "42" => Argument ... must be of type int|float|bool, string given
"42.0" => Argument ... ($arg) to be of type int|float|bool, string given "42.0" => Argument ... must be of type int|float|bool, string given
"42x" => Argument ... ($arg) to be of type int|float|bool, string given "42x" => Argument ... must be of type int|float|bool, string given
"x" => Argument ... ($arg) to be of type int|float|bool, string given "x" => Argument ... must be of type int|float|bool, string given
"" => Argument ... ($arg) to be of type int|float|bool, string given "" => Argument ... must be of type int|float|bool, string given
true => true true => true
false => false false => false
null => Argument ... ($arg) to be of type int|float|bool, null given null => Argument ... must be of type int|float|bool, null given
[] => Argument ... ($arg) to be of type int|float|bool, array given [] => Argument ... must be of type int|float|bool, array given
new stdClass => Argument ... ($arg) to be of type int|float|bool, object given new stdClass => Argument ... must be of type int|float|bool, object given
new WithToString => Argument ... ($arg) to be of type int|float|bool, object given new WithToString => Argument ... must be of type int|float|bool, object given
Type int|bool: Type int|bool:
42 => 42 42 => 42
42.0 => Argument ... ($arg) to be of type int|bool, float given 42.0 => Argument ... must be of type int|bool, float given
INF => Argument ... ($arg) to be of type int|bool, float given INF => Argument ... must be of type int|bool, float given
"42" => Argument ... ($arg) to be of type int|bool, string given "42" => Argument ... must be of type int|bool, string given
"42.0" => Argument ... ($arg) to be of type int|bool, string given "42.0" => Argument ... must be of type int|bool, string given
"42x" => Argument ... ($arg) to be of type int|bool, string given "42x" => Argument ... must be of type int|bool, string given
"x" => Argument ... ($arg) to be of type int|bool, string given "x" => Argument ... must be of type int|bool, string given
"" => Argument ... ($arg) to be of type int|bool, string given "" => Argument ... must be of type int|bool, string given
true => true true => true
false => false false => false
null => Argument ... ($arg) to be of type int|bool, null given null => Argument ... must be of type int|bool, null given
[] => Argument ... ($arg) to be of type int|bool, array given [] => Argument ... must be of type int|bool, array given
new stdClass => Argument ... ($arg) to be of type int|bool, object given new stdClass => Argument ... must be of type int|bool, object given
new WithToString => Argument ... ($arg) to be of type int|bool, object given new WithToString => Argument ... must be of type int|bool, object given
Type int|string|null: Type int|string|null:
42 => 42 42 => 42
42.0 => Argument ... ($arg) to be of type string|int|null, float given 42.0 => Argument ... must be of type string|int|null, float given
INF => Argument ... ($arg) to be of type string|int|null, float given INF => Argument ... must be of type string|int|null, float given
"42" => "42" "42" => "42"
"42.0" => "42.0" "42.0" => "42.0"
"42x" => "42x" "42x" => "42x"
"x" => "x" "x" => "x"
"" => "" "" => ""
true => Argument ... ($arg) to be of type string|int|null, bool given true => Argument ... must be of type string|int|null, bool given
false => Argument ... ($arg) to be of type string|int|null, bool given false => Argument ... must be of type string|int|null, bool given
null => null null => null
[] => Argument ... ($arg) to be of type string|int|null, array given [] => Argument ... must be of type string|int|null, array given
new stdClass => Argument ... ($arg) to be of type string|int|null, object given new stdClass => Argument ... must be of type string|int|null, object given
new WithToString => Argument ... ($arg) to be of type string|int|null, object given new WithToString => Argument ... must be of type string|int|null, object given
Type string|bool: Type string|bool:
42 => Argument ... ($arg) to be of type string|bool, int given 42 => Argument ... must be of type string|bool, int given
42.0 => Argument ... ($arg) to be of type string|bool, float given 42.0 => Argument ... must be of type string|bool, float given
INF => Argument ... ($arg) to be of type string|bool, float given INF => Argument ... must be of type string|bool, float given
"42" => "42" "42" => "42"
"42.0" => "42.0" "42.0" => "42.0"
"42x" => "42x" "42x" => "42x"
@ -157,55 +157,55 @@ INF => Argument ... ($arg) to be of type string|bool, float given
"" => "" "" => ""
true => true true => true
false => false false => false
null => Argument ... ($arg) to be of type string|bool, null given null => Argument ... must be of type string|bool, null given
[] => Argument ... ($arg) to be of type string|bool, array given [] => Argument ... must be of type string|bool, array given
new stdClass => Argument ... ($arg) to be of type string|bool, object given new stdClass => Argument ... must be of type string|bool, object given
new WithToString => Argument ... ($arg) to be of type string|bool, object given new WithToString => Argument ... must be of type string|bool, object given
Type float|array: Type float|array:
42 => 42.0 42 => 42.0
42.0 => 42.0 42.0 => 42.0
INF => INF INF => INF
"42" => Argument ... ($arg) to be of type array|float, string given "42" => Argument ... must be of type array|float, string given
"42.0" => Argument ... ($arg) to be of type array|float, string given "42.0" => Argument ... must be of type array|float, string given
"42x" => Argument ... ($arg) to be of type array|float, string given "42x" => Argument ... must be of type array|float, string given
"x" => Argument ... ($arg) to be of type array|float, string given "x" => Argument ... must be of type array|float, string given
"" => Argument ... ($arg) to be of type array|float, string given "" => Argument ... must be of type array|float, string given
true => Argument ... ($arg) to be of type array|float, bool given true => Argument ... must be of type array|float, bool given
false => Argument ... ($arg) to be of type array|float, bool given false => Argument ... must be of type array|float, bool given
null => Argument ... ($arg) to be of type array|float, null given null => Argument ... must be of type array|float, null given
[] => [] [] => []
new stdClass => Argument ... ($arg) to be of type array|float, object given new stdClass => Argument ... must be of type array|float, object given
new WithToString => Argument ... ($arg) to be of type array|float, object given new WithToString => Argument ... must be of type array|float, object given
Type string|array: Type string|array:
42 => Argument ... ($arg) to be of type array|string, int given 42 => Argument ... must be of type array|string, int given
42.0 => Argument ... ($arg) to be of type array|string, float given 42.0 => Argument ... must be of type array|string, float given
INF => Argument ... ($arg) to be of type array|string, float given INF => Argument ... must be of type array|string, float given
"42" => "42" "42" => "42"
"42.0" => "42.0" "42.0" => "42.0"
"42x" => "42x" "42x" => "42x"
"x" => "x" "x" => "x"
"" => "" "" => ""
true => Argument ... ($arg) to be of type array|string, bool given true => Argument ... must be of type array|string, bool given
false => Argument ... ($arg) to be of type array|string, bool given false => Argument ... must be of type array|string, bool given
null => Argument ... ($arg) to be of type array|string, null given null => Argument ... must be of type array|string, null given
[] => [] [] => []
new stdClass => Argument ... ($arg) to be of type array|string, object given new stdClass => Argument ... must be of type array|string, object given
new WithToString => Argument ... ($arg) to be of type array|string, object given new WithToString => Argument ... must be of type array|string, object given
Type bool|array: Type bool|array:
42 => Argument ... ($arg) to be of type array|bool, int given 42 => Argument ... must be of type array|bool, int given
42.0 => Argument ... ($arg) to be of type array|bool, float given 42.0 => Argument ... must be of type array|bool, float given
INF => Argument ... ($arg) to be of type array|bool, float given INF => Argument ... must be of type array|bool, float given
"42" => Argument ... ($arg) to be of type array|bool, string given "42" => Argument ... must be of type array|bool, string given
"42.0" => Argument ... ($arg) to be of type array|bool, string given "42.0" => Argument ... must be of type array|bool, string given
"42x" => Argument ... ($arg) to be of type array|bool, string given "42x" => Argument ... must be of type array|bool, string given
"x" => Argument ... ($arg) to be of type array|bool, string given "x" => Argument ... must be of type array|bool, string given
"" => Argument ... ($arg) to be of type array|bool, string given "" => Argument ... must be of type array|bool, string given
true => true true => true
false => false false => false
null => Argument ... ($arg) to be of type array|bool, null given null => Argument ... must be of type array|bool, null given
[] => [] [] => []
new stdClass => Argument ... ($arg) to be of type array|bool, object given new stdClass => Argument ... must be of type array|bool, object given
new WithToString => Argument ... ($arg) to be of type array|bool, object given new WithToString => Argument ... must be of type array|bool, object given

View file

@ -35,7 +35,7 @@ function test(string $type, array $values) {
} catch (TypeError $e) { } catch (TypeError $e) {
$msg = $e->getMessage(); $msg = $e->getMessage();
$msg = strstr($msg, ', called in', true); $msg = strstr($msg, ', called in', true);
$msg = str_replace('{closure}() expects argument #1', 'Argument ...', $msg); $msg = str_replace('{closure}(): Argument #1 ($arg)', 'Argument ...', $msg);
echo $msg; echo $msg;
} }
echo "\n"; echo "\n";
@ -71,14 +71,14 @@ INF => INF
"42" => 42 "42" => 42
"42.0" => 42.0 "42.0" => 42.0
"42x" => 42 (A non well formed numeric value encountered) "42x" => 42 (A non well formed numeric value encountered)
"x" => Argument ... ($arg) to be of type int|float, string given "x" => Argument ... must be of type int|float, string given
"" => Argument ... ($arg) to be of type int|float, string given "" => Argument ... must be of type int|float, string given
true => 1 true => 1
false => 0 false => 0
null => Argument ... ($arg) to be of type int|float, null given null => Argument ... must be of type int|float, null given
[] => Argument ... ($arg) to be of type int|float, array given [] => Argument ... must be of type int|float, array given
new stdClass => Argument ... ($arg) to be of type int|float, object given new stdClass => Argument ... must be of type int|float, object given
new WithToString => Argument ... ($arg) to be of type int|float, object given new WithToString => Argument ... must be of type int|float, object given
Type int|float|false: Type int|float|false:
42 => 42 42 => 42
@ -87,14 +87,14 @@ INF => INF
"42" => 42 "42" => 42
"42.0" => 42.0 "42.0" => 42.0
"42x" => 42 (A non well formed numeric value encountered) "42x" => 42 (A non well formed numeric value encountered)
"x" => Argument ... ($arg) to be of type int|float|false, string given "x" => Argument ... must be of type int|float|false, string given
"" => Argument ... ($arg) to be of type int|float|false, string given "" => Argument ... must be of type int|float|false, string given
true => 1 true => 1
false => false false => false
null => Argument ... ($arg) to be of type int|float|false, null given null => Argument ... must be of type int|float|false, null given
[] => Argument ... ($arg) to be of type int|float|false, array given [] => Argument ... must be of type int|float|false, array given
new stdClass => Argument ... ($arg) to be of type int|float|false, object given new stdClass => Argument ... must be of type int|float|false, object given
new WithToString => Argument ... ($arg) to be of type int|float|false, object given new WithToString => Argument ... must be of type int|float|false, object given
Type int|float|bool: Type int|float|bool:
42 => 42 42 => 42
@ -107,10 +107,10 @@ INF => INF
"" => false "" => false
true => true true => true
false => false false => false
null => Argument ... ($arg) to be of type int|float|bool, null given null => Argument ... must be of type int|float|bool, null given
[] => Argument ... ($arg) to be of type int|float|bool, array given [] => Argument ... must be of type int|float|bool, array given
new stdClass => Argument ... ($arg) to be of type int|float|bool, object given new stdClass => Argument ... must be of type int|float|bool, object given
new WithToString => Argument ... ($arg) to be of type int|float|bool, object given new WithToString => Argument ... must be of type int|float|bool, object given
Type int|bool: Type int|bool:
42 => 42 42 => 42
@ -123,10 +123,10 @@ INF => true
"" => false "" => false
true => true true => true
false => false false => false
null => Argument ... ($arg) to be of type int|bool, null given null => Argument ... must be of type int|bool, null given
[] => Argument ... ($arg) to be of type int|bool, array given [] => Argument ... must be of type int|bool, array given
new stdClass => Argument ... ($arg) to be of type int|bool, object given new stdClass => Argument ... must be of type int|bool, object given
new WithToString => Argument ... ($arg) to be of type int|bool, object given new WithToString => Argument ... must be of type int|bool, object given
Type int|string|null: Type int|string|null:
42 => 42 42 => 42
@ -140,8 +140,8 @@ INF => "INF"
true => 1 true => 1
false => 0 false => 0
null => null null => null
[] => Argument ... ($arg) to be of type string|int|null, array given [] => Argument ... must be of type string|int|null, array given
new stdClass => Argument ... ($arg) to be of type string|int|null, object given new stdClass => Argument ... must be of type string|int|null, object given
new WithToString => "__toString()" new WithToString => "__toString()"
Type string|bool: Type string|bool:
@ -155,9 +155,9 @@ INF => "INF"
"" => "" "" => ""
true => true true => true
false => false false => false
null => Argument ... ($arg) to be of type string|bool, null given null => Argument ... must be of type string|bool, null given
[] => Argument ... ($arg) to be of type string|bool, array given [] => Argument ... must be of type string|bool, array given
new stdClass => Argument ... ($arg) to be of type string|bool, object given new stdClass => Argument ... must be of type string|bool, object given
new WithToString => "__toString()" new WithToString => "__toString()"
Type float|array: Type float|array:
@ -167,14 +167,14 @@ INF => INF
"42" => 42.0 "42" => 42.0
"42.0" => 42.0 "42.0" => 42.0
"42x" => 42.0 (A non well formed numeric value encountered) "42x" => 42.0 (A non well formed numeric value encountered)
"x" => Argument ... ($arg) to be of type array|float, string given "x" => Argument ... must be of type array|float, string given
"" => Argument ... ($arg) to be of type array|float, string given "" => Argument ... must be of type array|float, string given
true => 1.0 true => 1.0
false => 0.0 false => 0.0
null => Argument ... ($arg) to be of type array|float, null given null => Argument ... must be of type array|float, null given
[] => [] [] => []
new stdClass => Argument ... ($arg) to be of type array|float, object given new stdClass => Argument ... must be of type array|float, object given
new WithToString => Argument ... ($arg) to be of type array|float, object given new WithToString => Argument ... must be of type array|float, object given
Type string|array: Type string|array:
42 => "42" 42 => "42"
@ -187,9 +187,9 @@ INF => "INF"
"" => "" "" => ""
true => "1" true => "1"
false => "" false => ""
null => Argument ... ($arg) to be of type array|string, null given null => Argument ... must be of type array|string, null given
[] => [] [] => []
new stdClass => Argument ... ($arg) to be of type array|string, object given new stdClass => Argument ... must be of type array|string, object given
new WithToString => "__toString()" new WithToString => "__toString()"
Type bool|array: Type bool|array:
@ -203,7 +203,7 @@ INF => true
"" => false "" => false
true => true true => true
false => false false => false
null => Argument ... ($arg) to be of type array|bool, null given null => Argument ... must be of type array|bool, null given
[] => [] [] => []
new stdClass => Argument ... ($arg) to be of type array|bool, object given new stdClass => Argument ... must be of type array|bool, object given
new WithToString => Argument ... ($arg) to be of type array|bool, object given new WithToString => Argument ... must be of type array|bool, object given

View file

@ -11,7 +11,7 @@ require 'weak_include_strict_2.inc';
// calls within that file should stay strict, despite being included by weak file // calls within that file should stay strict, despite being included by weak file
?> ?>
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught TypeError: takes_int() expects argument #1 ($x) to be of type int, float given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: takes_int(): Argument #1 ($x) must be of type int, float given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): takes_int(1) #0 %s(%d): takes_int(1)
#1 %s(%d): require('%s') #1 %s(%d): require('%s')

View file

@ -219,39 +219,39 @@ try {
?> ?>
--EXPECTF-- --EXPECTF--
TypeError: unloadedClass() expects argument #1 ($param) to be of type ?I\Dont\Exist, stdClass given, called in %s on line %d and defined in %s:%d TypeError: unloadedClass(): Argument #1 ($param) must be of type ?I\Dont\Exist, stdClass given, called in %s:%d
Stack trace: Stack trace:
#0 %s(8): unloadedClass(Object(stdClass)) #0 %s(8): unloadedClass(Object(stdClass))
#1 {main} #1 {main}
TypeError: loadedClass() expects argument #1 ($param) to be of type ?RealClass, stdClass given, called in %s on line %d and defined in %s:%d TypeError: loadedClass(): Argument #1 ($param) must be of type ?RealClass, stdClass given, called in %s:%d
Stack trace: Stack trace:
#0 %s(20): loadedClass(Object(stdClass)) #0 %s(20): loadedClass(Object(stdClass))
#1 {main} #1 {main}
TypeError: loadedInterface() expects argument #1 ($param) to be of type ?RealInterface, stdClass given, called in %s on line %d and defined in %s:%d TypeError: loadedInterface(): Argument #1 ($param) must be of type ?RealInterface, stdClass given, called in %s:%d
Stack trace: Stack trace:
#0 %s(26): loadedInterface(Object(stdClass)) #0 %s(26): loadedInterface(Object(stdClass))
#1 {main} #1 {main}
TypeError: unloadedClass() expects argument #1 ($param) to be of type ?I\Dont\Exist, int given, called in %s on line %d and defined in %s:%d TypeError: unloadedClass(): Argument #1 ($param) must be of type ?I\Dont\Exist, int given, called in %s:%d
Stack trace: Stack trace:
#0 %s(32): unloadedClass(1) #0 %s(32): unloadedClass(1)
#1 {main} #1 {main}
TypeError: loadedClass() expects argument #1 ($param) to be of type ?RealClass, int given, called in %s on line %d and defined in %s:%d TypeError: loadedClass(): Argument #1 ($param) must be of type ?RealClass, int given, called in %s:%d
Stack trace: Stack trace:
#0 %s(38): loadedClass(1) #0 %s(38): loadedClass(1)
#1 {main} #1 {main}
TypeError: loadedInterface() expects argument #1 ($param) to be of type ?RealInterface, int given, called in %s on line %d and defined in %s:%d TypeError: loadedInterface(): Argument #1 ($param) must be of type ?RealInterface, int given, called in %s:%d
Stack trace: Stack trace:
#0 %s(44): loadedInterface(1) #0 %s(44): loadedInterface(1)
#1 {main} #1 {main}
TypeError: callableF() expects argument #1 ($param) to be of type ?callable, int given, called in %s on line %d and defined in %s:%d TypeError: callableF(): Argument #1 ($param) must be of type ?callable, int given, called in %s:%d
Stack trace: Stack trace:
#0 %s(52): callableF(1) #0 %s(52): callableF(1)
#1 {main} #1 {main}
TypeError: iterableF() expects argument #1 ($param) to be of type ?iterable, int given, called in %s on line %d and defined in %s:%d TypeError: iterableF(): Argument #1 ($param) must be of type ?iterable, int given, called in %s:%d
Stack trace: Stack trace:
#0 %s(60): iterableF(1) #0 %s(60): iterableF(1)
#1 {main} #1 {main}
TypeError: intF() expects argument #1 ($param) to be of type ?int, object given, called in %s on line %d and defined in %s:%d TypeError: intF(): Argument #1 ($param) must be of type ?int, object given, called in %s:%d
Stack trace: Stack trace:
#0 %s(68): intF(Object(stdClass)) #0 %s(68): intF(Object(stdClass))
#1 {main} #1 {main}

View file

@ -33,7 +33,7 @@ array(3) {
} }
} }
Fatal error: Uncaught TypeError: test() expects argument #3 ($args) to be of type array, int given, called in %s on line %d and defined in %s:%d Fatal error: Uncaught TypeError: test(): Argument #3 ($args) must be of type array, int given, called in %s:%d
Stack trace: Stack trace:
#0 %s(%d): test(Array, Array, 2) #0 %s(%d): test(Array, Array, 2)
#1 {main} #1 {main}

View file

@ -15,4 +15,4 @@ try {
?> ?>
--EXPECTF-- --EXPECTF--
string(%d) "test() expects argument #3 ($args) to be of type array, int given, called in %s on line %d" string(%d) "test(): Argument #3 ($args) must be of type array, int given, called in %s on line %d"

View file

@ -216,7 +216,7 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_type_error(int num, z
return; return;
} }
zend_argument_type_error(num, "to be %s, %s given", expected_error[expected_type], zend_zval_type_name(arg)); zend_argument_type_error(num, "must be %s, %s given", expected_error[expected_type], zend_zval_type_name(arg));
} }
/* }}} */ /* }}} */
@ -226,7 +226,7 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_class_error(int num,
return; return;
} }
zend_argument_type_error(num, "to be of type %s, %s given", name, zend_zval_type_name(arg)); zend_argument_type_error(num, "must be of type %s, %s given", name, zend_zval_type_name(arg));
} }
/* }}} */ /* }}} */
@ -236,7 +236,7 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_callback_error(int num, char *e
return; return;
} }
zend_argument_type_error(num, "to be a valid callback, %s", error); zend_argument_type_error(num, "must be a valid callback, %s", error);
efree(error); efree(error);
} }
/* }}} */ /* }}} */
@ -259,9 +259,10 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_argument_error(zend_class_entry *erro
zend_vspprintf(&message, 0, format, va); zend_vspprintf(&message, 0, format, va);
va_end(va); va_end(va);
zend_throw_error(error_ce, "%s%s%s() expects argument #%d%s%s%s %s", zend_throw_error(error_ce, "%s%s%s(): Argument #%d%s%s%s %s",
class_name, space, get_active_function_name(), arg_num, class_name, space, get_active_function_name(),
arg_name ? " ($" : "", arg_name ? arg_name : "", arg_name ? ")" : "", message arg_num, arg_name ? " ($" : "", arg_name ? arg_name : "", arg_name ? ")" : "",
message
); );
efree(message); efree(message);
} }
@ -283,13 +284,13 @@ ZEND_API int ZEND_FASTCALL zend_parse_arg_class(zval *arg, zend_class_entry **pc
*pce = zend_lookup_class(Z_STR_P(arg)); *pce = zend_lookup_class(Z_STR_P(arg));
if (ce_base) { if (ce_base) {
if ((!*pce || !instanceof_function(*pce, ce_base))) { if ((!*pce || !instanceof_function(*pce, ce_base))) {
zend_argument_type_error(num, "to be a class name derived from %s, '%s' given", ZSTR_VAL(ce_base->name), Z_STRVAL_P(arg)); zend_argument_type_error(num, "must be a class name derived from %s, '%s' given", ZSTR_VAL(ce_base->name), Z_STRVAL_P(arg));
*pce = NULL; *pce = NULL;
return 0; return 0;
} }
} }
if (!*pce) { if (!*pce) {
zend_argument_type_error(num, "to be a valid class name, '%s' given", Z_STRVAL_P(arg)); zend_argument_type_error(num, "must be a valid class name, '%s' given", Z_STRVAL_P(arg));
return 0; return 0;
} }
return 1; return 1;
@ -745,10 +746,10 @@ static int zend_parse_arg(int arg_num, zval *arg, va_list *va, const char **spec
} }
if (!(flags & ZEND_PARSE_PARAMS_QUIET) && (*expected_type || error)) { if (!(flags & ZEND_PARSE_PARAMS_QUIET) && (*expected_type || error)) {
if (error) { if (error) {
zend_argument_type_error(arg_num, "to be %s", error); zend_argument_type_error(arg_num, "must be %s", error);
efree(error); efree(error);
} else { } else {
zend_argument_type_error(arg_num, "to be of type %s, %s given", expected_type, zend_zval_type_name(arg)); zend_argument_type_error(arg_num, "must be of type %s, %s given", expected_type, zend_zval_type_name(arg));
} }
} else if (error) { } else if (error) {
efree(error); efree(error);

View file

@ -1388,7 +1388,7 @@ ZEND_FUNCTION(set_error_handler)
if (Z_TYPE_P(error_handler) != IS_NULL) { /* NULL == unset */ if (Z_TYPE_P(error_handler) != IS_NULL) { /* NULL == unset */
if (!zend_is_callable(error_handler, 0, NULL)) { if (!zend_is_callable(error_handler, 0, NULL)) {
zend_string *error_handler_name = zend_get_callable_name(error_handler); zend_string *error_handler_name = zend_get_callable_name(error_handler);
zend_error(E_WARNING, "%s() expects argument #1 ($error_handler) to be a valid callback", get_active_function_name()); zend_error(E_WARNING, "%s(): Argument #1 ($error_handler) must be a valid callback", get_active_function_name());
zend_string_release_ex(error_handler_name, 0); zend_string_release_ex(error_handler_name, 0);
return; return;
} }
@ -1452,7 +1452,7 @@ ZEND_FUNCTION(set_exception_handler)
if (Z_TYPE_P(exception_handler) != IS_NULL) { /* NULL == unset */ if (Z_TYPE_P(exception_handler) != IS_NULL) { /* NULL == unset */
if (!zend_is_callable(exception_handler, 0, NULL)) { if (!zend_is_callable(exception_handler, 0, NULL)) {
zend_string *exception_handler_name = zend_get_callable_name(exception_handler); zend_string *exception_handler_name = zend_get_callable_name(exception_handler);
zend_error(E_WARNING, "%s() expects argument #1 ($exception_handler) to be a valid callback", get_active_function_name()); zend_error(E_WARNING, "%s(): Argument #1 ($exception_handler) must be a valid callback", get_active_function_name());
zend_string_release_ex(exception_handler_name, 0); zend_string_release_ex(exception_handler_name, 0);
return; return;
} }

View file

@ -692,16 +692,21 @@ ZEND_API ZEND_COLD void zend_verify_arg_error(
if (zf->common.type == ZEND_USER_FUNCTION) { if (zf->common.type == ZEND_USER_FUNCTION) {
if (ptr && ptr->func && ZEND_USER_CODE(ptr->func->common.type)) { if (ptr && ptr->func && ZEND_USER_CODE(ptr->func->common.type)) {
zend_type_error("%s%s%s() expects argument #%d ($%s) to be of type %s, %s given, called in %s on line %d", zend_type_error("%s%s%s(): Argument #%d ($%s) must be of type %s, %s given, called in %s on line %d",
fclass, fsep, fname, arg_num, ZSTR_VAL(arg_info->name), ZSTR_VAL(need_msg), given_msg, fclass, fsep, fname,
ZSTR_VAL(ptr->func->op_array.filename), ptr->opline->lineno); arg_num, ZSTR_VAL(arg_info->name),
ZSTR_VAL(need_msg), given_msg,
ZSTR_VAL(ptr->func->op_array.filename), ptr->opline->lineno
);
} else { } else {
zend_type_error("%s%s%s() expects argument #%d ($%s) to be of type %s, %s given", zend_type_error("%s%s%s(): Argument #%d ($%s) must be of type %s, %s given",
fclass, fsep, fname, arg_num, ZSTR_VAL(arg_info->name), ZSTR_VAL(need_msg), given_msg); fclass, fsep, fname, arg_num, ZSTR_VAL(arg_info->name), ZSTR_VAL(need_msg), given_msg
);
} }
} else { } else {
zend_type_error("%s%s%s() expects argument #%d ($%s) to be of type %s, %s given", zend_type_error("%s%s%s(): Argument #%d ($%s) must be of type %s, %s given",
fclass, fsep, fname, arg_num, ((zend_internal_arg_info*) arg_info)->name, ZSTR_VAL(need_msg), given_msg); fclass, fsep, fname, arg_num, ((zend_internal_arg_info*) arg_info)->name, ZSTR_VAL(need_msg), given_msg
);
} }
zend_string_release(need_msg); zend_string_release(need_msg);
@ -1925,7 +1930,7 @@ static zend_never_inline ZEND_COLD void ZEND_FASTCALL zend_param_must_be_ref(con
{ {
const char *arg_name = get_function_arg_name(func, arg_num); const char *arg_name = get_function_arg_name(func, arg_num);
zend_error(E_WARNING, "%s%s%s() expects argument #%d%s%s%s to be passed by reference, value given", zend_error(E_WARNING, "%s%s%s(): Argument #%d%s%s%s must be passed by reference, value given",
func->common.scope ? ZSTR_VAL(func->common.scope->name) : "", func->common.scope ? ZSTR_VAL(func->common.scope->name) : "",
func->common.scope ? "::" : "", func->common.scope ? "::" : "",
ZSTR_VAL(func->common.function_name), ZSTR_VAL(func->common.function_name),
@ -2550,8 +2555,9 @@ static ZEND_COLD void ZEND_FASTCALL zend_array_key_exists_error(
ZVAL_UNDEFINED_OP2(); ZVAL_UNDEFINED_OP2();
} }
if (!EG(exception)) { if (!EG(exception)) {
zend_type_error("array_key_exists() expects argument #2 ($array) to be of type array, %s given", zend_type_error("array_key_exists(): Argument #2 ($array) must be of type array, %s given",
zend_get_type_by_const(Z_TYPE_P(subject))); zend_get_type_by_const(Z_TYPE_P(subject))
);
} }
} }

View file

@ -751,7 +751,7 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache) /
const char *arg_name = get_function_arg_name(func, i + 1); const char *arg_name = get_function_arg_name(func, i + 1);
zend_error(E_WARNING, zend_error(E_WARNING,
"%s%s%s() expects argument #%d%s%s%s to be passed by reference, value given", "%s%s%s(): Argument #%d%s%s%s must be passed by reference, value given",
func->common.scope ? ZSTR_VAL(func->common.scope->name) : "", func->common.scope ? ZSTR_VAL(func->common.scope->name) : "",
func->common.scope ? "::" : "", func->common.scope ? "::" : "",
ZSTR_VAL(func->common.function_name), ZSTR_VAL(func->common.function_name),

View file

@ -3775,7 +3775,7 @@ ZEND_VM_HANDLER(118, ZEND_INIT_USER_CALL, CONST, CONST|TMPVAR|CV, NUM)
init_func_run_time_cache(&func->op_array); init_func_run_time_cache(&func->op_array);
} }
} else { } else {
zend_type_error("%s() expects argument #1 ($function) to be a valid callback, %s", Z_STRVAL_P(RT_CONSTANT(opline, opline->op1)), error); zend_type_error("%s(): Argument #1 ($function) must be a valid callback, %s", Z_STRVAL_P(RT_CONSTANT(opline, opline->op1)), error);
efree(error); efree(error);
FREE_OP2(); FREE_OP2();
HANDLE_EXCEPTION(); HANDLE_EXCEPTION();
@ -4938,7 +4938,7 @@ ZEND_VM_HANDLER(119, ZEND_SEND_ARRAY, ANY, ANY, NUM)
ZEND_VM_C_GOTO(send_array); ZEND_VM_C_GOTO(send_array);
} }
} }
zend_type_error("call_user_func_array() expects argument #2 ($args) to be of type array, %s given", zend_get_type_by_const(Z_TYPE_P(args))); zend_type_error("call_user_func_array(): Argument #2 ($args) must be of type array, %s given", zend_get_type_by_const(Z_TYPE_P(args)));
FREE_UNFETCHED_OP2(); FREE_UNFETCHED_OP2();
FREE_OP1(); FREE_OP1();
HANDLE_EXCEPTION(); HANDLE_EXCEPTION();
@ -7909,7 +7909,7 @@ ZEND_VM_COLD_CONST_HANDLER(121, ZEND_STRLEN, CONST|TMPVAR|CV, ANY)
zval_ptr_dtor(&tmp); zval_ptr_dtor(&tmp);
} }
if (!EG(exception)) { if (!EG(exception)) {
zend_type_error("strlen() expects argument #1 ($str) to be of type string, %s given", zend_get_type_by_const(Z_TYPE_P(value))); zend_type_error("strlen(): Argument #1 ($str) must be of type string, %s given", zend_get_type_by_const(Z_TYPE_P(value)));
} }
ZVAL_UNDEF(EX_VAR(opline->result.var)); ZVAL_UNDEF(EX_VAR(opline->result.var));
} while (0); } while (0);
@ -8517,7 +8517,7 @@ ZEND_VM_COLD_CONST_HANDLER(191, ZEND_GET_CLASS, UNUSED|CONST|TMPVAR|CV, UNUSED)
if (OP1_TYPE == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) { if (OP1_TYPE == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
ZVAL_UNDEFINED_OP1(); ZVAL_UNDEFINED_OP1();
} }
zend_type_error("get_class() expects argument #1 ($object) to be of type object, %s given", zend_get_type_by_const(Z_TYPE_P(op1))); zend_type_error("get_class(): Argument #1 ($object) must be of type object, %s given", zend_get_type_by_const(Z_TYPE_P(op1)));
ZVAL_UNDEF(EX_VAR(opline->result.var)); ZVAL_UNDEF(EX_VAR(opline->result.var));
} }
break; break;

View file

@ -1981,7 +1981,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_ARRAY_SPEC_HANDLER(ZEND_O
goto send_array; goto send_array;
} }
} }
zend_type_error("call_user_func_array() expects argument #2 ($args) to be of type array, %s given", zend_get_type_by_const(Z_TYPE_P(args))); zend_type_error("call_user_func_array(): Argument #2 ($args) must be of type array, %s given", zend_get_type_by_const(Z_TYPE_P(args)));
FREE_UNFETCHED_OP(opline->op2_type, opline->op2.var); FREE_UNFETCHED_OP(opline->op2_type, opline->op2.var);
FREE_OP(opline->op1_type, opline->op1.var); FREE_OP(opline->op1_type, opline->op1.var);
HANDLE_EXCEPTION(); HANDLE_EXCEPTION();
@ -4464,7 +4464,7 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_STRLEN_SPEC_CONST
zval_ptr_dtor(&tmp); zval_ptr_dtor(&tmp);
} }
if (!EG(exception)) { if (!EG(exception)) {
zend_type_error("strlen() expects argument #1 ($str) to be of type string, %s given", zend_get_type_by_const(Z_TYPE_P(value))); zend_type_error("strlen(): Argument #1 ($str) must be of type string, %s given", zend_get_type_by_const(Z_TYPE_P(value)));
} }
ZVAL_UNDEF(EX_VAR(opline->result.var)); ZVAL_UNDEF(EX_VAR(opline->result.var));
} while (0); } while (0);
@ -5889,7 +5889,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_USER_CALL_SPEC_CONST_CONS
init_func_run_time_cache(&func->op_array); init_func_run_time_cache(&func->op_array);
} }
} else { } else {
zend_type_error("%s() expects argument #1 ($function) to be a valid callback, %s", Z_STRVAL_P(RT_CONSTANT(opline, opline->op1)), error); zend_type_error("%s(): Argument #1 ($function) must be a valid callback, %s", Z_STRVAL_P(RT_CONSTANT(opline, opline->op1)), error);
efree(error); efree(error);
HANDLE_EXCEPTION(); HANDLE_EXCEPTION();
@ -8065,7 +8065,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_USER_CALL_SPEC_CONST_TMPV
init_func_run_time_cache(&func->op_array); init_func_run_time_cache(&func->op_array);
} }
} else { } else {
zend_type_error("%s() expects argument #1 ($function) to be a valid callback, %s", Z_STRVAL_P(RT_CONSTANT(opline, opline->op1)), error); zend_type_error("%s(): Argument #1 ($function) must be a valid callback, %s", Z_STRVAL_P(RT_CONSTANT(opline, opline->op1)), error);
efree(error); efree(error);
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var)); zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
HANDLE_EXCEPTION(); HANDLE_EXCEPTION();
@ -9333,7 +9333,7 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_GET_CLASS_SPEC_CO
if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) { if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
ZVAL_UNDEFINED_OP1(); ZVAL_UNDEFINED_OP1();
} }
zend_type_error("get_class() expects argument #1 ($object) to be of type object, %s given", zend_get_type_by_const(Z_TYPE_P(op1))); zend_type_error("get_class(): Argument #1 ($object) must be of type object, %s given", zend_get_type_by_const(Z_TYPE_P(op1)));
ZVAL_UNDEF(EX_VAR(opline->result.var)); ZVAL_UNDEF(EX_VAR(opline->result.var));
} }
break; break;
@ -10320,7 +10320,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_USER_CALL_SPEC_CONST_CV_H
init_func_run_time_cache(&func->op_array); init_func_run_time_cache(&func->op_array);
} }
} else { } else {
zend_type_error("%s() expects argument #1 ($function) to be a valid callback, %s", Z_STRVAL_P(RT_CONSTANT(opline, opline->op1)), error); zend_type_error("%s(): Argument #1 ($function) must be a valid callback, %s", Z_STRVAL_P(RT_CONSTANT(opline, opline->op1)), error);
efree(error); efree(error);
HANDLE_EXCEPTION(); HANDLE_EXCEPTION();
@ -13305,7 +13305,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_STRLEN_SPEC_TMPVAR_HANDLER(ZEN
zval_ptr_dtor(&tmp); zval_ptr_dtor(&tmp);
} }
if (!EG(exception)) { if (!EG(exception)) {
zend_type_error("strlen() expects argument #1 ($str) to be of type string, %s given", zend_get_type_by_const(Z_TYPE_P(value))); zend_type_error("strlen(): Argument #1 ($str) must be of type string, %s given", zend_get_type_by_const(Z_TYPE_P(value)));
} }
ZVAL_UNDEF(EX_VAR(opline->result.var)); ZVAL_UNDEF(EX_VAR(opline->result.var));
} while (0); } while (0);
@ -16412,7 +16412,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_GET_CLASS_SPEC_TMPVAR_UNUSED_H
if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) { if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
ZVAL_UNDEFINED_OP1(); ZVAL_UNDEFINED_OP1();
} }
zend_type_error("get_class() expects argument #1 ($object) to be of type object, %s given", zend_get_type_by_const(Z_TYPE_P(op1))); zend_type_error("get_class(): Argument #1 ($object) must be of type object, %s given", zend_get_type_by_const(Z_TYPE_P(op1)));
ZVAL_UNDEF(EX_VAR(opline->result.var)); ZVAL_UNDEF(EX_VAR(opline->result.var));
} }
break; break;
@ -33308,7 +33308,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_GET_CLASS_SPEC_UNUSED_UNUSED_H
if (IS_UNUSED == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) { if (IS_UNUSED == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
ZVAL_UNDEFINED_OP1(); ZVAL_UNDEFINED_OP1();
} }
zend_type_error("get_class() expects argument 1 ($object) to be of type object, %s given", zend_get_type_by_const(Z_TYPE_P(op1))); zend_type_error("Argument 1 ($object) passed to get_class() must be of type object, %s given", zend_get_type_by_const(Z_TYPE_P(op1)));
ZVAL_UNDEF(EX_VAR(opline->result.var)); ZVAL_UNDEF(EX_VAR(opline->result.var));
} }
break; break;
@ -36702,7 +36702,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_STRLEN_SPEC_CV_HANDLER(ZEND_OP
zval_ptr_dtor(&tmp); zval_ptr_dtor(&tmp);
} }
if (!EG(exception)) { if (!EG(exception)) {
zend_type_error("strlen() expects argument #1 ($str) to be of type string, %s given", zend_get_type_by_const(Z_TYPE_P(value))); zend_type_error("strlen(): Argument #1 ($str) must be of type string, %s given", zend_get_type_by_const(Z_TYPE_P(value)));
} }
ZVAL_UNDEF(EX_VAR(opline->result.var)); ZVAL_UNDEF(EX_VAR(opline->result.var));
} while (0); } while (0);
@ -45260,7 +45260,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_GET_CLASS_SPEC_CV_UNUSED_HANDL
if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) { if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
ZVAL_UNDEFINED_OP1(); ZVAL_UNDEFINED_OP1();
} }
zend_type_error("get_class() expects argument #1 ($object) to be of type object, %s given", zend_get_type_by_const(Z_TYPE_P(op1))); zend_type_error("get_class(): Argument #1 ($object) must be of type object, %s given", zend_get_type_by_const(Z_TYPE_P(op1)));
ZVAL_UNDEF(EX_VAR(opline->result.var)); ZVAL_UNDEF(EX_VAR(opline->result.var));
} }
break; break;

View file

@ -20,6 +20,6 @@ curl_setopt($ch, -10, 0);
?> ?>
--EXPECTF-- --EXPECTF--
*** curl_setopt() call with incorrect parameters *** curl_setopt() call with incorrect parameters
curl_setopt() expects argument #2 ($option) to be of type int, string given curl_setopt(): Argument #2 ($option) must be of type int, string given
Warning: curl_setopt(): Invalid curl configuration option in %scurl_setopt_error.php on line %d Warning: curl_setopt(): Invalid curl configuration option in %scurl_setopt_error.php on line %d

View file

@ -33,7 +33,7 @@ object(DateTimeZone)#%d (2) {
} }
int(0) int(0)
Fatal error: Uncaught TypeError: timezone_offset_get() expects argument #1 ($object) to be of type DateTimeZone, object given in %s:%d Fatal error: Uncaught TypeError: timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, object given in %s:%d
Stack trace: Stack trace:
#0 %s(%d): timezone_offset_get(Object(DateTime), Object(DateTimeZone)) #0 %s(%d): timezone_offset_get(Object(DateTime), Object(DateTimeZone))
#1 {main} #1 {main}

View file

@ -14,4 +14,4 @@ try {
} }
--EXPECT-- --EXPECT--
3600 3600
DateTimeZone::getOffset() expects argument #1 ($datetime) to be of type DateTimeInterface, int given DateTimeZone::getOffset(): Argument #1 ($datetime) must be of type DateTimeInterface, int given

View file

@ -24,4 +24,4 @@ object(DateTimeImmutable)#%d (3) {
["timezone"]=> ["timezone"]=>
string(13) "Europe/London" string(13) "Europe/London"
} }
DateTimeImmutable::createFromMutable() expects argument #1 ($object) to be of type DateTime, object given DateTimeImmutable::createFromMutable(): Argument #1 ($object) must be of type DateTime, object given

View file

@ -30,4 +30,4 @@ object(DateTime)#%d (3) {
string(13) "Europe/London" string(13) "Europe/London"
} }
bool(true) bool(true)
DateTime::createFromImmutable() expects argument #1 ($object) to be of type DateTimeImmutable, object given DateTime::createFromImmutable(): Argument #1 ($object) must be of type DateTimeImmutable, object given

View file

@ -13,4 +13,4 @@ try {
} }
?> ?>
--EXPECT-- --EXPECT--
mktime() expects argument #6 ($year) to be of type int, float given mktime(): Argument #6 ($year) must be of type int, float given

View file

@ -28,7 +28,7 @@ var_dump($i->format('%s'));
string(32) "5138-11-16 09:46:40 100000000000" string(32) "5138-11-16 09:46:40 100000000000"
bool(false) bool(false)
string(12) "100000000000" string(12) "100000000000"
DateTime::setTimestamp() expects argument #1 ($timestamp) to be of type int, float given DateTime::setTimestamp(): Argument #1 ($timestamp) must be of type int, float given
string(32) "5138-11-16 09:46:40 100000000000" string(32) "5138-11-16 09:46:40 100000000000"
bool(false) bool(false)
string(10) "1215752192" string(10) "1215752192"

View file

@ -10,4 +10,4 @@ try {
} }
?> ?>
--EXPECT-- --EXPECT--
strtotime() expects argument #2 ($now) to be of type int, object given strtotime(): Argument #2 ($now) must be of type int, object given

View file

@ -47,11 +47,11 @@ float(%s)
int(0) int(0)
} }
} }
microtime() expects argument #1 ($get_as_float) to be of type bool, array given microtime(): Argument #1 ($get_as_float) must be of type bool, array given
--> bad arg: object(stdClass)#%d (0) { --> bad arg: object(stdClass)#%d (0) {
} }
microtime() expects argument #1 ($get_as_float) to be of type bool, object given microtime(): Argument #1 ($get_as_float) must be of type bool, object given
--> bad arg: int(1) --> bad arg: int(1)
float(%s) float(%s)

View file

@ -65,16 +65,16 @@ try {
*** Testing timezone_offset_get() : error conditions *** *** Testing timezone_offset_get() : error conditions ***
-- Testing timezone_offset_get() function with an invalid values for $object argument -- -- Testing timezone_offset_get() function with an invalid values for $object argument --
string(92) "timezone_offset_get() expects argument #1 ($object) to be of type DateTimeZone, object given" string(87) "timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, object given"
string(89) "timezone_offset_get() expects argument #1 ($object) to be of type DateTimeZone, int given" string(84) "timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, int given"
string(90) "timezone_offset_get() expects argument #1 ($object) to be of type DateTimeZone, null given" string(85) "timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, null given"
-- Testing timezone_offset_get() function with an invalid values for $datetime argument -- -- Testing timezone_offset_get() function with an invalid values for $datetime argument --
string(99) "timezone_offset_get() expects argument #2 ($datetime) to be of type DateTimeInterface, object given" string(94) "timezone_offset_get(): Argument #2 ($datetime) must be of type DateTimeInterface, object given"
string(96) "timezone_offset_get() expects argument #2 ($datetime) to be of type DateTimeInterface, int given" string(91) "timezone_offset_get(): Argument #2 ($datetime) must be of type DateTimeInterface, int given"
string(97) "timezone_offset_get() expects argument #2 ($datetime) to be of type DateTimeInterface, null given" string(92) "timezone_offset_get(): Argument #2 ($datetime) must be of type DateTimeInterface, null given"

View file

@ -23,5 +23,5 @@ try {
--EXPECTF-- --EXPECTF--
bool(true) bool(true)
bool(false) bool(false)
TypeError: FFI::isNull() expects argument #1 ($ptr) to be of type FFI\CData, null given TypeError: FFI::isNull(): Argument #1 ($ptr) must be of type FFI\CData, null given
FFI\Exception: Cannot instantiate FFI\CData of zero size FFI\Exception: Cannot instantiate FFI\CData of zero size

View file

@ -19,7 +19,7 @@ var_dump(finfo_open(FILEINFO_MIME, '/foo/bar/inexistent'));
?> ?>
--EXPECTF-- --EXPECTF--
finfo_open() expects argument #2 ($arg) to be a valid path, string given finfo_open(): Argument #2 ($arg) must be a valid path, string given
resource(%d) of type (file_info) resource(%d) of type (file_info)
resource(%d) of type (file_info) resource(%d) of type (file_info)

View file

@ -42,5 +42,5 @@ bool(false)
Notice: finfo_open(): Warning: using regular magic file `%smagic' in %sfinfo_open_error.php on line %d Notice: finfo_open(): Warning: using regular magic file `%smagic' in %sfinfo_open_error.php on line %d
resource(6) of type (file_info) resource(6) of type (file_info)
finfo_open() expects argument #1 ($options) to be of type int, string given finfo_open(): Argument #1 ($options) must be of type int, string given
finfo::__construct() expects argument #1 ($options) to be of type int, string given finfo::__construct(): Argument #1 ($options) must be of type int, string given

View file

@ -14,4 +14,4 @@ try {
} }
?> ?>
--EXPECT-- --EXPECT--
imagegd() expects argument #2 ($to) to be a valid path, string given imagegd(): Argument #2 ($to) must be a valid path, string given

View file

@ -14,4 +14,4 @@ try {
} }
?> ?>
--EXPECT-- --EXPECT--
imagegd() expects argument #2 ($to) to be a valid path, string given imagegd(): Argument #2 ($to) must be a valid path, string given

View file

@ -14,4 +14,4 @@ try {
} }
?> ?>
--EXPECTF-- --EXPECTF--
imagexbm() expects argument #2 ($filename) to be a valid path, string given imagexbm(): Argument #2 ($filename) must be a valid path, string given

View file

@ -47,5 +47,5 @@ Warning: gmp_clrbit(): Index must be greater than or equal to zero in %s on line
string(7) "1000000" string(7) "1000000"
string(7) "1000000" string(7) "1000000"
string(30) "238462734628347239571822592658" string(30) "238462734628347239571822592658"
gmp_clrbit() expects argument #1 ($a) to be of type GMP, array given gmp_clrbit(): Argument #1 ($a) must be of type GMP, array given
Done Done

View file

@ -47,7 +47,7 @@ Warning: gmp_pow(): Negative exponent not supported in %s on line %d
string(1) "0" string(1) "0"
string(14) "10240000000000" string(14) "10240000000000"
string(14) "10240000000000" string(14) "10240000000000"
gmp_pow() expects argument #2 ($exp) to be of type int, array given gmp_pow(): Argument #2 ($exp) must be of type int, array given
Warning: gmp_pow(): Unable to convert variable to GMP - wrong type in %s on line %d Warning: gmp_pow(): Unable to convert variable to GMP - wrong type in %s on line %d
bool(false) bool(false)

View file

@ -57,6 +57,6 @@ string(1) "7"
string(12) "100008388608" string(12) "100008388608"
string(12) "100000000000" string(12) "100000000000"
string(12) "100000000008" string(12) "100000000008"
gmp_setbit() expects argument #1 ($a) to be of type GMP, string given gmp_setbit(): Argument #1 ($a) must be of type GMP, string given
gmp_setbit() expects argument #1 ($a) to be of type GMP, array given gmp_setbit(): Argument #1 ($a) must be of type GMP, array given
Done Done

View file

@ -22,6 +22,6 @@ Checking with no parameters
Warning: imap_num_recent() expects exactly 1 parameter, 0 given in %s on line %d Warning: imap_num_recent() expects exactly 1 parameter, 0 given in %s on line %d
Checking with incorrect parameter type Checking with incorrect parameter type
Warning: imap_num_recent() expects argument #1 to be of type resource, string given in %s on line %d Warning: imap_num_recent(): Argument #1 must be of type resource, string given in %s on line %d
Warning: imap_num_recent() expects argument #1 to be of type resource, bool given in %s on line %d Warning: imap_num_recent(): Argument #1 must be of type resource, bool given in %s on line %d

View file

@ -28,8 +28,8 @@ Checking with no parameters
Warning: imap_gc() Expects exactly 2 parameters, 0 given in %s on line %d Warning: imap_gc() Expects exactly 2 parameters, 0 given in %s on line %d
Checking with incorrect parameter type Checking with incorrect parameter type
Warning: imap_gc() expects argument #1 to be of type resource, string given in %s on line %d Warning: imap_gc(): Argument #1 must be of type resource, string given in %s on line %d
Warning: imap_gc() expects argument #1 to be of type resource, bool given in %s on line %d Warning: imap_gc(): Argument #1 must be of type resource, bool given in %s on line %d
Warning: imap_gc(): Invalid value for the flags parameter in %s on line %d Warning: imap_gc(): Invalid value for the flags parameter in %s on line %d

View file

@ -22,6 +22,6 @@ Checking with no parameters
Warning: imap_headers() expects exactly 1 parameter, 0 given in %s on line %d Warning: imap_headers() expects exactly 1 parameter, 0 given in %s on line %d
Checking with incorrect parameter type Checking with incorrect parameter type
Warning: imap_headers() expects argument #1 to be of type resource, string given in %s on line %d Warning: imap_headers(): Argument #1 must be of type resource, string given in %s on line %d
Warning: imap_headers() expects argument #1 to be of type resource, bool given in %s on line %d Warning: imap_headers(): Argument #1 must be of type resource, bool given in %s on line %d

View file

@ -22,6 +22,6 @@ Checking with no parameters
Warning: imap_num_msg() expects exactly 1 parameter, 0 given in %s on line %d Warning: imap_num_msg() expects exactly 1 parameter, 0 given in %s on line %d
Checking with incorrect parameter type Checking with incorrect parameter type
Warning: imap_num_msg() expects argument #1 to be of type resource, string given in %s on line %d Warning: imap_num_msg(): Argument #1 must be of type resource, string given in %s on line %d
Warning: imap_num_msg() expects argument #1 to be of type resource, bool given in %s on line %d Warning: imap_num_msg(): Argument #1 must be of type resource, bool given in %s on line %d

View file

@ -22,6 +22,6 @@ Checking with no parameters
Warning: imap_expunge() expects exactly 1 parameter, 0 given in %s on line %d Warning: imap_expunge() expects exactly 1 parameter, 0 given in %s on line %d
Checking with incorrect parameter type Checking with incorrect parameter type
Warning: imap_expunge() expects argument #1 to be of type resource, string given in %s on line %d Warning: imap_expunge(): Argument #1 must be of type resource, string given in %s on line %d
Warning: imap_expunge() expects argument #1 to be of type resource, bool given in %s on line %d Warning: imap_expunge(): Argument #1 must be of type resource, bool given in %s on line %d

View file

@ -22,6 +22,6 @@ Checking with no parameters
Warning: imap_ping() expects exactly 1 parameter, 0 given in %s on line %d Warning: imap_ping() expects exactly 1 parameter, 0 given in %s on line %d
Checking with incorrect parameter type Checking with incorrect parameter type
Warning: imap_ping() expects argument #1 to be of type resource, string given in %s on line %d Warning: imap_ping(): Argument #1 must be of type resource, string given in %s on line %d
Warning: imap_ping() expects argument #1 to be of type resource, bool given in %s on line %d Warning: imap_ping(): Argument #1 must be of type resource, bool given in %s on line %d

View file

@ -44,7 +44,7 @@ Checking with no parameters
Warning: imap_timeout() expects at least 1 parameter, 0 given in %s on line %d Warning: imap_timeout() expects at least 1 parameter, 0 given in %s on line %d
Checking with incorrect parameter type Checking with incorrect parameter type
Warning: imap_timeout() expects argument #1 to be of type int, %s given in %s on line %d Warning: imap_timeout(): Argument #1 must be of type int, %s given in %s on line %d
GET values: GET values:
int(%d) int(%d)
int(%d) int(%d)

View file

@ -43,6 +43,6 @@ Exception: IntlRuleBasedBreakIterator::__construct() expects at least 1 paramete
Exception: IntlRuleBasedBreakIterator::__construct() expects at most 2 parameters, 3 given in %s on line %d Exception: IntlRuleBasedBreakIterator::__construct() expects at most 2 parameters, 3 given in %s on line %d
Exception: IntlRuleBasedBreakIterator::__construct() expects argument #2 ($areCompiled) to be of type bool, array given in %s on line %d Exception: IntlRuleBasedBreakIterator::__construct(): Argument #2 ($areCompiled) must be of type bool, array given in %s on line %d
Exception: IntlRuleBasedBreakIterator::__construct(): rbbi_create_instance: unable to create instance from compiled rules in %s on line %d Exception: IntlRuleBasedBreakIterator::__construct(): rbbi_create_instance: unable to create instance from compiled rules in %s on line %d

View file

@ -16,7 +16,7 @@ foreach (['', 1, NULL, $x] as $value) {
?> ?>
--EXPECT-- --EXPECT--
NumberFormatter::format() expects argument #1 ($value) to be of type number, string given NumberFormatter::format(): Argument #1 ($value) must be of type number, string given
string(1) "1" string(1) "1"
string(1) "0" string(1) "0"
NumberFormatter::format() expects argument #1 ($value) to be of type number, object given NumberFormatter::format(): Argument #1 ($value) must be of type number, object given

View file

@ -12,7 +12,7 @@ ini_set("intl.error_level", E_WARNING);
var_dump(intlcal_add(1, 2, 3)); var_dump(intlcal_add(1, 2, 3));
--EXPECTF-- --EXPECTF--
Fatal error: Uncaught TypeError: intlcal_add() expects argument #1 ($calendar) to be of type IntlCalendar, int given in %s:%d Fatal error: Uncaught TypeError: intlcal_add(): Argument #1 ($calendar) must be of type IntlCalendar, int given in %s:%d
Stack trace: Stack trace:
#0 %s(%d): intlcal_add(1, 2, 3) #0 %s(%d): intlcal_add(1, 2, 3)
#1 {main} #1 {main}

View file

@ -65,9 +65,9 @@ error: 0, IntlCalendar::after() expects exactly 1 parameter, 0 given
error: 0, IntlCalendar::before() expects exactly 1 parameter, 0 given error: 0, IntlCalendar::before() expects exactly 1 parameter, 0 given
error: 0, IntlCalendar::after() expects argument #1 ($calendar) to be of type IntlCalendar, int given error: 0, IntlCalendar::after(): Argument #1 ($calendar) must be of type IntlCalendar, int given
error: 0, IntlCalendar::before() expects argument #1 ($calendar) to be of type IntlCalendar, int given error: 0, IntlCalendar::before(): Argument #1 ($calendar) must be of type IntlCalendar, int given
error: 0, IntlCalendar::after() expects exactly 1 parameter, 2 given error: 0, IntlCalendar::after() expects exactly 1 parameter, 2 given

Some files were not shown because too many files have changed in this diff Show more