Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
phpstan
/
phpstan-src
Public
Notifications
You must be signed in to change notification settings
Fork
588
Star
401
Code
Pull requests
181
Actions
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Security and quality
Insights
Implement @pure-unless-parameter-passed
- #6018
#6018
Open
zonuexe
wants to merge 24 commits into
phpstan:2.2.x
phpstan/phpstan-src:2.2.x
from
zonuexe:feature/pure-unless-parameter-passed
zonuexe/phpstan-src:feature/pure-unless-parameter-passed
Copy head branch name to clipboard
Conversation
Commits
24
(24)
Checks
Files changed
Open
Implement @pure-unless-parameter-passed
#6018
zonuexe
wants to merge 24 commits into
phpstan:2.2.x
phpstan/phpstan-src:2.2.x
from
zonuexe:feature/pure-unless-parameter-passed
zonuexe/phpstan-src:feature/pure-unless-parameter-passed
Copy head branch name to clipboard
Commits
Commits on Sep 12, 2026
Parse @pure-unless-parameter-passed PHPDoc tag
Show description for 685500c
zonuexe
authored and
staabm
committed
685500c
View commit details
Copy full SHA for 685500c
Browse repository at this point
Thread @pure-unless-parameter-passed through the reflection layer
Show description for b94f6f1
zonuexe
authored and
staabm
committed
b94f6f1
View commit details
Copy full SHA for b94f6f1
Browse repository at this point
Wire @pure-unless-parameter-passed into the analyser
Show description for 64b5cc0
zonuexe
authored and
staabm
committed
64b5cc0
View commit details
Copy full SHA for 64b5cc0
Browse repository at this point
Mark by-ref out-parameter builtins as @pure-unless-parameter-passed
Show description for 4d7d78f
zonuexe
authored and
staabm
committed
4d7d78f
View commit details
Copy full SHA for 4d7d78f
Browse repository at this point
Add tests for @pure-unless-parameter-passed
zonuexe
authored and
staabm
committed
83479e1
View commit details
Copy full SHA for 83479e1
Browse repository at this point
Cover the pre-PHP 8 parameter names for the by-ref out-parameter builtins
Show description for a5cb90c
zonuexe
authored and
staabm
committed
a5cb90c
View commit details
Copy full SHA for a5cb90c
Browse repository at this point
Honor @pure-unless-parameter-passed on constructor calls, unpacked and named arguments
Show description for 542129d
zonuexe
authored and
staabm
committed
542129d
View commit details
Copy full SHA for 542129d
Browse repository at this point
Parse @pure-unless-parameter-passed via phpdoc-parser 2.3.3
Show description for e488256
zonuexe
authored and
staabm
committed
e488256
View commit details
Copy full SHA for e488256
Browse repository at this point
Report certain impurity when a @pure-unless-parameter-passed argument is passed
Show description for 53b2159
zonuexe
authored and
staabm
committed
53b2159
View commit details
Copy full SHA for 53b2159
Browse repository at this point
Recognize @phpstan-pure-unless-callable-is-impure as a known tag
Show description for 8072b9f
zonuexe
authored and
staabm
committed
8072b9f
View commit details
Copy full SHA for 8072b9f
Browse repository at this point
Report @pure-unless-parameter-passed on a non-optional parameter
Show description for a97af65
zonuexe
authored and
staabm
committed
a97af65
View commit details
Copy full SHA for a97af65
Browse repository at this point
Expose @pure-unless-parameter-passed parameters as a function-level map
Show description for a929a4b
zonuexe
authored and
staabm
committed
a929a4b
View commit details
Copy full SHA for a929a4b
Browse repository at this point
Test @pure-unless-parameter-passed with a variadic parameter
Show description for c664c9f
zonuexe
authored and
staabm
committed
c664c9f
View commit details
Copy full SHA for c664c9f
Browse repository at this point
Mark preg_filter() as @pure-unless-parameter-passed
Show description for d287335
zonuexe
authored and
staabm
committed
d287335
View commit details
Copy full SHA for d287335
Browse repository at this point
Combine the callable and parameter-passed purity verdicts
Show description for 4fff657
zonuexe
authored and
staabm
committed
4fff657
View commit details
Copy full SHA for 4fff657
Browse repository at this point
Update bin/functionMetadata_original.php
Show description for f14e737
zonuexe
and
staabm
committed
f14e737
View commit details
Copy full SHA for f14e737
Browse repository at this point
Match arguments collected by a flagged variadic parameter
Show description for aceb1ba
zonuexe
authored and
staabm
committed
aceb1ba
View commit details
Copy full SHA for aceb1ba
Browse repository at this point
Check the body of a @pure-unless-parameter-passed function
Show description for bcb9e70
zonuexe
authored and
staabm
committed
bcb9e70
View commit details
Copy full SHA for bcb9e70
Browse repository at this point
Emit every purity condition when generating the function metadata
Show description for 70ce84c
zonuexe
authored and
staabm
committed
70ce84c
View commit details
Copy full SHA for 70ce84c
Browse repository at this point
Cover every @pure-unless-parameter-passed builtin mapping
Show description for bbff464
zonuexe
authored and
staabm
committed
bbff464
View commit details
Copy full SHA for bbff464
Browse repository at this point
Settle conditional purity where a callable value is invoked
Show description for 1754fd9
zonuexe
authored and
staabm
committed
1754fd9
View commit details
Copy full SHA for 1754fd9
Browse repository at this point
Describe the function metadata entries with one optional-key shape
Show description for ecdf9fe
zonuexe
committed
ecdf9fe
View commit details
Copy full SHA for ecdf9fe
Browse repository at this point
Drop comments that restate the code
Show description for e515004
zonuexe
committed
e515004
View commit details
Copy full SHA for e515004
Browse repository at this point
Merge the two conditional purity parameter mergers into one class
Show description for b2bcda2
zonuexe
and
claude
committed
b2bcda2
View commit details
Copy full SHA for b2bcda2
Browse repository at this point
You can’t perform that action at this time.