Martin Herndl
Martin Herndl
Closes https://github.com/phpstan/phpstan-webmozart-assert/issues/129 Brings back what was reverted in https://github.com/phpstan/phpstan-webmozart-assert/pull/89 and steals ideas from https://github.com/phpstan/phpstan-webmozart-assert/pull/128
I was blindly following that comment (see diff), but tbh I did not fully understand it. Is it fine to do this or should it be rather deprecated via phpdoc?...
in favor of direct usage of `composer/package-versions-deprecated` it was using internally already. See also https://github.com/Jean85/pretty-package-versions/blob/1.6.0/src/PrettyVersions.php#L13 and https://github.com/Jean85/pretty-package-versions/blob/1.6.0/src/Version.php#L25 the even nicer alternative would be to bump the composer API to v2...
well, another try of improving in_array, this time ConstantArrayType-specific only. It seems to be adding value, but I don't like that one conditional and that ConstantArrayType need this extra handling....
Closes https://github.com/phpstan/phpstan/issues/7415 Doesn't feel like the most elegant solution though.. I played around a bit with `MixedType::isSuperTypeOf` but did not find something better unfortunately.
Hi, indirectly, via [phpstan user report](https://github.com/phpstan/phpstan/issues/7787), I found out that there is valid PHP code that triggers endless recursion in Better Reflection. E.g. circular class or interface extends statements like...
low-hanging fruit cleanup / improvement :) - fixes `ArrayType::getKeysArray()` (by using `getIterableKeyType()` mixed keys are correctly transformed into benevolent unions) - simplifies list type creation for `array_is_list` - gives us...
This is a boring one, but at least I could get rid of the `TypeTraverser` usage. I should have never added that.. I wasn't sure at first, but indeed, `array_shift`...
Closes https://github.com/phpstan/phpstan/issues/8153 See https://github.com/phpstan/phpstan/issues/8153#issuecomment-1275992641 and the next comment for how I came to this. I'm still not a 100% sure though if this really belongs here. It does make sense...
Quite late, I know, but I just upgraded Guzzle 1 -> 2 in an app and noticed errors about undefined functions. When going through the changelogs at the same time...