phpstan/phpstan
### [`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 $p)`, [#6371](https://togithub.com/phpstan/phpstan/issues/6371)
- [Learn more](https://twitter.com/OndrejMirtes/status/1760994823073370509)
- [#2931](https://togithub.com/phpstan/phpstan-src/pull/2931), [#2935](https://togithub.com/phpstan/phpstan-src/pull/2935), thanks [@mad-briller](https://togithub.com/mad-briller)!
- Generic callable types: `callable(T): T`, [#8964](https://togithub.com/phpstan/phpstan/issues/8964)
- [#2938](https://togithub.com/phpstan/phpstan-src/pull/2938), [#2945](https://togithub.com/phpstan/phpstan-src/pull/2945), [#2946](https://togithub.com/phpstan/phpstan-src/pull/2946), thanks [@mad-briller](https://togithub.com/mad-briller)!
- Error on references of prefixed internal class names from PHAR files ([#2932](https://togithub.com/phpstan/phpstan-src/pull/2932)), thanks [@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)
- [#2941](https://togithub.com/phpstan/phpstan-src/pull/2941), thanks [@ljmaskey](https://togithub.com/ljmaskey)!
- Add option `reportAnyTypeWideningInVarTag` ([#2840](https://togithub.com/phpstan/phpstan-src/pull/2840)), thanks [@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 ([#2950](https://togithub.com/phpstan/phpstan-src/pull/2950)), [#10645](https://togithub.com/phpstan/phpstan/issues/10645), thanks [@axlon](https://togithub.com/axlon)!
- Report uses of deprecated constants ([#2953](https://togithub.com/phpstan/phpstan-src/pull/2953)), thanks [@staabm](https://togithub.com/staabm)!
# Bugfixes 🐛
- Fix how union of callables is understood ([#2902](https://togithub.com/phpstan/phpstan-src/pull/2902)), [#10442](https://togithub.com/phpstan/phpstan/issues/10442), thanks [@mad-briller](https://togithub.com/mad-briller)!
- Fix for inferring closure parameter type from callable union (https://github.com/phpstan/phpstan-src/commit/c10476d268bedc5e7bc66b44d160a453edb1cacb)
- ArrayType - string offset might exist as integer offset ([#2928](https://togithub.com/phpstan/phpstan-src/pull/2928)), [#10610](https://togithub.com/phpstan/phpstan/issues/10610), thanks [@michalbundyra](https://togithub.com/michalbundyra)!
- Truncate description of huge UnionType (https://github.com/phpstan/phpstan-src/commit/039a3dc135bf9f23971437ebd4718291a1404d2d), [#10614](https://togithub.com/phpstan/phpstan/issues/10614)
- fix type of `$a?->b::c()` and `$a?->b::$c` ([#2933](https://togithub.com/phpstan/phpstan-src/pull/2933)), thanks [@schlndh](https://togithub.com/schlndh)!
- fix `fn() => __FUNCTION__` and `__METHOD__` ([#2934](https://togithub.com/phpstan/phpstan-src/pull/2934)), thanks [@schlndh](https://togithub.com/schlndh)!
- Some sort functions do not preserve a list (https://github.com/phpstan/phpstan-src/commit/034f7313064b207883a13f1e25a76975560215b9, https://github.com/phpstan/phpstan-src/commit/0977a7b0259cbe4055c6fb0200708b2ec137d770), [#10627](https://togithub.com/phpstan/phpstan/issues/10627)
- ArgumentsNormalizer - keep named arguments for unknown parameters (https://github.com/phpstan/phpstan-src/commit/ad34452cb12cdebd19c80a3f34ef2819c2e37bbb), [#10628](https://togithub.com/phpstan/phpstan/issues/10628)
- Check `T of mixed&Foo` and `T of mixed|Foo` ([#2940](https://togithub.com/phpstan/phpstan-src/pull/2940)), thanks [@schlndh](https://togithub.com/schlndh)!
- Use narrowed conditional type if/else types for subtype checks ([#2948](https://togithub.com/phpstan/phpstan-src/pull/2948)), [#10622](https://togithub.com/phpstan/phpstan/issues/10622), thanks [@rvanvelzen](https://togithub.com/rvanvelzen)!
- Fix `isSuperTypeOf` of callable/Closure when parameter count differ ([#2949](https://togithub.com/phpstan/phpstan-src/pull/2949)), [#10594](https://togithub.com/phpstan/phpstan/issues/10594), thanks [@takaram](https://togithub.com/takaram)!
# Function signature fixes 🤖
- Fix `ReflectionFunctionAbstract::getExtension` return type (https://github.com/phpstan/phpstan-src/commit/2ece1f82b0e95541908f052d74a1cb29f2a4b4b7)
- Correct return type of `date_sun_info()` function ([#2947](https://togithub.com/phpstan/phpstan-src/pull/2947)), thanks [@zonuexe](https://togithub.com/zonuexe)!
- Fix return values of `mysqli get_warnings` ([#2929](https://togithub.com/phpstan/phpstan-src/pull/2929)), thanks [@janedbal](https://togithub.com/janedbal)!
# Internals 🔍
- Replace composer-require-checker with composer-dependency-analyser ([#2875](https://togithub.com/phpstan/phpstan-src/pull/2875)), thanks [@janedbal](https://togithub.com/janedbal)!
- Use `Type::isNull()` in `Nullsafe(MethodCall|PropertyFetch)Rule` ([#2942](https://togithub.com/phpstan/phpstan-src/pull/2942)), thanks [@takaram](https://togithub.com/takaram)!
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.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
1.10.59
->1.10.60
Release Notes
phpstan/phpstan
### [`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 doFooConfiguration
📅 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.
This PR has been generated by Renovate Bot.