referrerpolicy=no-referrer-when-downgrade
frame_support::traits

Trait DefensiveTruncateFrom

Source
pub trait DefensiveTruncateFrom<T> {
    // Required method
    fn defensive_truncate_from(unbound: T) -> Self;
}
Expand description

Construct an object by defensively truncating an input if the TryFrom conversion fails.

Required Methods§

Source

fn defensive_truncate_from(unbound: T) -> Self

Use TryFrom first and defensively fall back to truncating otherwise.

§Example
use frame_support::{BoundedVec, traits::DefensiveTruncateFrom};
use sp_runtime::traits::ConstU32;

let unbound = vec![1, 2];
let bound = BoundedVec::<u8, ConstU32<2>>::defensive_truncate_from(unbound);

assert_eq!(bound, vec![1, 2]);

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T, U> DefensiveTruncateFrom<U> for T
where T: TruncateFrom<U> + TryFrom<U, Error = U>,