-
Notifications
You must be signed in to change notification settings - Fork 138
Add Error Polymorphism to High-Order Functions in @immut
Modules
#2236
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
Add Error Polymorphism to High-Order Functions in @immut
Modules
#2236
Conversation
Consistent error propagation signature change across collection typesCategory Impact on backwards compatibility with existing codeCategory Consistent application of `raise?` annotationsCategory |
Pull Request Test Coverage Report for Build 7308Details
💛 - Coveralls |
ec7e49c
to
13e58f3
Compare
13e58f3
to
1a81258
Compare
@Asterless next time, please check the content generated by the Copilot before you submit a PR. |
Summary
This PR enhances error handling across various functions in the codebase, allowing for proper error propagation in higher-order functions.
Details
Affected Functions
Immutable Array
each
eachi
makei
fold
fold_left
andfold_right
rev_fold
map
Immutable HashMap
each
filter
fold
andfold_with_key
intersection_with
map
andmap_with_key
union_with
(updated to propagate errors from merging function)Immutable HashSet
each
Legacy Immutable List
all
any
drop_while
each
andeachi
filter
find
andfindi
flat_map
fold
andfoldi
andrev_fold
andrev_foldi
fold_left
andfold_lefti
fold_right
andfold_righti
mapi
andrev_map
scan_left
andscan_right
unfold
Immutable Sorted Map
filter
andfilter_with_key
Immutable SortedSet
all
any
each
filter
fold
map
Built-in Iteration
Iter::each
Iter::eachi
Iter::fold
These updates ensure a more robust and consistent approach to error handling across multiple modules, including array operations, immutable data structures, and iteration utilities.