@@ -18,8 +18,8 @@ function foo(int $a, float $b, $numeric, $numeric2, $number, $positive, $negativ
18
18
assertType ('numeric-string ' , (string )$ numeric );
19
19
assertType ('numeric-string ' , (string )$ numeric2 );
20
20
assertType ('numeric-string ' , (string )$ number );
21
- assertType ('numeric-string ' , (string )$ positive );
22
- assertType ('numeric-string ' , (string )$ negative );
21
+ assertType ('non-falsy-string& numeric-string ' , (string )$ positive );
22
+ assertType ('non-falsy-string& numeric-string ' , (string )$ negative );
23
23
assertType ("'1' " , (string )$ constantInt );
24
24
}
25
25
@@ -37,17 +37,17 @@ function concatEmptyString(int $a, float $b, $numeric, $numeric2, $number, $posi
37
37
assertType ('numeric-string ' , '' . $ numeric );
38
38
assertType ('numeric-string ' , '' . $ numeric2 );
39
39
assertType ('numeric-string ' , '' . $ number );
40
- assertType ('numeric-string ' , '' . $ positive );
41
- assertType ('numeric-string ' , '' . $ negative );
40
+ assertType ('non-falsy-string& numeric-string ' , '' . $ positive );
41
+ assertType ('non-falsy-string& numeric-string ' , '' . $ negative );
42
42
assertType ("'1' " , '' . $ constantInt );
43
43
44
44
assertType ('numeric-string ' , $ a . '' );
45
45
assertType ('numeric-string ' , $ b . '' );
46
46
assertType ('numeric-string ' , $ numeric . '' );
47
47
assertType ('numeric-string ' , $ numeric2 . '' );
48
48
assertType ('numeric-string ' , $ number . '' );
49
- assertType ('numeric-string ' , $ positive . '' );
50
- assertType ('numeric-string ' , $ negative . '' );
49
+ assertType ('non-falsy-string& numeric-string ' , $ positive . '' );
50
+ assertType ('non-falsy-string& numeric-string ' , $ negative . '' );
51
51
assertType ("'1' " , $ constantInt . '' );
52
52
}
53
53
@@ -59,3 +59,20 @@ function concatAssignEmptyString(int $i, float $f) {
59
59
$ s .= $ f ;
60
60
assertType ('numeric-string ' , $ s );
61
61
}
62
+
63
+ /**
64
+ * @param int<0, max> $positive
65
+ * @param int<min, 0> $negative
66
+ */
67
+ function integerRangeToString ($ positive , $ negative )
68
+ {
69
+ assertType ('numeric-string ' , (string ) $ positive );
70
+ assertType ('numeric-string ' , (string ) $ negative );
71
+
72
+ if ($ positive !== 0 ) {
73
+ assertType ('non-falsy-string&numeric-string ' , (string ) $ positive );
74
+ }
75
+ if ($ negative !== 0 ) {
76
+ assertType ('non-falsy-string&numeric-string ' , (string ) $ negative );
77
+ }
78
+ }
0 commit comments