INNER CODE UNIT · Rust
generate_same_lifetime
willcrichton/flowistry · crates/bench_utils/src/lib.rs:148
pub fn generate_same_lifetime(input: TokenStream) -> TokenStream {
let lt_ident = syn::Lifetime::new("'a", Span::call_site());
let StructAssign {
var_name,
struct_name,
field_val,
field_ty,
num_fields,
} = parse_struct_assign(input);
let fields = (1 ..= num_fields)
.map(|num| Ident::new(format!("field_{num}").as_str(), Span::call_site()))
.collect::<Vec<_>>();
quote! {
struct #struct_name<#lt_ident> {
#(#fields: &#lt_ident #field_ty,)*