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
593
Star
401
Code
Pull requests
190
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 20, 2026
Parse @pure-unless-parameter-passed PHPDoc tag
Show description for 8bf7637
zonuexe
committed
8bf7637
View commit details
Copy full SHA for 8bf7637
Browse repository at this point
Thread @pure-unless-parameter-passed through the reflection layer
Show description for 830a2f4
zonuexe
committed
830a2f4
View commit details
Copy full SHA for 830a2f4
Browse repository at this point
Wire @pure-unless-parameter-passed into the analyser
Show description for 0600994
zonuexe
committed
0600994
View commit details
Copy full SHA for 0600994
Browse repository at this point
Mark by-ref out-parameter builtins as @pure-unless-parameter-passed
Show description for e075de3
zonuexe
committed
e075de3
View commit details
Copy full SHA for e075de3
Browse repository at this point
Add tests for @pure-unless-parameter-passed
zonuexe
committed
3cdee85
View commit details
Copy full SHA for 3cdee85
Browse repository at this point
Cover the pre-PHP 8 parameter names for the by-ref out-parameter builtins
Show description for 9266d3c
zonuexe
committed
9266d3c
View commit details
Copy full SHA for 9266d3c
Browse repository at this point
Honor @pure-unless-parameter-passed on constructor calls, unpacked and named arguments
Show description for 3d0b0a9
zonuexe
committed
3d0b0a9
View commit details
Copy full SHA for 3d0b0a9
Browse repository at this point
Parse @pure-unless-parameter-passed via phpdoc-parser 2.3.3
Show description for a336616
zonuexe
committed
a336616
View commit details
Copy full SHA for a336616
Browse repository at this point
Report certain impurity when a @pure-unless-parameter-passed argument is passed
Show description for 65a2a94
zonuexe
committed
65a2a94
View commit details
Copy full SHA for 65a2a94
Browse repository at this point
Recognize @phpstan-pure-unless-callable-is-impure as a known tag
Show description for 390ecc2
zonuexe
committed
390ecc2
View commit details
Copy full SHA for 390ecc2
Browse repository at this point
Report @pure-unless-parameter-passed on a non-optional parameter
Show description for 0f992f5
zonuexe
committed
0f992f5
View commit details
Copy full SHA for 0f992f5
Browse repository at this point
Expose @pure-unless-parameter-passed parameters as a function-level map
Show description for ae33471
zonuexe
committed
ae33471
View commit details
Copy full SHA for ae33471
Browse repository at this point
Test @pure-unless-parameter-passed with a variadic parameter
Show description for ac502b8
zonuexe
committed
ac502b8
View commit details
Copy full SHA for ac502b8
Browse repository at this point
Mark preg_filter() as @pure-unless-parameter-passed
Show description for 2823c48
zonuexe
committed
2823c48
View commit details
Copy full SHA for 2823c48
Browse repository at this point
Combine the callable and parameter-passed purity verdicts
Show description for 39e3978
zonuexe
committed
39e3978
View commit details
Copy full SHA for 39e3978
Browse repository at this point
Update bin/functionMetadata_original.php
Show description for 3fe1ca5
zonuexe
and
staabm
committed
3fe1ca5
View commit details
Copy full SHA for 3fe1ca5
Browse repository at this point
Match arguments collected by a flagged variadic parameter
Show description for 07535c7
zonuexe
committed
07535c7
View commit details
Copy full SHA for 07535c7
Browse repository at this point
Check the body of a @pure-unless-parameter-passed function
Show description for eb61ac2
zonuexe
committed
eb61ac2
View commit details
Copy full SHA for eb61ac2
Browse repository at this point
Emit every purity condition when generating the function metadata
Show description for 53c2e5b
zonuexe
committed
53c2e5b
View commit details
Copy full SHA for 53c2e5b
Browse repository at this point
Cover every @pure-unless-parameter-passed builtin mapping
Show description for 1cee42d
zonuexe
committed
1cee42d
View commit details
Copy full SHA for 1cee42d
Browse repository at this point
Settle conditional purity where a callable value is invoked
Show description for a3bdef2
zonuexe
committed
a3bdef2
View commit details
Copy full SHA for a3bdef2
Browse repository at this point
Describe the function metadata entries with one optional-key shape
Show description for 9f5cb16
zonuexe
committed
9f5cb16
View commit details
Copy full SHA for 9f5cb16
Browse repository at this point
Drop comments that restate the code
Show description for 98b2691
zonuexe
committed
98b2691
View commit details
Copy full SHA for 98b2691
Browse repository at this point
Merge the two conditional purity parameter mergers into one class
Show description for 575a810
zonuexe
and
claude
committed
575a810
View commit details
Copy full SHA for 575a810
Browse repository at this point
You can’t perform that action at this time.