| 123456789101112131415161718192021222324252627282930313233343536 |
- // SPDX-License-Identifier: GPL-2.0
- use proc_macro2::{
- Ident,
- TokenStream,
- TokenTree, //
- };
- use syn::{
- parse::{
- Parse,
- ParseStream, //
- },
- Result,
- Token, //
- };
- pub(crate) struct Input {
- a: Ident,
- _comma: Token![,],
- b: Ident,
- }
- impl Parse for Input {
- fn parse(input: ParseStream<'_>) -> Result<Self> {
- Ok(Self {
- a: input.parse()?,
- _comma: input.parse()?,
- b: input.parse()?,
- })
- }
- }
- pub(crate) fn concat_idents(Input { a, b, .. }: Input) -> TokenStream {
- let res = Ident::new(&format!("{a}{b}"), b.span());
- TokenStream::from_iter([TokenTree::Ident(res)])
- }
|