-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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 |
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 <git@kchr.de>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Bastian Köcher <git@kchr.de>
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 <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * cargo fmt * Apply suggestions from code review * ".git/.scripts/fmt.sh" 1 Co-authored-by: Bastian Köcher <git@kchr.de> 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 <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Update primitives/arithmetic/src/traits.rs Co-authored-by: Bastian Köcher <git@kchr.de> * cargo fmt * Apply suggestions from code review * ".git/.scripts/fmt.sh" 1 Co-authored-by: Bastian Köcher <git@kchr.de> Co-authored-by: command-bot <>
This PR adds the following
ensure-ops
methods 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::traits
the correct place for this?sp_runtime::traits::ensure::EnsureAdd
. If this is too long, it can be shortcutted tosp_runtime::traits::EnsureAdd
This PR does't not break any current API.
Fixes #12754