fn from_type(
        syn_type: &'p syn::Type,
    ) -> Option<TypeInfoResolver<'s>>
    {
        match *syn_type {

            // Delegate to appropriate conversion.
            syn::Type::Slice( ref slice ) => TypeInfoResolver::from_slice( slice ),
            syn::Type::Reference( ref reference ) => TypeInfoResolver::from_reference( reference ),
            syn::Type::Ptr( ref ptr ) => TypeInfoResolver::from_pointer( ptr ),
            syn::Type::Array( ref arr ) => TypeInfoResolver::from_array( arr ),
            syn::Type::Path( ref p ) => TypeInfoResolver::from_path( p ),
            syn::Type::Tuple( ref t ) if t.elems.is_empty() => Some( TypeInfoResolver::void() ),

            syn::Type::BareFn(..)
                | syn::Type::Never(..)
                | syn::Type::Tuple(..)
                | syn::Type::TraitObject(..)
                | syn::Type::ImplTrait(..)
                | syn::Type::Paren(..)
                | syn::Type::Infer(..)
                | syn::Type::Macro(..)
                | syn::Type::Verbatim(..)
                | syn::Type::Group(..)
                => None,
        }
    }
/// Parses the type info from the specified Type.
Parses the type info from the specified Type.
Parses the type info from the specified Type .
fn from_type(
        syn_type: &'p syn::Type,
    ) -> Option<TypeInfoResolver<'s>>
    {
        match *syn_type {
            // Delegate to appropriate conversion.
            syn::Type::Slice( ref slice ) => TypeInfoResolver::from_slice( slice ),
            syn::Type::Reference( ref reference ) => TypeInfoResolver::from_reference( reference ),
            syn::Type::Ptr( ref ptr ) => TypeInfoResolver::from_pointer( ptr ),
            syn::Type::Array( ref arr ) => TypeInfoResolver::from_array( arr ),
            syn::Type::Path( ref p ) => TypeInfoResolver::from_path( p ),
            syn::Type::Tuple( ref t ) if t.elems.is_empty() => Some( TypeInfoResolver::void() ),
            syn::Type::BareFn(..)
                | syn::Type::Never(..)
                | syn::Type::Tuple(..)
                | syn::Type::TraitObject(..)
                | syn::Type::ImplTrait(..)
                | syn::Type::Paren(..)
                | syn::Type::Infer(..)
                | syn::Type::Macro(..)
                | syn::Type::Verbatim(..)
                | syn::Type::Group(..)
                => None,
        }
    }
fn from_type ( syn_type : & ' p syn :: Type , ) -> Option < TypeInfoResolver < ' s > > { match * syn_type { // Delegate to appropriate conversion. syn :: Type :: Slice ( ref slice ) => TypeInfoResolver :: from_slice ( slice ) , syn :: Type :: Reference ( ref reference ) => TypeInfoResolver :: from_reference ( reference ) , syn :: Type :: Ptr ( ref ptr ) => TypeInfoResolver :: from_pointer ( ptr ) , syn :: Type :: Array ( ref arr ) => TypeInfoResolver :: from_array ( arr ) , syn :: Type :: Path ( ref p ) => TypeInfoResolver :: from_path ( p ) , syn :: Type :: Tuple ( ref t ) if t . elems . is_empty ( ) => Some ( TypeInfoResolver :: void ( ) ) , syn :: Type :: BareFn ( .. ) | syn :: Type :: Never ( .. ) | syn :: Type :: Tuple ( .. ) | syn :: Type :: TraitObject ( .. ) | syn :: Type :: ImplTrait ( .. ) | syn :: Type :: Paren ( .. ) | syn :: Type :: Infer ( .. ) | syn :: Type :: Macro ( .. ) | syn :: Type :: Verbatim ( .. ) | syn :: Type :: Group ( .. ) => None , } }
Parses the type info from the specified Type.
Parses the type info from the specified Type .
syn_type
&'p syn::Type