• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 use crate::Result;
2 
3 /// Creates an instance by parsing a specific `syn::GenericParam`.
4 /// This can be a type param, a lifetime, or a const param.
5 pub trait FromGenericParam: Sized {
from_generic_param(param: &syn::GenericParam) -> Result<Self>6     fn from_generic_param(param: &syn::GenericParam) -> Result<Self>;
7 }
8 
9 impl FromGenericParam for () {
from_generic_param(_param: &syn::GenericParam) -> Result<Self>10     fn from_generic_param(_param: &syn::GenericParam) -> Result<Self> {
11         Ok(())
12     }
13 }
14 
15 impl FromGenericParam for syn::GenericParam {
from_generic_param(param: &syn::GenericParam) -> Result<Self>16     fn from_generic_param(param: &syn::GenericParam) -> Result<Self> {
17         Ok(param.clone())
18     }
19 }
20