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

List refactoring v5 #8820

Merged
merged 19 commits into from Dec 13, 2022
Merged

List refactoring v5 #8820

merged 19 commits into from Dec 13, 2022

Conversation

danog
Copy link
Collaborator

@danog danog commented Dec 3, 2022

Fixes a huge number of list-related and non-list-related bugs.

@danog danog added the release:fix The PR will be included in 'Fixes' section of the release notes label Dec 3, 2022
@danog danog requested review from orklah and muglug December 4, 2022 16:10
@danog
Copy link
Collaborator Author

danog commented Dec 4, 2022

Whoops sorry muglug wanted to tag just orklah :)

@orklah
Copy link
Collaborator

orklah commented Dec 4, 2022

I didn't start reviewing this yet.

I'm a little worried about possible BC breaks. Wouldn't it be better to make a new sweep of changes and ship it as Psalm 6?

We're not obligated to any kind of waiting period between major and it would probably be cleaner, no?

@muglug
Copy link
Collaborator

muglug commented Dec 4, 2022

@danog I'd strongly encourage you to close this PR and reopen one with a single commit (or, if it makes sense, a small number of curated commits).

When I review a PR, I generally look at commit messages to figure out what's going on. This PR has 134 commits, which is incredibly noisy (I had to unsubscribe from this PR because it was spamming my inbox).

@danog
Copy link
Collaborator Author

danog commented Dec 4, 2022

Sorry about the noise, I just prefer to use GHA to run unit tests, will submit PRs with fewer and more relevant squashed commits in the future.

Squashed everything, the main changes are documented in UPGRADING.md, the rest is just a lot of bugfixing for bugs detected using the existing unit tests.

@danog
Copy link
Collaborator Author

danog commented Dec 4, 2022

About BC breaks, I actually wanted to ask about the timeline for the Psalm v6 release/Psalm v5/v6 feature freeze, I really think this should be planned out a bit (like PHP itself does) to avoid an excessively postponed release like for v5.

Obviously personally I would love to merge in all BC breaks right away and release v6 (Phpstan has it easier at least visually with 0.x semver), but if that can't be done I can just revert the remaining getGenericArray BC break.

Copy link
Collaborator

@muglug muglug left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just reviewing the test changes (always the easiest part of a large PR to review) saw some things to improve/break out

tests/ArrayFunctionCallTest.php Show resolved Hide resolved
tests/ListTest.php Outdated Show resolved Hide resolved
tests/ReturnTypeTest.php Show resolved Hide resolved
tests/ThisOutTest.php Outdated Show resolved Hide resolved
tests/TypeReconciliation/TypeTest.php Show resolved Hide resolved
tests/ArrayAssignmentTest.php Outdated Show resolved Hide resolved
tests/ArrayAccessTest.php Outdated Show resolved Hide resolved
tests/ArgTest.php Outdated Show resolved Hide resolved
@danog
Copy link
Collaborator Author

danog commented Dec 11, 2022

Do you think it would be OK to merge this? :)

@muglug
Copy link
Collaborator

muglug commented Dec 11, 2022

Mind looking at the test-with-real-projects job to see what's up there? it's been failing for over a week

@danog
Copy link
Collaborator Author

danog commented Dec 11, 2022

I already checked them and prepared psalm/endtoend-test-phpunit#7 and psalm/endtoend-test-psl#3 to fix :)

@muglug
Copy link
Collaborator

muglug commented Dec 11, 2022

Thanks! I've just merged those — two remaining errors in the PHPUnit run (btw, don't feel shy about merging PRs yourself in the endtoendtest- repos)

@danog
Copy link
Collaborator Author

danog commented Dec 11, 2022

Hehe I'd love to, but I don't have permission to merge PRs in the e2e or plugin repos in the psalm org.
Come to think of it, I don't have merge perms here, but that's OK I guess, since most of my PRs are quite big refactorings that require review from the other maintainers as well :)

@muglug
Copy link
Collaborator

muglug commented Dec 11, 2022

I've added you!

@orklah orklah merged commit cca2767 into vimeo:master Dec 13, 2022
@orklah
Copy link
Collaborator

orklah commented Dec 13, 2022

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release:fix The PR will be included in 'Fixes' section of the release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants