Repository navigation
Conversation
Contributor
|
@Jille patch looks good. Can you add a test for your patch? |
Contributor
|
Could you rebase and squash? |
Contributor
Author
|
I've committed f2bad2c to Jille/php-src:proc_close_lingering_squashed. |
Contributor
|
Please force push to this PR as well. |
Contributor
Author
|
Done. |
Contributor
|
Hm, the test is gone? |
Implements FR #46487
Contributor
Author
|
I'm sorry. Fixed. |
|
Comment on behalf of lstrojny at php.net: Merged into 5.5 and master. 5.5 and not 5.4 because it comes with an ABI break. |
heyJordanParker
added a commit
to heyJordanParker/php-sharp
that referenced
this pull request
Oct 13, 2026
test: every .sharp issue speaks PHP#, and .php twins stay only on shared code
heyJordanParker
added a commit
to heyJordanParker/php-sharp
that referenced
this pull request
Oct 13, 2026
Problem: Master gained php#153, php#154 and php#130. php#153 makes the same `None` fix to `check_changed_collection` that the previous merge made, so it merges cleanly. php#154 gives `get_parameter_type` the invocation target, so a plain PHP caller reads a PHP declaration only of a method a PHP# file declares. This branch's call in `analyze_invocation`, which fixes a PHP# method value's type arguments from its parameter's function type, still passed six arguments. php#130 fails any test whose `.sharp` issue names a word only PHP has, `mixed` among them. This branch prints the type a generic member erases to as PHP declares it, so an unbounded type parameter's erased type read "PHP's `mixed`", and six erased-signature tests failed the check. `crates/analyzer/src/expression/access/mod.rs` gained an import on both sides. Solution: - `analyze_invocation` passes `&invocation.target` to `get_parameter_type`, as php#154's other callers do. - `display_erased` prints an erased `mixed` as PHP# writes it, `Any?`, through `display_sharp_type`. Only `array`, `Closure` and `callable` stay PHP's, since PHP# has no name for them. The six tests pin "must take at least `Any?`" and "erases to `Any?`". - `access/mod.rs` keeps both imports. crates/analyzer/ ├── src/expression/access/mod.rs <- conflict: both imports ├── src/invocation/analyzer.rs <- php#154's invocation target ├── src/statement/class_like/method_signature.rs <- display_erased names `Any?` └── tests/sharp.rs <- six erased-signature texts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I will also send this over internals to be discussed.