Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Frame: Introduce TryConvert and MaybeConvert family of traits #14297

Merged
merged 11 commits into from
Jun 4, 2023

Conversation

gavofyork
Copy link
Member

@gavofyork gavofyork commented Jun 2, 2023

These traits are helpful for cleaner code downstream in Polkadot.

@gavofyork gavofyork added A0-please_review Pull request needs code review. B0-silent Changes should not be mentioned in any release notes C1-low PR touches the given topic and has a low impact on builders. D2-notlive 💤 PR contains changes in a runtime directory that is not deployed to a chain that requires an audit. T1-runtime This PR/Issue is related to the topic “runtime”. labels Jun 2, 2023
@gavofyork gavofyork requested a review from a team June 2, 2023 18:21
primitives/runtime/src/traits.rs Outdated Show resolved Hide resolved
primitives/runtime/src/traits.rs Outdated Show resolved Hide resolved
primitives/runtime/src/traits.rs Outdated Show resolved Hide resolved
primitives/runtime/src/traits.rs Outdated Show resolved Hide resolved
primitives/runtime/src/traits.rs Show resolved Hide resolved
primitives/runtime/src/traits.rs Show resolved Hide resolved
primitives/runtime/src/traits.rs Show resolved Hide resolved
primitives/runtime/src/traits.rs Outdated Show resolved Hide resolved
primitives/runtime/src/traits.rs Outdated Show resolved Hide resolved
pub trait Convert<A, B> {
/// Make conversion.
fn convert(a: A) -> B;
}

/// Fallible conversion trait returning a Result. Generic over both source and destination types.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Fallible conversion trait returning a Result. Generic over both source and destination types.
/// Fallible conversion trait returning a [Result]. Generic over both source and destination types.

fn convert_back(b: B) -> A;
}

/// Fallible conversion trait returning a Result. Generic over both source and destination types.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/// Fallible conversion trait returning a Result. Generic over both source and destination types.
/// Fallible conversion trait returning a [Result]. Generic over both source and destination types.

@gavofyork gavofyork merged commit 715b246 into master Jun 4, 2023
@gavofyork gavofyork deleted the gav-refactor-convert branch June 4, 2023 17:06
librelois added a commit to moonbeam-foundation/substrate that referenced this pull request Jun 9, 2023
…ritytech#14297)

* Frame: Introduce TryConvert and TryConvertBack

* Update primitives/runtime/src/traits.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Add MaybeEquivalence

* Docs

---------

Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Agusrodri pushed a commit to moonbeam-foundation/substrate that referenced this pull request Jul 13, 2023
…ritytech#14297)

* Frame: Introduce TryConvert and TryConvertBack

* Update primitives/runtime/src/traits.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Add MaybeEquivalence

* Docs

---------

Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
nathanwhit pushed a commit to nathanwhit/substrate that referenced this pull request Jul 19, 2023
…ritytech#14297)

* Frame: Introduce TryConvert and TryConvertBack

* Update primitives/runtime/src/traits.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Update primitives/runtime/src/traits.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Add MaybeEquivalence

* Docs

---------

Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A0-please_review Pull request needs code review. B0-silent Changes should not be mentioned in any release notes C1-low PR touches the given topic and has a low impact on builders. D2-notlive 💤 PR contains changes in a runtime directory that is not deployed to a chain that requires an audit. T1-runtime This PR/Issue is related to the topic “runtime”.
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants