xxxxxxxxxx
/**
* @psalm-assert-if-false string $value
* @psalm-assert-if-true int $value
*/
function isRight(string|int $value): bool
{
return is_int($value);
}
function testRight(int $v): void {}
function testLeft(string $v): void {}
/** @var int|string */
$value = 0;
isRight($value)
? testRight($value)
: testLeft($value);
if (isRight($value)) {
testRight($value);
} else {
testLeft($value);
}
!isRight($value)
? testLeft($value)
: testRight($value);
if (!isRight($value)) {
testLeft($value);
} else {
testRight($value);
}