--------------[ TESTCASE ]--------------
enum(SpecialReturnValue::NoReturn)
Success: without a return statement is always valid.
Created uniqueId 1
--------------[ TESTCASE ]--------------
enum(SpecialReturnValue::ReturnWithoutValue)
Success: a return statement without a value is always valid.
Created uniqueId 2
--------------[ TESTCASE ]--------------
enum(SpecialReturnValue::ReturnDollarThis)
Dubious: return $this is dubious.
- it fullfills the return type, so it could be allowed.
- but returning anything from a constructor is nonsense, because it is discarded by "new".
As shown by the fourth testcase new SomeTypeError(SpecialReturnValue::NoReturn).
Created uniqueId 3
--------------[ TESTCASE ]--------------
object(ShouldTypeError)#8 (1) {
["uniqueId"]=>
int(0)
}
Error: why is it not a return TypeError?
Created uniqueId 4
--------------[ TESTCASE ]--------------
string(11) "Const hello"
Error: why is it not a return TypeError?
Created uniqueId 5
--------------[ TESTCASE ]--------------
string(3) "abc"
Error: why is it not a return TypeError?
Created uniqueId 6
--------------[ TESTCASE ]--------------
int(1)
Error: why is it not a return TypeError?
Created uniqueId 7
--------------[ TESTCASE ]--------------
float(1.23)
Error: why is it not a return TypeError?
Created uniqueId 8
--------------[ TESTCASE ]--------------
NULL
Error: why is it not a return TypeError?
Created uniqueId 9
--------------[ TESTCASE ]--------------
bool(true)
Error: why is it not a return TypeError?
Created uniqueId 10
--------------[ TESTCASE ]--------------
bool(false)
Error: why is it not a return TypeError?
Created uniqueId 11
--------------[ TESTCASE ]--------------
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
Error: why is it not a return TypeError?
Created uniqueId 12
--------------[ TESTCASE ]--------------
array(3) {
[6]=>
string(3) "six"
[7]=>
string(5) "seven"
[67]=>
string(9) "six seven"
}
Error: why is it not a return TypeError?
Created uniqueId 13
--------------[ TESTCASE ]--------------
array(4) {
["a"]=>
string(1) "a"
["b"]=>
string(1) "b"
["c"]=>
string(1) "c"
[0]=>
string(4) "Zero"
}
Error: why is it not a return TypeError?
Created uniqueId 14
--------------[ TESTCASE ]--------------
enum(SpecialReturnValue::ReturnVoid)
Success: throwable: Undefined constant "void"
--------------[ TESTCASE ]--------------
enum(SpecialReturnValue::ReturnNever)
Success: throwable: Undefined constant "never"
--------------[ TESTCASE ]--------------
enum(SomeEnum::Spades)
Error: why is it not a return TypeError?
Created uniqueId 17
--------------[ TESTCASE ]--------------
object(Closure)#12 (3) {
["name"]=>
string(22) "{closure:/in/svfeO:84}"
["file"]=>
string(9) "/in/svfeO"
["line"]=>
int(84)
}
Error: why is it not a return TypeError?
Created uniqueId 18
--------------[ TESTCASE ]--------------
object(Closure)#1 (3) {
["name"]=>
string(22) "{closure:/in/svfeO:51}"
["file"]=>
string(9) "/in/svfeO"
["line"]=>
int(51)
}
Error: why is it not a return TypeError?
Created uniqueId 19
--------------[ TESTCASE ]--------------
object(Closure)#2 (1) {
["function"]=>
string(12) "SomeFunction"
}
Error: why is it not a return TypeError?
Created uniqueId 20
--------------[ TESTCASE ]--------------
object(Closure)#3 (1) {
["function"]=>
string(12) "SomeFunction"
}
Error: why is it not a return TypeError?
Created uniqueId 21
--------------[ TESTCASE ]--------------
object(Closure)#4 (4) {
["name"]=>
string(22) "{closure:/in/svfeO:59}"
["file"]=>
string(9) "/in/svfeO"
["line"]=>
int(59)
["parameter"]=>
array(1) {
["$a"]=>
string(10) "<required>"
}
}
Error: why is it not a return TypeError?
Created uniqueId 22
--------------[ TESTCASE ]--------------
object(DateTimeImmutable)#13 (3) {
["date"]=>
string(26) "2026-01-31 12:59:15.025949"
["timezone_type"]=>
int(3)
["timezone"]=>
string(16) "Europe/Amsterdam"
}
Error: why is it not a return TypeError?
Created uniqueId 23
--------------[ TESTCASE ]--------------
resource(5) of type (stream)
Error: why is it not a return TypeError?
Created uniqueId 24