Warned<T, W> ... a value with warnings
The Warned<T, W> type represents a value with warnings, while the Result<T, E> type represents a value or error.
Basic
// new
let pi = new;
assert_eq!;
assert_eq!;
// dereference
assert_eq!;
// unwrap
let mut warnings = vec!;
assert_eq!;
assert_eq!;
// into
let a: Warned = 123.into;
assert_eq!;
assert!;
Conversion between Warned<T, W> and Result<T, W>
Warned::into_resultreturnsOkonly ifselfhas no warnings. Otherwise, returnsErr.From<Warned<T, W>>trait is implemented forResult<T, Vec<W>>with theWarned::into_result.Warned::from_result_or_elsereturns a value with no warnings if thesrcisOk. Otherwise, returns a value off()with single warning.Warned::from_result_orreturns a value with no warnings if thesrcisOk. Otherwise, returns a givendefaultvalue with single warning.Warned::from_result_or_defaultReturns a value with no warnings if thesrcisOk. Otherwise, returns aT::default()value with single warning.Warned::from_resultreturns aSomevalue with no warnings if thesrcisOk. Otherwise, returnsNonewith single warning.
FromIterator implementation
FromIterator<Warned<T, W>>
A sequence of Warned<T, W> can be collected as a Warned<Vec<T>, W>.
let src = vec!;
let dst = src.into_iter.;
assert_eq!;
assert_eq!;
FromIterator<Result<T, E>>
A sequence of Result<T, E> can be collected as a Warned<Vec<T>, E>.
let src = vec!;
let dst = src.into_iter.;
assert_eq!;
assert_eq!;
ForceFrom trait, ForceInto trait
The pair of the traits are similar to TryFrom/TryInto traits pair.
ForceFrom/ForceInto returns Warned value, while TryFrom/TryInto
returns Result, as follows.
When you implement ForceFrom conversion, ForceInto implementation is
automatically defined by the blanket implementation below:
And the following blanket implementation is also supported.