1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//! Runtime library for `proc-macro-kwargs`
#![deny(missing_docs)]
#![feature(trait_alias)]
pub use proc_macro_kwargs_derive::MacroKeywordArgs;

pub mod parse;
pub mod args;

pub use parse::{MacroArg};
pub use args::{MacroKeywordArgs};

/// Combine multiple `syn` errors into a single error struct
///
/// Panics if the specified vector is empty.
///
/// NOTE: This is an internal implementation detail
#[doc(hidden)]
pub fn combine_errors(errors: Vec<syn::Error>) -> syn::Error {
    let mut iter = errors.into_iter();
    let mut error = iter.next().expect("empty Vec");
    for extra in iter {
        error.combine(extra);
    }
    error
}