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

Merge 5.x #10504

Merged
merged 143 commits into from
Jan 15, 2024
Merged

Merge 5.x #10504

merged 143 commits into from
Jan 15, 2024

Conversation

danog
Copy link
Collaborator

@danog danog commented Dec 19, 2023

No description provided.

tscni and others added 30 commits November 29, 2023 02:08
vimeo#10068 added isset restrictions that didn't consider null coalesces on match expressions.
This restores that support by converting the match expression to a virtual variable for the isset analysis, similar to other incompatible expressions.
…andomization-of-tests

use branch name to randomize tests to ensure test dependencies will error
vimeo#10385 "broke" this by propagating pseudo static methods from traits to using classes.
`AtomicStaticCallAnalyzer` was then not capable of dealing with this, because now these static pseudo methods actually exist.

As long as the methods from traits aren't actually transferred to the using class, it seems right that the logic in `AtomicStaticCallAnalyzer` uses `::getDeclaringMethodId()` instead of `::getAppearingMethodId()` for this purpose.
This can also return namespace nodes, which are not a child class of
DOMNode.
Fix return type of DOMXPath::query
Use correct file path while adding unused suppressions for virtual __…
Restore support for null coalesce on match expressions
Fix static magic method pureness not being inherited from traits
kathaler and others added 20 commits January 10, 2024 13:07
Implement __set method in SimpleXMLElement stub
…e-specific

Make getrandmax type more specific and unserialize to require class-string
…pe-failing-ci

Fix mb_get_info can return null - CI failing bc of reflection
when max literal string length is 0, which means literal strings are disabled
…type-more-specific

make basename & dirname return types more specific
…-assignments

add support for extract to set variables for keyed arrays and respect EXTR_SKIP
…ry-separator-in-error-message

remove redundat directory separator which caused "//" in path not found errors
…-non-empty-string-when-literal-strings-disabled

Fix empty literal string becomes non-empty-string
@danog danog added the release:internal The PR will be included in 'Internal changes' section of the release notes label Jan 15, 2024
@danog danog marked this pull request as ready for review January 15, 2024 12:28
@danog
Copy link
Collaborator Author

danog commented Jan 15, 2024

@robchett Heads up, I've reverted a part of #10361 (4dd06f7) because it breaks purity analysis.

Your implementation isn't exactly ideal, there's a lot of custom logic based on magic methods that breaks if they're suddenly converted to concrete methods.

@danog danog merged commit 64868c5 into vimeo:master Jan 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release:internal The PR will be included in 'Internal changes' section of the release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.