const_format_proc_macros/derive_debug/
syntax.rs

1use syn::{
2    parse::{Parse, ParseStream},
3    Generics,
4};
5
6////////////////////////////////////////////////////////////////////////////////
7
8pub(crate) struct ImplHeader {
9    pub(crate) generics: Generics,
10    pub(crate) self_ty: syn::Path,
11}
12
13impl Parse for ImplHeader {
14    fn parse(input: ParseStream) -> Result<Self, syn::Error> {
15        let mut generics = input.parse::<Generics>()?;
16
17        let self_ty = input.parse()?;
18
19        generics.where_clause = input.parse()?;
20
21        Ok(Self { generics, self_ty })
22    }
23}