accepts-codegen 0.0.1

Rust toolkit for composing synchronous and asynchronous acceptor pipelines
Documentation
use syn::{
    Attribute, Pat, PatTupleStruct, Path, QSelf,
    punctuated::Punctuated,
    token::{Comma, Paren},
};

pub trait PatTupleStructConstructExt {
    fn from_parts(
        attrs: Vec<Attribute>,
        qself: Option<QSelf>,
        path: Path,
        paren_token: Paren,
        elems: Punctuated<Pat, Comma>,
    ) -> PatTupleStruct;

    fn from_qself_path_elems(
        qself: Option<QSelf>,
        path: Path,
        elems: Punctuated<Pat, Comma>,
    ) -> PatTupleStruct;

    fn from_path_elems(path: Path, elems: Punctuated<Pat, Comma>) -> PatTupleStruct;
}

impl PatTupleStructConstructExt for PatTupleStruct {
    fn from_parts(
        attrs: Vec<Attribute>,
        qself: Option<QSelf>,
        path: Path,
        paren_token: Paren,
        elems: Punctuated<Pat, Comma>,
    ) -> PatTupleStruct {
        PatTupleStruct {
            attrs,
            qself,
            path,
            paren_token,
            elems,
        }
    }

    fn from_qself_path_elems(
        qself: Option<QSelf>,
        path: Path,
        elems: Punctuated<Pat, Comma>,
    ) -> PatTupleStruct {
        Self::from_parts(Vec::new(), qself, path, Paren::default(), elems)
    }

    fn from_path_elems(path: Path, elems: Punctuated<Pat, Comma>) -> PatTupleStruct {
        Self::from_qself_path_elems(None, path, elems)
    }
}