chore: rename path package and change path
chore: inline composer.json using codeBlock
Adds a php require of ^8.1 and a config.platform.php of 8.1.99
everywhere as it exists in the root composer.json already. This basically tells renovate to use PHP 8.1 instead of the latest reachable one (e.g. 8.2) which could otherwise result in invalid update PRs like https://github.com/phpstan/phpstan-src/pull/2285
Ok, understood. There are other ways to configure renovate properly if it bothers you with weird PRs :)
chore: add dependency with a proper skipReason instead of completely ignoring it
Adds a php require of ^8.1 and a platform.php of 8.1.99
everywhere as it exists in the root composer.json already. This basically tells renovate to use PHP 8.1 instead of the latest reachable one (e.g. 8.2).
Bleeding edge - check invalid PHPDocs in previously unchecked statement types
Bleeding edge - InvalidPHPStanDocTagRule in StubValidator
InvalidPHPStanDocTagRule - added forgotten handling of ClassConst
Fix wrong positives about templates in conditional types
Update PHP 8 stubs
Update PHP 8 stubs
Regression tests
Closes https://github.com/phpstan/phpstan/issues/8408 Closes https://github.com/phpstan/phpstan/issues/7310
Fix build
Backed enums - dynamic return type extension for from() and tryFrom()
Fix build
Fix XMLReader::XML return type
TMP - always commit PHAR
PHAR - sign as PHPStan Bot
Revert "TMP - always commit PHAR"
This reverts commit 42e33e67b44c29f7084968092735f35f6348ec60.
I guess this could be seen as a fix even too? The actual feature is the path-based datasource support I suppose 🤔
Skips composer path repo dependencies in the extraction phase. Previously these were looked up on packagist.org instead which does either not work or might be problematic even.
This is the first step for a path-based datasource as it was described in https://github.com/renovatebot/renovate/issues/11674#issuecomment-926065715
I have verified these changes via:
test: cover more cases by unit tests (#19086)
fix(cache): skip save repo cache on dry-run (#19094)
fix(nuget): disable msbuild node reuse (#19095)
docs(readme): update supported platforms (#19098)
feat(nuget): skip restore non-leaf projects (#19097)
chore: Disable consistent-return eslint rule (#19101)
fix(presets): pass through tag to platform for local (#19102)
feat(manager/gomod): dynamic golang install 🎉 (#19104)
chore(deps): update github/codeql-action action to v2.1.34 (#19108)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
chore(deps): update dependency @openpgp/web-stream-tools to v0.0.13 (#19107)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
build(deps): update dependency @opentelemetry/instrumentation-bunyan to v0.31.0 (#19109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
feat(manager/cargo): support dynamic install 🎉 (#19106)
chore(deps): update node.js to ba8317a (#19114)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
chore(deps): update dependency eslint to v8.28.0 (#19115)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
feat(branch/update): add edited/blocked PR comment on modified branches (#18895)
Co-authored-by: Rhys Arkins rhys@arkins.net Closes https://github.com/renovatebot/renovate/issues/18639
feat(manager/gradle): add support for alternative Gradle plugin syntax (#19113)
chore(deps): update dependency memfs to v3.4.12 (#19118)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
fix(data): automatic update of static data (#19119)
Co-authored-by: Renovate Bot renovate@whitesourcesoftware.com
fix(gomod): non-0.0.0 digest matching (#19085)
fix(gomod): Revert "fix(gomod): non-0.0.0 digest matching" (#19120)
and dynamic return type extensions
thx. I was unaware of that :) that explains the behaviour here of course, because StrictComparisonOfDifferentTypesRule
is doing exactly that (using getNativeType() instead of getType())
Ignore Nop nodes in NodeScopeResolver when creating UnreachableStatementNode
Remove @var Type
where possible
Report narrowing PHPStan\Type\Type
interface via @var
Fix build
I'd argue the other way that the expected output is also a reported error when treatPhpdocTypeAsCertain
is disabled. Because in your current example the class indeed is always existing, so false
is never returned. And PHPStan has this already figured out, but for some other reasons the check is not properly triggered 🤔
https://phpstan.org/r/8289b254-dc9f-4688-8882-6e55f83ae0a2
makes sense, thx for the inputs! I thought here it might be okay, because nobody ever should call these functions differently. I think it's a bit different compared to the linked PRs, but I get the general problem and point :)
Ignore Nop nodes in NodeScopeResolver when creating UnreachableStatementNode
Closes https://github.com/phpstan/phpstan/issues/8966
This is a weird one, there is indeed special handling for Nop statements in
https://github.com/phpstan/phpstan-src/blob/04edd0483f927e015c8ed1a3cd138046cd81d477/src/Rules/DeadCode/UnreachableStatementRule.php#L24-L26
but this seems to be dealing with comments to avoid triggering the rule for code like the following
public function doLorem()
{
return;
// this is why...
}
interestingly the ;
seems to be not even a statement and therefore no Nop, it's just nothing. but the comment in your example is considered as Nop and if you remove it, the rule reports properly: https://phpstan.org/r/d687f1c8-c782-4df2-81f0-8f71e8d5ea24
not sure how to deal with this tbh, weird edge case
I don't know generics well enough, but it looks like the core problem is not related to array_filter, see https://phpstan.org/r/af2cb5f6-0b79-44fb-9b5f-7439ef3a781f
interestingly the dumped type is looking correct with bleeding edge enabled 🤔
Update dependency symfony/console to v6.2.7
Update compiler
Update PHP 8 stubs
Update nikic/php-parser
Fix value-of for multiple enums
Fix build
Fix typo
Fix ->value
on unions of enums
Update BetterReflection
Regression test
Closes https://github.com/phpstan/phpstan/issues/8889
Fix changelog-generator
Process enum case expression
Fixed missing processing of UseUse and GroupUse
Fixed missing processing of Scalar
Fix interface accepting a Closure
Drop inline @var
Fix type aliases in method-level template types
Fix type aliases in traits
Check local type aliases above traits
Update PHP 8 stubs
Well, array_combine() never returns false in PHP 7.
your example could lead to a fatal error on 7.4 because of the array return type hint, see https://3v4l.org/H3sNV#v7.4.33, but it would indeed return false. also mentioned in the docs further down
8.0.0 array_combine() will now throw a ValueError if the number of elements for each array is not equal; previously this function returned false instead.