pub trait ItemValueParseable: Sized {
// Required method
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>;
}Available on crate feature
parse2 only.Expand description
An item (value) that can appear in a netdoc
This is the type T of a field item: T in a netdoc type.
An implementation is provided for tuples of ItemArgumentParseable,
which parses each argument in turn,
ignores additional arguments,
and rejects any Object.
Typically derived with
#[derive_deftly(ItemValueParseable)].
Signature items are special, and implement SignatureItemParseable instead.
Required Methods§
Sourcefn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Parse the item’s value
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.
Implementations on Foreign Types§
Source§impl ItemValueParseable for Void
impl ItemValueParseable for Void
fn from_unparsed(_item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Source§impl ItemValueParseable for ()
impl ItemValueParseable for ()
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Source§impl ItemValueParseable for PublicKey
impl ItemValueParseable for PublicKey
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, EP>
Source§impl ItemValueParseable for Protocols
impl ItemValueParseable for Protocols
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Source§impl<T0: ItemArgumentParseable> ItemValueParseable for (T0,)
impl<T0: ItemArgumentParseable> ItemValueParseable for (T0,)
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Source§impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable> ItemValueParseable for (T0, T1)
impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable> ItemValueParseable for (T0, T1)
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Source§impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2)
impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2)
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Source§impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3)
impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3)
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Source§impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable, T4: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3, T4)
impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable, T4: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3, T4)
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Source§impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable, T4: ItemArgumentParseable, T5: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3, T4, T5)
impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable, T4: ItemArgumentParseable, T5: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3, T4, T5)
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Source§impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable, T4: ItemArgumentParseable, T5: ItemArgumentParseable, T6: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3, T4, T5, T6)
impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable, T4: ItemArgumentParseable, T5: ItemArgumentParseable, T6: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3, T4, T5, T6)
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Source§impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable, T4: ItemArgumentParseable, T5: ItemArgumentParseable, T6: ItemArgumentParseable, T7: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3, T4, T5, T6, T7)
impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable, T4: ItemArgumentParseable, T5: ItemArgumentParseable, T6: ItemArgumentParseable, T7: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3, T4, T5, T6, T7)
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Source§impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable, T4: ItemArgumentParseable, T5: ItemArgumentParseable, T6: ItemArgumentParseable, T7: ItemArgumentParseable, T8: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable, T4: ItemArgumentParseable, T5: ItemArgumentParseable, T6: ItemArgumentParseable, T7: ItemArgumentParseable, T8: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Source§impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable, T4: ItemArgumentParseable, T5: ItemArgumentParseable, T6: ItemArgumentParseable, T7: ItemArgumentParseable, T8: ItemArgumentParseable, T9: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
impl<T0: ItemArgumentParseable, T1: ItemArgumentParseable, T2: ItemArgumentParseable, T3: ItemArgumentParseable, T4: ItemArgumentParseable, T5: ItemArgumentParseable, T6: ItemArgumentParseable, T7: ItemArgumentParseable, T8: ItemArgumentParseable, T9: ItemArgumentParseable> ItemValueParseable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Source§impl<T: ItemValueParseable> ItemValueParseable for Arc<T>
impl<T: ItemValueParseable> ItemValueParseable for Arc<T>
fn from_unparsed(item: UnparsedItem<'_>) -> Result<Self, ErrorProblem>
Implementors§
impl ItemValueParseable for RelayWeight
impl ItemValueParseable for ConsensusMethods
impl ItemValueParseable for RelayFlags
impl ItemValueParseable for RouterStatusMdDigestsVote
impl ItemValueParseable for Ignored
impl ItemValueParseable for DirAuthCrossCert
Available on crate feature
plain-consensus only.impl ItemValueParseable for tor_netdoc::parse2::poc::netstatus::cons::NdiAuthorityDirSource
Available on crate feature
plain-consensus only.impl ItemValueParseable for tor_netdoc::parse2::poc::netstatus::cons::NdiVoteStatus
Available on crate feature
plain-consensus only.impl ItemValueParseable for tor_netdoc::parse2::poc::netstatus::cons::NdiVotingDelay
Available on crate feature
plain-consensus only.impl ItemValueParseable for tor_netdoc::parse2::poc::netstatus::md::NdiAuthorityDirSource
Available on crate feature
plain-consensus only.impl ItemValueParseable for tor_netdoc::parse2::poc::netstatus::md::NdiVoteStatus
Available on crate feature
plain-consensus only.impl ItemValueParseable for tor_netdoc::parse2::poc::netstatus::md::NdiVotingDelay
Available on crate feature
plain-consensus only.impl ItemValueParseable for NdiParams
Available on crate feature
plain-consensus only.impl ItemValueParseable for NdiR
Available on crate feature
plain-consensus only.impl ItemValueParseable for tor_netdoc::parse2::poc::netstatus::vote::NdiAuthorityDirSource
Available on crate feature
plain-consensus only.impl ItemValueParseable for tor_netdoc::parse2::poc::netstatus::vote::NdiVoteStatus
Available on crate feature
plain-consensus only.impl ItemValueParseable for tor_netdoc::parse2::poc::netstatus::vote::NdiVotingDelay
Available on crate feature
plain-consensus only.