-
Notifications
You must be signed in to change notification settings - Fork 659
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
Use keyed arrays when assigning literal union keys & assertion fixes #10439
Conversation
Generally pretty happy with this, especially with the improvements for Some further improvements can be made (regarding the changed test in tests/Loop/ForeachTest.php), but generally, this simply exposes some of the rough edges already present with assertions in keyed arrays, minus the ones already fixed here in |
Great! Seems like a few CI errors slipped in |
@orklah Should be good to merge, the changes to LanguageServer were due to a previously existing issue already present on master, being revealed by the changes in this PR: https://psalm.dev/r/3ee4768cfa |
I found these snippets: https://psalm.dev/r/3ee4768cfa<?php
/**
* @param array<string, false|list<false|string>|string> $options
*/
function a(array $options): string|null {
if (isset($options['tcp'])) {
if (!is_string($options['tcp'])) {
fwrite(STDERR, 'tcp url should be a string' . PHP_EOL);
exit(1);
}
}
return $options['tcp'] ?? null;
}
|
erf, this one has conflict again |
Kek, fixed |
Thanks! |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [vimeo/psalm](https://togithub.com/vimeo/psalm) | `~5.16.0` -> `~5.17.0` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/vimeo%2fpsalm/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/vimeo%2fpsalm/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/vimeo%2fpsalm/5.16.0/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/vimeo%2fpsalm/5.16.0/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vimeo/psalm (vimeo/psalm)</summary> ### [`v5.17.0`](https://togithub.com/vimeo/psalm/releases/tag/5.17.0) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.16.0...5.17.0) <!-- Release notes generated using configuration in .github/release.yml at 5.x --> #### What's Changed ##### Features - Implement by-ref closure use analysis by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10419](https://togithub.com/vimeo/psalm/pull/10419) ##### Fixes - Update MongoDB stubs for 1.17 by [@​alcaeus](https://togithub.com/alcaeus) in [https://github.com/vimeo/psalm/pull/10402](https://togithub.com/vimeo/psalm/pull/10402) - Fix backtick analysis by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10409](https://togithub.com/vimeo/psalm/pull/10409) - Declare we do not support document highlighting by [@​tm1000](https://togithub.com/tm1000) in [https://github.com/vimeo/psalm/pull/10408](https://togithub.com/vimeo/psalm/pull/10408) - update define types to be correct by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10423](https://togithub.com/vimeo/psalm/pull/10423) - Fix return type of DOMXPath::query by [@​nielsdos](https://togithub.com/nielsdos) in [https://github.com/vimeo/psalm/pull/10443](https://togithub.com/vimeo/psalm/pull/10443) - Fix CLI -r error by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10442](https://togithub.com/vimeo/psalm/pull/10442) - Use correct file path while adding unused suppressions for virtual \__… by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10434](https://togithub.com/vimeo/psalm/pull/10434) - Restore support for null coalesce on match expressions by [@​tscni](https://togithub.com/tscni) in [https://github.com/vimeo/psalm/pull/10422](https://togithub.com/vimeo/psalm/pull/10422) - Fix static magic method pureness not being inherited from traits by [@​tscni](https://togithub.com/tscni) in [https://github.com/vimeo/psalm/pull/10429](https://togithub.com/vimeo/psalm/pull/10429) - Fix POSIX only detection of absolute paths by [@​rarila](https://togithub.com/rarila) in [https://github.com/vimeo/psalm/pull/10441](https://togithub.com/vimeo/psalm/pull/10441) - Emit UnusedPsalmSuppress issues for suppressed issues already removed by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10431](https://togithub.com/vimeo/psalm/pull/10431) - Use keyed arrays when assigning literal union keys & assertion fixes by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10439](https://togithub.com/vimeo/psalm/pull/10439) ##### Internal changes - use branch name to randomize tests to ensure test dependencies will error by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10424](https://togithub.com/vimeo/psalm/pull/10424) #### New Contributors - [@​nielsdos](https://togithub.com/nielsdos) made their first contribution in [https://github.com/vimeo/psalm/pull/10443](https://togithub.com/vimeo/psalm/pull/10443) **Full Changelog**: vimeo/psalm@5.16.0...5.17.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-feature/php-sdk). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [vimeo/psalm](https://togithub.com/vimeo/psalm) | `~5.16.0` -> `~5.17.0` | [![age](https://developer.mend.io/api/mc/badges/age/packagist/vimeo%2fpsalm/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/vimeo%2fpsalm/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/vimeo%2fpsalm/5.16.0/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/vimeo%2fpsalm/5.16.0/5.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vimeo/psalm (vimeo/psalm)</summary> ### [`v5.17.0`](https://togithub.com/vimeo/psalm/releases/tag/5.17.0) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.16.0...5.17.0) <!-- Release notes generated using configuration in .github/release.yml at 5.x --> #### What's Changed ##### Features - Implement by-ref closure use analysis by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10419](https://togithub.com/vimeo/psalm/pull/10419) ##### Fixes - Update MongoDB stubs for 1.17 by [@​alcaeus](https://togithub.com/alcaeus) in [https://github.com/vimeo/psalm/pull/10402](https://togithub.com/vimeo/psalm/pull/10402) - Fix backtick analysis by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10409](https://togithub.com/vimeo/psalm/pull/10409) - Declare we do not support document highlighting by [@​tm1000](https://togithub.com/tm1000) in [https://github.com/vimeo/psalm/pull/10408](https://togithub.com/vimeo/psalm/pull/10408) - update define types to be correct by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10423](https://togithub.com/vimeo/psalm/pull/10423) - Fix return type of DOMXPath::query by [@​nielsdos](https://togithub.com/nielsdos) in [https://github.com/vimeo/psalm/pull/10443](https://togithub.com/vimeo/psalm/pull/10443) - Fix CLI -r error by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10442](https://togithub.com/vimeo/psalm/pull/10442) - Use correct file path while adding unused suppressions for virtual \__… by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10434](https://togithub.com/vimeo/psalm/pull/10434) - Restore support for null coalesce on match expressions by [@​tscni](https://togithub.com/tscni) in [https://github.com/vimeo/psalm/pull/10422](https://togithub.com/vimeo/psalm/pull/10422) - Fix static magic method pureness not being inherited from traits by [@​tscni](https://togithub.com/tscni) in [https://github.com/vimeo/psalm/pull/10429](https://togithub.com/vimeo/psalm/pull/10429) - Fix POSIX only detection of absolute paths by [@​rarila](https://togithub.com/rarila) in [https://github.com/vimeo/psalm/pull/10441](https://togithub.com/vimeo/psalm/pull/10441) - Emit UnusedPsalmSuppress issues for suppressed issues already removed by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10431](https://togithub.com/vimeo/psalm/pull/10431) - Use keyed arrays when assigning literal union keys & assertion fixes by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/10439](https://togithub.com/vimeo/psalm/pull/10439) ##### Internal changes - use branch name to randomize tests to ensure test dependencies will error by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10424](https://togithub.com/vimeo/psalm/pull/10424) #### New Contributors - [@​nielsdos](https://togithub.com/nielsdos) made their first contribution in [https://github.com/vimeo/psalm/pull/10443](https://togithub.com/vimeo/psalm/pull/10443) **Full Changelog**: vimeo/psalm@5.16.0...5.17.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-feature/php-sdk). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Signed-off-by: Tom Carrio <tom@carrio.dev>
No description provided.