Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: check php version before accessing isEnum #1882

Closed
wants to merge 5 commits into from

Conversation

calebdw
Copy link
Contributor

@calebdw calebdw commented Mar 15, 2024

Not sure why ci started failing, but this should hopefully fix it...

@calebdw
Copy link
Contributor Author

calebdw commented Mar 15, 2024

So PHP 8.0.6 is installed in the ci, but it's still passing the version check?

@szepeviktor
Copy link
Collaborator

So PHP 8.0.6 is installed in the ci, but it's still passing the version check?

This is a custom ReflectionProvider
https://github.com/phpstan/phpstan-src/blob/1.11.x/src/Reflection/ReflectionProvider.php

@calebdw
Copy link
Contributor Author

calebdw commented Mar 15, 2024

The error message is: Error: Call to undefined method ReflectionClass::isEnum(), if it were the custom reflection provider then it would be Error: Call to undefined method PHPStan\Reflection\ClassReflection::isEnum().

However, that still doesn't explain:

  1. why it suddenly started failing in the first place
  2. the isEnum() call is still behind a version check so shouldn't be called
  3. the isEnum() call works on PHP 8.1 tests

@calebdw calebdw force-pushed the fix-ci branch 2 times, most recently from 32cc915 to d73295b Compare March 22, 2024 23:17
@calebdw
Copy link
Contributor Author

calebdw commented Mar 22, 2024

@ondrejmirtes, something was introduced in PHPStan 1.10.61 that is causing this run to fail:

https://github.com/larastan/larastan/actions/runs/8397529980/job/23000977060?pr=1882

I pinned phpstan at 1.10.60 and the job does not fail (however, job fails up to the latest version 1.10.64).

@calebdw
Copy link
Contributor Author

calebdw commented Mar 23, 2024

This commit might fix the job?

phpstan/phpstan-src@4c167d7

@ondrejmirtes
Copy link
Contributor

This is a bug that's purely in PHPStan, you don't need to do anything in Larastan to work around that, I'm going to fix it.

@ondrejmirtes
Copy link
Contributor

The fix:

It's going to be released in PHPStan 1.10.65 soon.

@ondrejmirtes
Copy link
Contributor

@calebdw
Copy link
Contributor Author

calebdw commented Mar 23, 2024

Thanks Ondre!

@calebdw calebdw deleted the fix-ci branch March 23, 2024 13:50
oguzhand95 referenced this pull request in cerbos/cerbos-sdk-php Apr 1, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[php-parallel-lint/php-parallel-lint](https://togithub.com/php-parallel-lint/PHP-Parallel-Lint)
| `1.3.2` -> `1.4.0` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/php-parallel-lint%2fphp-parallel-lint/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/php-parallel-lint%2fphp-parallel-lint/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/php-parallel-lint%2fphp-parallel-lint/1.3.2/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/php-parallel-lint%2fphp-parallel-lint/1.3.2/1.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [phpstan/phpstan](https://togithub.com/phpstan/phpstan) | `1.10.60` ->
`1.10.66` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/phpstan%2fphpstan/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/phpstan%2fphpstan/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/phpstan%2fphpstan/1.10.60/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/phpstan%2fphpstan/1.10.60/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [phpunit/phpunit](https://phpunit.de/)
([source](https://togithub.com/sebastianbergmann/phpunit)) | `10.5.12`
-> `10.5.16` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/phpunit%2fphpunit/10.5.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/phpunit%2fphpunit/10.5.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/phpunit%2fphpunit/10.5.12/10.5.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/phpunit%2fphpunit/10.5.12/10.5.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vimeo/psalm](https://togithub.com/vimeo/psalm) | `5.23.0` -> `5.23.1`
|
[![age](https://developer.mend.io/api/mc/badges/age/packagist/vimeo%2fpsalm/5.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/vimeo%2fpsalm/5.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/vimeo%2fpsalm/5.23.0/5.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/vimeo%2fpsalm/5.23.0/5.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>php-parallel-lint/PHP-Parallel-Lint
(php-parallel-lint/php-parallel-lint)</summary>

###
[`v1.4.0`](https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/releases/tag/v1.4.0)

[Compare
Source](https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/compare/v1.3.2...v1.4.0)

New version with support up to PHP 8.3 and preliminary support for PHP
8.4.

##### Added

- The "skip linting" feature can now be used in PHP files starting with
a shebang, [#&#8203;146] from
[@&#8203;xaben](https://togithub.com/xaben).

##### Fixed

- PHP 8.4 deprecation notice, [#&#8203;154] from
[@&#8203;Ayesh](https://togithub.com/Ayesh) and
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- Bug fix: the PHP version check in the application bootstrap did not
work on PHP < 5.3, [#&#8203;100] from
[@&#8203;jrfnl](https://togithub.com/jrfnl), fixes [#&#8203;62].
- Bug fix: files containing the `~` character in their name can now be
processed correctly, [#&#8203;118] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- Bug fix: error message sometimes displayed on last line of code
snippet, [#&#8203;98] from [@&#8203;jrfnl](https://togithub.com/jrfnl),
fixes [#&#8203;93].
- Bug fix: error message would sometimes contain duplicate information,
[#&#8203;117] from [@&#8203;jrfnl](https://togithub.com/jrfnl).
- Bug fix: the "in file .. on line part" text did not always get cleaned
correctly from the error message, [#&#8203;118] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).

##### Changed

- The percentage output in the progress report is now aligned,
[#&#8203;140] from
[@&#8203;robertology](https://togithub.com/robertology).
- The error message displayed when the PHP version is too low for the
application to run is now more informative, [#&#8203;100] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- Composer: The package will now identify itself as a static
analysis/linting tool, [#&#8203;134] from
[@&#8203;staabm](https://togithub.com/staabm).
- Composer: fix grammar error, [#&#8203;139] from
[@&#8203;TravisCarden](https://togithub.com/TravisCarden).
- README: improvement to the install instructions, [#&#8203;99] from
[@&#8203;samsonasik](https://togithub.com/samsonasik), fixes
[#&#8203;96].
- README: move screenshot, [#&#8203;97] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- README: fix typos, [#&#8203;124] from
[@&#8203;krsriq](https://togithub.com/krsriq).
- Docs: code style consistency, [#&#8203;137] from
[@&#8203;lens0021](https://togithub.com/lens0021).

##### Internal

- Prevent PHAR not being compatible with PHP < 7.0, [#&#8203;116] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: update used actions, [#&#8203;109], [#&#8203;158] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: updates for box 4.x, [#&#8203;121] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: fix download URL for box, [#&#8203;125] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: use fail-fast with setup-php when creating the binaries,
[#&#8203;131], [#&#8203;132] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: update PHP version for PHAR boxing, [#&#8203;152] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: harden the workflow against PHPCS ruleset errors,
[#&#8203;128] from [@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: bust the cache semi-regularly, [#&#8203;129] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: update PHP versions in workflows, [#&#8203;130] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: update for the release of PHP 8.3, [#&#8203;150],
[#&#8203;151] from [@&#8203;jrfnl](https://togithub.com/jrfnl).
- GH Actions: fix duplicate release, [#&#8203;159] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- SettingsParseArgumentsTest: fix bug in test, [#&#8203;102] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- OutputTest: fix risky test, [#&#8203;156] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).
- Tests: fix issue with Nette Tester 1.x, [#&#8203;141] from
[@&#8203;grogy](https://togithub.com/grogy).
- Add dependabot configuration file, [#&#8203;148] from
[@&#8203;jrfnl](https://togithub.com/jrfnl).

[1.4.0]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/compare/v1.3.2...v1.4.0

[#&#8203;62]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/issues/62

[#&#8203;93]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/issues/93

[#&#8203;96]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/issues/96

[#&#8203;97]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/97

[#&#8203;98]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/98

[#&#8203;99]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/99

[#&#8203;100]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/100

[#&#8203;102]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/102

[#&#8203;109]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/109

[#&#8203;116]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/116

[#&#8203;117]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/117

[#&#8203;118]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/118

[#&#8203;121]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/121

[#&#8203;124]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/124

[#&#8203;125]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/125

[#&#8203;128]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/128

[#&#8203;129]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/129

[#&#8203;130]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/130

[#&#8203;131]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/131

[#&#8203;132]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/132

[#&#8203;134]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/134

[#&#8203;137]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/137

[#&#8203;139]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/139

[#&#8203;140]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/140

[#&#8203;141]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/141

[#&#8203;146]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/146

[#&#8203;148]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/148

[#&#8203;150]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/150

[#&#8203;151]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/151

[#&#8203;152]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/152

[#&#8203;154]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/154

[#&#8203;156]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/156

[#&#8203;158]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/158

[#&#8203;159]:
https://togithub.com/php-parallel-lint/PHP-Parallel-Lint/pull/159

</details>

<details>
<summary>phpstan/phpstan (phpstan/phpstan)</summary>

###
[`v1.10.66`](https://togithub.com/phpstan/phpstan/compare/1.10.65...1.10.66)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.65...1.10.66)

###
[`v1.10.65`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.65)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.64...1.10.65)

# Improvements 🔧

- Fix slow enum cases union with lots of cases
([#&#8203;2985](https://togithub.com/phpstan/phpstan-src/pull/2985)),
[#&#8203;10772](https://togithub.com/phpstan/phpstan/issues/10772),
thanks [@&#8203;staabm](https://togithub.com/staabm)!

# Bugfixes 🐛

- Update BetterReflection
([#&#8203;2988](https://togithub.com/phpstan/phpstan-src/pull/2988))
- Fix ReflectionSourceStubber compatibility before PHP 8.1
(ondrejmirtes/BetterReflection@94ca133),
[https://github.com/larastan/larastan/pull/1882](https://togithub.com/larastan/larastan/pull/1882)
- Fix trait method visibility
(ondrejmirtes/BetterReflection@d6153d5?w=1)

# Function signature fixes 🤖

- Add benevolent union return types
([#&#8203;2986](https://togithub.com/phpstan/phpstan-src/pull/2986)),
thanks [@&#8203;zonuexe](https://togithub.com/zonuexe)!

# Internals 🔍

- Add more tests for issue
[#&#8203;10622](https://togithub.com/phpstan/phpstan/issues/10622)
([#&#8203;2961](https://togithub.com/phpstan/phpstan-src/pull/2961)),
thanks [@&#8203;mvorisek](https://togithub.com/mvorisek)!
- Remove unnecessary method calls in ClassReflection
([#&#8203;2984](https://togithub.com/phpstan/phpstan-src/pull/2984)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Use `TrinaryLogic::describe()` in test
(phpstan/phpstan-src@222a66c)

###
[`v1.10.64`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.64)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.63...1.10.64)

# Bleeding edge 🔪

- Fail build when project config uses custom extensions outside of
analysed paths
- This will only occur after a run that uses already present and valid
result cache

*If you want to see the shape of things to come and adopt bleeding edge
features early, you can include this config file in your project's
`phpstan.neon`:*

    includes:
    	- vendor/phpstan/phpstan/conf/bleedingEdge.neon

*Of course, there are no backwards compatibility guarantees when you
include this file. The behaviour and reported errors can change in minor
versions with this file included. [Learn
more](https://phpstan.org/blog/what-is-bleeding-edge)*

# Improvements 🔧

- Introduce `ForbiddenClassNameExtension` for append additional
forbidden class prefixes
([#&#8203;2979](https://togithub.com/phpstan/phpstan-src/pull/2979)),
thanks [@&#8203;kamil-zacek](https://togithub.com/kamil-zacek)!
- Add `AlwaysUsedMethodExtension`
([#&#8203;2927](https://togithub.com/phpstan/phpstan-src/pull/2927)),
thanks [@&#8203;axlon](https://togithub.com/axlon)!
- Warn about possibly stale result cache with custom extensions
(phpstan/phpstan-src@9338fdf)
- This is how it looks:
https://twitter.com/OndrejMirtes/status/1770024563113390437

# Bugfixes 🐛

- Fix deprecated parameter order
([#&#8203;2971](https://togithub.com/phpstan/phpstan-src/pull/2971)),
thanks [@&#8203;sayuprc](https://togithub.com/sayuprc)!

# Function signature fixes 🤖

- Fix `DOMDocument::load` return type
([#&#8203;2975](https://togithub.com/phpstan/phpstan-src/pull/2975)),
thanks [@&#8203;VincentLanglet](https://togithub.com/VincentLanglet)!
- Fix `SplObjectStorage::removeAll/Except`
([#&#8203;2892](https://togithub.com/phpstan/phpstan-src/pull/2892)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!

###
[`v1.10.63`](https://togithub.com/phpstan/phpstan/compare/1.10.62...1.10.63)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.62...1.10.63)

###
[`v1.10.62`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.62)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.61...1.10.62)

# Improvements 🔧

- Too wide return type - report for conditional return types
(phpstan/phpstan-src@de1c07e)

# Bugfixes 🐛

- Constants deprecation depends on PHP version in comment
([#&#8203;2967](https://togithub.com/phpstan/phpstan-src/pull/2967)),
[#&#8203;10700](https://togithub.com/phpstan/phpstan/issues/10700),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Make `@param-out` work even if it is the only conditional type in a
function signature
(phpstan/phpstan-src@787c1e2)
- ParameterOutAssignedTypeRule - fix for conditional types
(phpstan/phpstan-src@19497ba)
- ParameterOutExecutionEndTypeRule - fix for conditional types
(phpstan/phpstan-src@27c73f7)
- Too wide `@param-out` - fix for conditional types
(phpstan/phpstan-src@5a47893)

###
[`v1.10.61`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.61)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.60...1.10.61)

# Improvements 🔧

-   Update BetterReflection to 6.25.0
- Implement PHP Version dependent deprecations for constants
([https://github.com/Roave/BetterReflection/pull/1396](https://togithub.com/Roave/BetterReflection/pull/1396)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Support for `final` modifier in traits
([https://github.com/Roave/BetterReflection/pull/1383](https://togithub.com/Roave/BetterReflection/pull/1383)),
thanks [@&#8203;kukulich](https://togithub.com/kukulich)!
- Support for conditional types in `@param-out`
(phpstan/phpstan-src@effad95),
[#&#8203;10699](https://togithub.com/phpstan/phpstan/issues/10699)
- Check conditional types in `@param-out`
(phpstan/phpstan-src@67f9420)

# Bugfixes 🐛

- Too wide `@param-out` type - consider all execution ends at once
(phpstan/phpstan-src@d1bcf78),
[#&#8203;10687](https://togithub.com/phpstan/phpstan/issues/10687),
[#&#8203;10684](https://togithub.com/phpstan/phpstan/issues/10684)

# Internals 🔍

- MethodReturnStatementsNode - use ExtendedMethodReflection
(phpstan/phpstan-src@3cc1a54)

</details>

<details>
<summary>sebastianbergmann/phpunit (phpunit/phpunit)</summary>

###
[`v10.5.16`](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.15...10.5.16)

[Compare
Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.15...10.5.16)

###
[`v10.5.15`](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.14...10.5.15)

[Compare
Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.14...10.5.15)

###
[`v10.5.14`](https://togithub.com/sebastianbergmann/phpunit/releases/tag/10.5.14):
PHPUnit 10.5.14

[Compare
Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.13...10.5.14)

##### Changed

-
[#&#8203;5747](https://togithub.com/sebastianbergmann/phpunit/pull/5747):
Cache result of `Groups::groups()`
-
[#&#8203;5748](https://togithub.com/sebastianbergmann/phpunit/pull/5748):
Improve performance of `NamePrettifier::prettifyTestMethodName()`
-
[#&#8203;5750](https://togithub.com/sebastianbergmann/phpunit/pull/5750):
Micro-optimize `NamePrettifier::prettifyTestMethodName()` once again

##### Fixed

-
[#&#8203;5760](https://togithub.com/sebastianbergmann/phpunit/issues/5760):
TestDox printer does not display details about exceptions raised in
before-test methods

***

[How to install or update
PHPUnit](https://docs.phpunit.de/en/10.5/installation.html)

###
[`v10.5.13`](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.12...10.5.13)

[Compare
Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.12...10.5.13)

</details>

<details>
<summary>vimeo/psalm (vimeo/psalm)</summary>

### [`v5.23.1`](https://togithub.com/vimeo/psalm/releases/tag/5.23.1)

[Compare
Source](https://togithub.com/vimeo/psalm/compare/5.23.0...5.23.1)

<!-- Release notes generated using configuration in .github/release.yml
at 5.23.x -->

#### What's Changed

##### Fixes

- Fixed analysis of existing static methods if the `__callStatic()`
method exists by [@&#8203;issidorov](https://togithub.com/issidorov) in
[https://github.com/vimeo/psalm/pull/10812](https://togithub.com/vimeo/psalm/pull/10812)

**Full Changelog**:
vimeo/psalm@5.23.0...5.23.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/cerbos/cerbos-sdk-php).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNDUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Oğuzhan Durgun <oguzhandurgun95@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Gashmob referenced this pull request in Gashmob/project-templates Apr 4, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [phpstan/phpstan](https://togithub.com/phpstan/phpstan) | `1.10.59` ->
`1.10.66` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/phpstan%2fphpstan/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/phpstan%2fphpstan/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/phpstan%2fphpstan/1.10.59/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/phpstan%2fphpstan/1.10.59/1.10.66?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>phpstan/phpstan (phpstan/phpstan)</summary>

###
[`v1.10.66`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.66)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.65...1.10.66)

# Improvements 🔧

- Detect mismatch between readonly/non-readonly class parent
(phpstan/phpstan-src@986cbdf),
[#&#8203;10789](https://togithub.com/phpstan/phpstan/issues/10789)
- TypeInferenceTestCase - fix for performance problem with PHPUnit 11
(phpstan/phpstan-src@da87a65),
[#&#8203;10757](https://togithub.com/phpstan/phpstan/issues/10757)

# Bugfixes 🐛

- `array_push` preserves list
(phpstan/phpstan-src@5473b67)

# Function signature fixes 🤖

- Fix `redis::get` signature
([#&#8203;2990](https://togithub.com/phpstan/phpstan-src/pull/2990)),
thanks [@&#8203;VincentLanglet](https://togithub.com/VincentLanglet)!

# Internals 🔍

- Prevent unnecessary calls into reflection from JSON extensions
([#&#8203;2994](https://togithub.com/phpstan/phpstan-src/pull/2994)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!

###
[`v1.10.65`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.65)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.64...1.10.65)

# Improvements 🔧

- Fix slow enum cases union with lots of cases
([#&#8203;2985](https://togithub.com/phpstan/phpstan-src/pull/2985)),
[#&#8203;10772](https://togithub.com/phpstan/phpstan/issues/10772),
thanks [@&#8203;staabm](https://togithub.com/staabm)!

# Bugfixes 🐛

- Update BetterReflection
([#&#8203;2988](https://togithub.com/phpstan/phpstan-src/pull/2988))
- Fix ReflectionSourceStubber compatibility before PHP 8.1
(ondrejmirtes/BetterReflection@94ca133),
[https://github.com/larastan/larastan/pull/1882](https://togithub.com/larastan/larastan/pull/1882)
- Fix trait method visibility
(ondrejmirtes/BetterReflection@d6153d5?w=1)

# Function signature fixes 🤖

- Add benevolent union return types
([#&#8203;2986](https://togithub.com/phpstan/phpstan-src/pull/2986)),
thanks [@&#8203;zonuexe](https://togithub.com/zonuexe)!

# Internals 🔍

- Add more tests for issue
[#&#8203;10622](https://togithub.com/phpstan/phpstan/issues/10622)
([#&#8203;2961](https://togithub.com/phpstan/phpstan-src/pull/2961)),
thanks [@&#8203;mvorisek](https://togithub.com/mvorisek)!
- Remove unnecessary method calls in ClassReflection
([#&#8203;2984](https://togithub.com/phpstan/phpstan-src/pull/2984)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Use `TrinaryLogic::describe()` in test
(phpstan/phpstan-src@222a66c)

###
[`v1.10.64`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.64)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.63...1.10.64)

# Bleeding edge 🔪

- Fail build when project config uses custom extensions outside of
analysed paths
- This will only occur after a run that uses already present and valid
result cache

*If you want to see the shape of things to come and adopt bleeding edge
features early, you can include this config file in your project's
`phpstan.neon`:*

    includes:
    	- vendor/phpstan/phpstan/conf/bleedingEdge.neon

*Of course, there are no backwards compatibility guarantees when you
include this file. The behaviour and reported errors can change in minor
versions with this file included. [Learn
more](https://phpstan.org/blog/what-is-bleeding-edge)*

# Improvements 🔧

- Introduce `ForbiddenClassNameExtension` for append additional
forbidden class prefixes
([#&#8203;2979](https://togithub.com/phpstan/phpstan-src/pull/2979)),
thanks [@&#8203;kamil-zacek](https://togithub.com/kamil-zacek)!
- Add `AlwaysUsedMethodExtension`
([#&#8203;2927](https://togithub.com/phpstan/phpstan-src/pull/2927)),
thanks [@&#8203;axlon](https://togithub.com/axlon)!
- Warn about possibly stale result cache with custom extensions
(phpstan/phpstan-src@9338fdf)
- This is how it looks:
https://twitter.com/OndrejMirtes/status/1770024563113390437

# Bugfixes 🐛

- Fix deprecated parameter order
([#&#8203;2971](https://togithub.com/phpstan/phpstan-src/pull/2971)),
thanks [@&#8203;sayuprc](https://togithub.com/sayuprc)!

# Function signature fixes 🤖

- Fix `DOMDocument::load` return type
([#&#8203;2975](https://togithub.com/phpstan/phpstan-src/pull/2975)),
thanks [@&#8203;VincentLanglet](https://togithub.com/VincentLanglet)!
- Fix `SplObjectStorage::removeAll/Except`
([#&#8203;2892](https://togithub.com/phpstan/phpstan-src/pull/2892)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!

###
[`v1.10.63`](https://togithub.com/phpstan/phpstan/compare/1.10.62...1.10.63)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.62...1.10.63)

###
[`v1.10.62`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.62)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.61...1.10.62)

# Improvements 🔧

- Too wide return type - report for conditional return types
(phpstan/phpstan-src@de1c07e)

# Bugfixes 🐛

- Constants deprecation depends on PHP version in comment
([#&#8203;2967](https://togithub.com/phpstan/phpstan-src/pull/2967)),
[#&#8203;10700](https://togithub.com/phpstan/phpstan/issues/10700),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Make `@param-out` work even if it is the only conditional type in a
function signature
(phpstan/phpstan-src@787c1e2)
- ParameterOutAssignedTypeRule - fix for conditional types
(phpstan/phpstan-src@19497ba)
- ParameterOutExecutionEndTypeRule - fix for conditional types
(phpstan/phpstan-src@27c73f7)
- Too wide `@param-out` - fix for conditional types
(phpstan/phpstan-src@5a47893)

###
[`v1.10.61`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.61)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.60...1.10.61)

# Improvements 🔧

-   Update BetterReflection to 6.25.0
- Implement PHP Version dependent deprecations for constants
([https://github.com/Roave/BetterReflection/pull/1396](https://togithub.com/Roave/BetterReflection/pull/1396)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Support for `final` modifier in traits
([https://github.com/Roave/BetterReflection/pull/1383](https://togithub.com/Roave/BetterReflection/pull/1383)),
thanks [@&#8203;kukulich](https://togithub.com/kukulich)!
- Support for conditional types in `@param-out`
(phpstan/phpstan-src@effad95),
[#&#8203;10699](https://togithub.com/phpstan/phpstan/issues/10699)
- Check conditional types in `@param-out`
(phpstan/phpstan-src@67f9420)

# Bugfixes 🐛

- Too wide `@param-out` type - consider all execution ends at once
(phpstan/phpstan-src@d1bcf78),
[#&#8203;10687](https://togithub.com/phpstan/phpstan/issues/10687),
[#&#8203;10684](https://togithub.com/phpstan/phpstan/issues/10684)

# Internals 🔍

- MethodReturnStatementsNode - use ExtendedMethodReflection
(phpstan/phpstan-src@3cc1a54)

###
[`v1.10.60`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.60)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.59...1.10.60)

[**Learn more about this
release**](https://phpstan.org/blog/enhancements-in-handling-parameters-passed-by-reference)
in an article on phpstan.org!

# Major new features 🚀

- Generic `@method` tags: `@method T doFoo<T>(T $p)`,
[#&#8203;6371](https://togithub.com/phpstan/phpstan/issues/6371)
- [Learn
more](https://twitter.com/OndrejMirtes/status/1760994823073370509)
- [#&#8203;2931](https://togithub.com/phpstan/phpstan-src/pull/2931),
[#&#8203;2935](https://togithub.com/phpstan/phpstan-src/pull/2935),
thanks [@&#8203;mad-briller](https://togithub.com/mad-briller)!
- Generic callable types: `callable<T>(T): T`,
[#&#8203;8964](https://togithub.com/phpstan/phpstan/issues/8964)
- [#&#8203;2938](https://togithub.com/phpstan/phpstan-src/pull/2938),
[#&#8203;2945](https://togithub.com/phpstan/phpstan-src/pull/2945),
[#&#8203;2946](https://togithub.com/phpstan/phpstan-src/pull/2946),
thanks [@&#8203;mad-briller](https://togithub.com/mad-briller)!
- Error on references of prefixed internal class names from PHAR files
([#&#8203;2932](https://togithub.com/phpstan/phpstan-src/pull/2932)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!

# Bleeding edge 🔪

-   **Enhancements in Handling Parameters Passed by Reference**
- [Learn more on
phpstan.org](https://phpstan.org/blog/enhancements-in-handling-parameters-passed-by-reference)
- [#&#8203;2941](https://togithub.com/phpstan/phpstan-src/pull/2941),
thanks [@&#8203;ljmaskey](https://togithub.com/ljmaskey)!
- Add option `reportAnyTypeWideningInVarTag`
([#&#8203;2840](https://togithub.com/phpstan/phpstan-src/pull/2840)),
thanks [@&#8203;janedbal](https://togithub.com/janedbal)!

*If you want to see the shape of things to come and adopt bleeding edge
features early, you can include this config file in your project's
`phpstan.neon`:*

    includes:
    	- vendor/phpstan/phpstan/conf/bleedingEdge.neon

*Of course, there are no backwards compatibility guarantees when you
include this file. The behaviour and reported errors can change in minor
versions with this file included. [Learn
more](https://phpstan.org/blog/what-is-bleeding-edge)*

# Improvements 🔧

- Add support for constructor assertions
([#&#8203;2950](https://togithub.com/phpstan/phpstan-src/pull/2950)),
[#&#8203;10645](https://togithub.com/phpstan/phpstan/issues/10645),
thanks [@&#8203;axlon](https://togithub.com/axlon)!
- Report uses of deprecated constants
([#&#8203;2953](https://togithub.com/phpstan/phpstan-src/pull/2953)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!

# Bugfixes 🐛

- Fix how union of callables is understood
([#&#8203;2902](https://togithub.com/phpstan/phpstan-src/pull/2902)),
[#&#8203;10442](https://togithub.com/phpstan/phpstan/issues/10442),
thanks [@&#8203;mad-briller](https://togithub.com/mad-briller)!
- Fix for inferring closure parameter type from callable union
(phpstan/phpstan-src@c10476d)
- ArrayType - string offset might exist as integer offset
([#&#8203;2928](https://togithub.com/phpstan/phpstan-src/pull/2928)),
[#&#8203;10610](https://togithub.com/phpstan/phpstan/issues/10610),
thanks [@&#8203;michalbundyra](https://togithub.com/michalbundyra)!
- Truncate description of huge UnionType
(phpstan/phpstan-src@039a3dc),
[#&#8203;10614](https://togithub.com/phpstan/phpstan/issues/10614)
- fix type of `$a?->b::c()` and `$a?->b::$c`
([#&#8203;2933](https://togithub.com/phpstan/phpstan-src/pull/2933)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!
- fix `fn() => __FUNCTION__` and `__METHOD__`
([#&#8203;2934](https://togithub.com/phpstan/phpstan-src/pull/2934)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!
- Some sort functions do not preserve a list
(phpstan/phpstan-src@034f731,
phpstan/phpstan-src@0977a7b),
[#&#8203;10627](https://togithub.com/phpstan/phpstan/issues/10627)
- ArgumentsNormalizer - keep named arguments for unknown parameters
(phpstan/phpstan-src@ad34452),
[#&#8203;10628](https://togithub.com/phpstan/phpstan/issues/10628)
- Check `T of mixed&Foo` and `T of mixed|Foo`
([#&#8203;2940](https://togithub.com/phpstan/phpstan-src/pull/2940)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!
- Use narrowed conditional type if/else types for subtype checks
([#&#8203;2948](https://togithub.com/phpstan/phpstan-src/pull/2948)),
[#&#8203;10622](https://togithub.com/phpstan/phpstan/issues/10622),
thanks [@&#8203;rvanvelzen](https://togithub.com/rvanvelzen)!
- Fix `isSuperTypeOf` of callable/Closure when parameter count differ
([#&#8203;2949](https://togithub.com/phpstan/phpstan-src/pull/2949)),
[#&#8203;10594](https://togithub.com/phpstan/phpstan/issues/10594),
thanks [@&#8203;takaram](https://togithub.com/takaram)!

# Function signature fixes 🤖

- Fix `ReflectionFunctionAbstract::getExtension` return type
(phpstan/phpstan-src@2ece1f8)
- Correct return type of `date_sun_info()` function
([#&#8203;2947](https://togithub.com/phpstan/phpstan-src/pull/2947)),
thanks [@&#8203;zonuexe](https://togithub.com/zonuexe)!
- Fix return values of `mysqli get_warnings`
([#&#8203;2929](https://togithub.com/phpstan/phpstan-src/pull/2929)),
thanks [@&#8203;janedbal](https://togithub.com/janedbal)!

# Internals 🔍

- Replace composer-require-checker with composer-dependency-analyser
([#&#8203;2875](https://togithub.com/phpstan/phpstan-src/pull/2875)),
thanks [@&#8203;janedbal](https://togithub.com/janedbal)!
- Use `Type::isNull()` in `Nullsafe(MethodCall|PropertyFetch)Rule`
([#&#8203;2942](https://togithub.com/phpstan/phpstan-src/pull/2942)),
thanks [@&#8203;takaram](https://togithub.com/takaram)!

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Gashmob/project-templates).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants