-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Add ensure-ops family methods #12967
Add ensure-ops family methods #12967
Conversation
IMO rather
You can also create super-traits like |
That should be theoretically the best place, but the methods return
Sure! I like the idea |
7de1c79 to
c1cc41a
Compare
|
Can we not move all of this into |
|
It could be a possibility 👍🏻 . Makes sense to have this error there. If the runtime reexports the error, it should not be a breaking change. If you agree, I can do this refactor. |
|
Sounds good 👍 |
47df1eb to
2bc3f02
Compare
|
I've finally reexported the |
melekes
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 (code-wise; don't know enough to reason about business logic)
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
|
bot merge |
|
Error: Statuses failed for 9ba9307 |
|
/cmd queue -c fmt $ 1 |
|
@bkchr https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2204938 was started for your command Comment |
|
@bkchr Command |
|
bot merge |
|
This pull request has been mentioned on Polkadot Forum. There might be relevant details there: https://forum.polkadot.network/t/polkadot-release-analysis-v0-9-37/1736/1 |
* add ensure-ops family methods * fix cargo doc * add EnsureOp and EnsureOpAssign meta traits * move ensure module and ArithmeticError to sp-arithmetic * fix doc examples * reexport ensure module content * ensure mod private * reexport to sp-runtime * fix doc example * remove into(). in doc examples, minor doc changes * remove return value from assign methods * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * cargo fmt * Apply suggestions from code review * ".git/.scripts/fmt.sh" 1 Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: command-bot <>
* add ensure-ops family methods * fix cargo doc * add EnsureOp and EnsureOpAssign meta traits * move ensure module and ArithmeticError to sp-arithmetic * fix doc examples * reexport ensure module content * ensure mod private * reexport to sp-runtime * fix doc example * remove into(). in doc examples, minor doc changes * remove return value from assign methods * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <[email protected]> * cargo fmt * Apply suggestions from code review * ".git/.scripts/fmt.sh" 1 Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: command-bot <>
This PR adds the following
ensure-opsmethods for safe arithmetic operations:ensure_add()ensure_sub()ensure_mul()ensure_div()ensure_add_assign()ensure_sub_assign()ensure_mul_assign()ensure_div-assign()ensure_from_rational()for FixedPointNumberensure_mul_int()for FixedPointNumberensure_div_int()for FixedPointNumberensure_from()ensure_into()Checks before accepting this PR:
sp_runtime::traitsthe correct place for this?sp_runtime::traits::ensure::EnsureAdd. If this is too long, it can be shortcutted tosp_runtime::traits::EnsureAddThis PR does't not break any current API.
Fixes #12754