feat(router-registry): disambiguate NotFound vs AllVersionsDeprecated in get_latest#170
Merged
Maki-Zeninn merged 4 commits intoMaki-Zeninn:mainfrom Mar 30, 2026
Conversation
- Add InvalidDescription = 17 error variant - Guard queue against empty description strings - Add test_queue_empty_description_fails and test_queue_nonempty_description_succeeds - All 37 tests pass
- call_result event data changed from (target, function, success) to (caller, target, function, success) - Add test_call_result_event_includes_caller - Document breaking change in CHANGELOG.md - All 19 tests pass
- Add AllVersionsDeprecated = 10 error variant - get_latest: returns NotFound for unknown names, AllVersionsDeprecated when name exists but all versions are deprecated - get_latest_with_constraint: same disambiguation for no-constraint path - Add test_get_latest_all_deprecated_returns_all_deprecated - Update test_get_latest_returns_not_found_when_all_deprecated and test_get_latest_all_deprecated_fails to expect new error - Fix pre-existing: extern crate alloc, entry.unwrap().unwrap() in constraint tests - All 29 tests pass
|
@Markadrian6399 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
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.
Summary
Previously both an unknown name and a fully-deprecated name returned
NotFound, making it impossible for callers to distinguish the two cases.Changes
New error variant
AllVersionsDeprecated = 10added toRegistryErrorUpdated functions
get_latest: returnsNotFoundwhen the name has never been registered,AllVersionsDeprecatedwhen the name exists but every version is deprecatedget_latest_with_constraint: same disambiguation applied to the no-constraint pathTests
test_get_latest_all_deprecated_returns_all_deprecated— new test asserting the new errortest_get_latest_returns_not_found_when_all_deprecated— updated to expectAllVersionsDeprecatedtest_get_latest_all_deprecated_fails— updated to expectAllVersionsDeprecatedPre-existing fixes
result.unwrap().unwrap()corrected in constraint tests (double-wrappedtry_*return)All 29 tests pass.
closes #160