Struct attr::Path
[−]
[src]
pub struct Path<Input, Output, A: Attr<Input>, Rest> { /* fields omitted */ }
A plain path describing how to retrieve a value at a point, and then recursive down the rest of the path.
Paths are usually inferred and should not be directly used in user code.
Methods
impl<'a, 'b: 'a, X: 'b, Z: 'b, A: Attr<X>, R: Traverse<'a, 'b, A::Output, Z>> Path<X, Z, A, R> where A::Output: 'b
[src]
fn from<NX: 'b, NY: 'b, NZ: 'b, NA>(self, attr: NA) -> Path<NX, NZ, NA, Self> where A: Attr<NY, Output=Z>, NA: Attr<NX, Output=NY>
Extends a path by another segment.
This needs a retrieval that always succeds
fn try<NX: 'a, NY: 'a, NZ: 'a, NA>(self,
attr: NA)
-> InsecurePath<NX, NZ, NA, Self> where A: Attr<NY, Output=Z>, NA: InsecureAttr<NX, Output=NY>
attr: NA)
-> InsecurePath<NX, NZ, NA, Self> where A: Attr<NY, Output=Z>, NA: InsecureAttr<NX, Output=NY>
Extends a path by another segment.
This assumes that the retrieval cannot always succeed.
fn mapped<NX: 'b, NY: 'b, NZ: 'b, NA>(self, attr: NA) -> MapPath<NA, Self> where A: Attr<X>,
R: Traverse<'a, 'b, A::Output, Z>,
NA: IterableAttr<'a, NX, Item=NY>,
Self: Traverse<'a, 'b, NY, NZ>
R: Traverse<'a, 'b, A::Output, Z>,
NA: IterableAttr<'a, NX, Item=NY>,
Self: Traverse<'a, 'b, NY, NZ>
Extends a path by an iteration operation.
This assumes that the iteration is always possible