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

Support for final modifier in traits #1383

Merged
merged 1 commit into from Mar 10, 2024
Merged

Support for final modifier in traits #1383

merged 1 commit into from Mar 10, 2024

Conversation

kukulich
Copy link
Collaborator

@kukulich kukulich commented Dec 2, 2023

No description provided.

@kukulich kukulich marked this pull request as ready for review December 2, 2023 15:25
@Ocramius Ocramius added this to the 6.19.0 milestone Dec 2, 2023
@Ocramius
Copy link
Member

Ocramius commented Dec 2, 2023

So... It's already supported? 🤔

@kukulich
Copy link
Collaborator Author

kukulich commented Dec 2, 2023

@Ocramius Thank you :) I've checked it again and find a bug :)

@kukulich
Copy link
Collaborator Author

kukulich commented Dec 2, 2023

Ok, it looks the test was right because the behaviour is a little strange and it removes visibility modifiers https://3v4l.org/fS33Y#v8.3.0

@kukulich kukulich marked this pull request as ready for review December 2, 2023 18:23
@kukulich kukulich marked this pull request as draft December 3, 2023 08:10
@kukulich
Copy link
Collaborator Author

kukulich commented Dec 3, 2023

php/php-src#12854

@Ocramius Ocramius removed this from the 6.19.0 milestone Dec 7, 2023
@Ocramius
Copy link
Member

This is now in PHP 8.3.2+

php/php-src@e679ab3

Worth moving forward?

@kukulich
Copy link
Collaborator Author

Yes, it's in my todo list :)

@kukulich kukulich changed the base branch from 6.19.x to 6.24.x February 2, 2024 17:17
@kukulich kukulich changed the title Tests that final modifier when using a method from a trait is allowed Support for final modifiers in traits Feb 2, 2024
@kukulich kukulich changed the title Support for final modifiers in traits Support for final modifier in traits Feb 2, 2024
@kukulich kukulich marked this pull request as ready for review February 2, 2024 17:52
@kukulich kukulich changed the base branch from 6.24.x to 6.25.x March 9, 2024 17:58
Copy link
Member

@Ocramius Ocramius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @kukulich! One day, traits will make sense in PHP: that's not today

@Ocramius Ocramius added this to the 6.25.0 milestone Mar 10, 2024
@Ocramius Ocramius self-assigned this Mar 10, 2024
@Ocramius Ocramius merged commit d5cdeb9 into Roave:6.25.x Mar 10, 2024
30 checks passed
@Ocramius Ocramius changed the title Support for final modifier in traits Support for final modifier in traits Mar 10, 2024
kayman-mk pushed a commit to kayman-mk/blog-tech-at-work that referenced this pull request Mar 18, 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.63` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/phpstan%2fphpstan/1.10.63?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/phpstan%2fphpstan/1.10.63?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.63?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.63?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`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
([Roave/BetterReflection#1396),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Support for `final` modifier in traits
([Roave/BetterReflection#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/kayman-mk/blog-tech-at-work).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI0NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
oguzhand95 pushed a commit to cerbos/cerbos-sdk-php that referenced this pull request 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),
[larastan/larastan#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
([Roave/BetterReflection#1396),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Support for `final` modifier in traits
([Roave/BetterReflection#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
[vimeo/psalm#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 added a commit to Gashmob/project-templates that referenced this pull request 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),
[larastan/larastan#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
([Roave/BetterReflection#1396),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Support for `final` modifier in traits
([Roave/BetterReflection#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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants