[][src]Type Definition structural::field::rev_get_field::RevGetFieldType

type RevGetFieldType<FieldPath, This> = <FieldPath as RevFieldType<This>>::Ty;

Queries the type of a nested field in This, what field is queried is determined by FieldPath,

Example

use structural::{
    field::RevGetFieldType,
    GetFieldType3,StructuralExt,Structural,
    FP,fp,
};

fn main(){
    let this=TopLevel::default();
     
    let baz: &RevGetFieldType<FP!(foo.bar.baz), TopLevel>=
        this.field_(fp!(foo.bar.baz));
    assert_eq!( *baz, Vec::new() );
     
    let strand: &RevGetFieldType<FP!(foo.bar.strand), TopLevel>=
        this.field_(fp!(foo.bar.strand));
    assert_eq!( *strand, String::new() );
}

#[derive(Debug,Default,Structural)]
struct TopLevel{
    pub foo:Foo,
}

#[derive(Debug,Default,Structural)]
struct Foo{
    pub bar:Bar,
}

#[derive(Debug,Default,Structural)]
struct Bar{
    pub baz:Vec<()>,
    pub strand:String,
}