Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
d81067d
Bidirectional type narrowing initial implementation
ondrejmirtes Sep 1, 2026
2edf14d
Add regression tests for issues fixed by unresolved template arguments
ondrejmirtes Sep 1, 2026
168c594
Add regression test for #8031
ondrejmirtes Sep 1, 2026
20c3947
Pin bug-15169-calls to the unresolved template argument semantics
ondrejmirtes Sep 6, 2026
8fd2168
Pin the native flavour of template arguments (currently failing)
ondrejmirtes Sep 6, 2026
5fad23a
Avoid retaining call ASTs in template argument caches
ondrejmirtes Sep 6, 2026
3b1a688
Preserve inference constraints from arrow function arguments
ondrejmirtes Sep 6, 2026
a87e6be
Preserve inference constraints from terminating expression branches
ondrejmirtes Sep 6, 2026
1f5f1e0
Preserve inference constraints when foreach scope does not escape
ondrejmirtes Sep 6, 2026
fba5263
Preserve inference constraints from unreachable for loop bodies
ondrejmirtes Sep 6, 2026
c359956
Resolve dependent template bounds and defaults completely
ondrejmirtes Sep 6, 2026
dfd955c
Preserve unresolved template identity in finite type comparisons
ondrejmirtes Sep 6, 2026
6fd7b53
Keep PHPDoc template inference out of native construction types
ondrejmirtes Sep 6, 2026
90fb324
Ignore diagnostic call markers when deciding statement replay
ondrejmirtes Sep 6, 2026
8906711
Reuse analysed bodies for array_map and immediately invoked closures
ondrejmirtes Sep 7, 2026
95ed4fe
Carry template resolution policy in immutable analysis contexts
ondrejmirtes Sep 7, 2026
186e52f
Keep template argument inference compatible with PHP 7.4
ondrejmirtes Sep 7, 2026
d59d8c4
Respect template bounds when inferring from later arguments
ondrejmirtes Sep 7, 2026
8da57e4
Use template bounds for unconstrained generic call arguments
ondrejmirtes Sep 7, 2026
2c6d582
Preserve template defaults when generic calls add no constraints
ondrejmirtes Sep 7, 2026
952645b
Use generic parameter defaults to constrain empty nested collections
ondrejmirtes Sep 7, 2026
194bd0e
Use template bounds for objects passed to impure mixed parameters
ondrejmirtes Sep 7, 2026
5e5139b
Preserve unknown ArrayObject values when constructed from an object
ondrejmirtes Sep 7, 2026
87a4b79
Preserve inferred arguments when return types omit generic arguments
ondrejmirtes Sep 7, 2026
2416411
Use a complete PHP version requirement in Bug14396Test
ondrejmirtes Sep 7, 2026
b379e3d
Update levels expectations for inferred SplObjectStorage values
ondrejmirtes Sep 7, 2026
a82b7e9
Preserve bounds for unconstrained template arguments
ondrejmirtes Sep 7, 2026
66ec5e6
Solve linked invariant template arguments together
ondrejmirtes Sep 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Use a complete PHP version requirement in Bug14396Test
  • Loading branch information
ondrejmirtes committed Sep 7, 2026
commit 24164110cefab401e35dfcdd6ee2648b071599de
2 changes: 1 addition & 1 deletion tests/PHPStan/Rules/Exceptions/Bug14396Test.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ protected function shouldTreatPhpDocTypesAsCertain(): bool
return false;
}

#[RequiresPhp('>= 8.1')]
#[RequiresPhp('>= 8.1.0')]
public function testRule(): void
{
$this->analyse([__DIR__ . '/data/bug-14396.php'], []);
Expand Down