pub trait Parse<I: ParseInput>: Sized {
// Required method
fn parse(input: I) -> Result<Self>;
}Expand description
This can be parsed by consuming the whole rest of the input.
Nothing can be parsed after this. It’s implementation’s responsibility to ensure there are no leftover bytes.
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<'a, T: 'a + FullHash, I: PointInput<Extra: Send + Sync + ExtraFor<T>>> Parse<I> for Arc<dyn SingularFetch<T = T> + 'a>
impl<'a, T: 'a + FullHash, I: PointInput<Extra: Send + Sync + ExtraFor<T>>> Parse<I> for Arc<dyn SingularFetch<T = T> + 'a>
Source§impl<A, O: BitOrder, __I: ParseInput> Parse<__I> for BitArray<A, O>
Available on crate feature bitvec only.
impl<A, O: BitOrder, __I: ParseInput> Parse<__I> for BitArray<A, O>
Available on crate feature
bitvec only.Source§impl<I: ParseInput> Parse<I> for Bytes
Available on crate feature bytes only.
impl<I: ParseInput> Parse<I> for Bytes
Available on crate feature
bytes only.Source§impl<I: ParseInput> Parse<I> for BytesMut
Available on crate feature bytes only.
impl<I: ParseInput> Parse<I> for BytesMut
Available on crate feature
bytes only.Source§impl<I: ParseInput> Parse<I> for Infallible
impl<I: ParseInput> Parse<I> for Infallible
Source§impl<I: ParseInput> Parse<I> for Ulid
Available on crate feature ulid only.
impl<I: ParseInput> Parse<I> for Ulid
Available on crate feature
ulid only.Source§impl<II: ParseInput, A: ParseInline<II>, B: Parse<II>> Parse<II> for (A, B)
impl<II: ParseInput, A: ParseInline<II>, B: Parse<II>> Parse<II> for (A, B)
Source§impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: Parse<II>> Parse<II> for (A, B, C)
impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: Parse<II>> Parse<II> for (A, B, C)
Source§impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: Parse<II>> Parse<II> for (A, B, C, D)
impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: Parse<II>> Parse<II> for (A, B, C, D)
Source§impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: Parse<II>> Parse<II> for (A, B, C, D, E)
impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: Parse<II>> Parse<II> for (A, B, C, D, E)
Source§impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: Parse<II>> Parse<II> for (A, B, C, D, E, F)
impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: Parse<II>> Parse<II> for (A, B, C, D, E, F)
Source§impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: ParseInline<II>, G: Parse<II>> Parse<II> for (A, B, C, D, E, F, G)
impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: ParseInline<II>, G: Parse<II>> Parse<II> for (A, B, C, D, E, F, G)
Source§impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: ParseInline<II>, G: ParseInline<II>, H: Parse<II>> Parse<II> for (A, B, C, D, E, F, G, H)
impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: ParseInline<II>, G: ParseInline<II>, H: Parse<II>> Parse<II> for (A, B, C, D, E, F, G, H)
Source§impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: ParseInline<II>, G: ParseInline<II>, H: ParseInline<II>, I: Parse<II>> Parse<II> for (A, B, C, D, E, F, G, H, I)
impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: ParseInline<II>, G: ParseInline<II>, H: ParseInline<II>, I: Parse<II>> Parse<II> for (A, B, C, D, E, F, G, H, I)
Source§impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: ParseInline<II>, G: ParseInline<II>, H: ParseInline<II>, I: ParseInline<II>, J: Parse<II>> Parse<II> for (A, B, C, D, E, F, G, H, I, J)
impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: ParseInline<II>, G: ParseInline<II>, H: ParseInline<II>, I: ParseInline<II>, J: Parse<II>> Parse<II> for (A, B, C, D, E, F, G, H, I, J)
Source§impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: ParseInline<II>, G: ParseInline<II>, H: ParseInline<II>, I: ParseInline<II>, J: ParseInline<II>, K: Parse<II>> Parse<II> for (A, B, C, D, E, F, G, H, I, J, K)
impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: ParseInline<II>, G: ParseInline<II>, H: ParseInline<II>, I: ParseInline<II>, J: ParseInline<II>, K: Parse<II>> Parse<II> for (A, B, C, D, E, F, G, H, I, J, K)
Source§impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: ParseInline<II>, G: ParseInline<II>, H: ParseInline<II>, I: ParseInline<II>, J: ParseInline<II>, K: ParseInline<II>, L: Parse<II>> Parse<II> for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<II: ParseInput, A: ParseInline<II>, B: ParseInline<II>, C: ParseInline<II>, D: ParseInline<II>, E: ParseInline<II>, F: ParseInline<II>, G: ParseInline<II>, H: ParseInline<II>, I: ParseInline<II>, J: ParseInline<II>, K: ParseInline<II>, L: Parse<II>> Parse<II> for (A, B, C, D, E, F, G, H, I, J, K, L)
Source§impl<K: ParseInline<I> + Eq + Hash, V: ParseInline<I>, I: ParseInput> Parse<I> for IndexMap<K, V>
Available on crate feature indexmap only.
impl<K: ParseInline<I> + Eq + Hash, V: ParseInline<I>, I: ParseInput> Parse<I> for IndexMap<K, V>
Available on crate feature
indexmap only.Source§impl<K: ParseInline<I> + Ord, V: ParseInline<I>, I: ParseInput> Parse<I> for BTreeMap<K, V>
impl<K: ParseInline<I> + Ord, V: ParseInline<I>, I: ParseInput> Parse<I> for BTreeMap<K, V>
Source§impl<T, I: PointInput<Extra: Send + Sync + ExtraFor<T>>> Parse<I> for Arc<dyn Send + Sync + ExtraFor<T>>
impl<T, I: PointInput<Extra: Send + Sync + ExtraFor<T>>> Parse<I> for Arc<dyn Send + Sync + ExtraFor<T>>
Source§impl<T: ?Sized, I: ParseInput> Parse<I> for PhantomData<T>
impl<T: ?Sized, I: ParseInput> Parse<I> for PhantomData<T>
Source§impl<T: OptionParse<I>, I: ParseInput> Parse<I> for Option<T>
impl<T: OptionParse<I>, I: ParseInput> Parse<I> for Option<T>
Source§impl<T: ParseInline<I> + Eq + Hash, I: ParseInput> Parse<I> for IndexSet<T>
Available on crate feature indexmap only.
impl<T: ParseInline<I> + Eq + Hash, I: ParseInput> Parse<I> for IndexSet<T>
Available on crate feature
indexmap only.Source§impl<T: ParseInline<I> + Ord, I: ParseInput> Parse<I> for BTreeSet<T>
impl<T: ParseInline<I> + Ord, I: ParseInput> Parse<I> for BTreeSet<T>
Source§impl<T: ParseInline<I>, I: ParseInput> Parse<I> for Vec<T>
impl<T: ParseInline<I>, I: ParseInput> Parse<I> for Vec<T>
Source§impl<T: ParseInline<I>, I: ParseInput> Parse<I> for VecDeque<T>
impl<T: ParseInline<I>, I: ParseInput> Parse<I> for VecDeque<T>
Source§impl<T: ParseInline<I>, N: ArrayLength, I: ParseInput> Parse<I> for GenericArray<T, N>
impl<T: ParseInline<I>, N: ArrayLength, I: ParseInput> Parse<I> for GenericArray<T, N>
Source§impl<T: ParseInline<I>, const N: usize, I: ParseInput> Parse<I> for [T; N]
impl<T: ParseInline<I>, const N: usize, I: ParseInput> Parse<I> for [T; N]
Source§impl<const S: usize, I: ParseInput> Parse<I> for CidGeneric<S>
Available on crate feature cid only.
impl<const S: usize, I: ParseInput> Parse<I> for CidGeneric<S>
Available on crate feature
cid only.