INNER CODE UNIT · Rust

generate_unique_lifetimes

willcrichton/flowistry · crates/bench_utils/src/lib.rs:49

pub fn generate_unique_lifetimes(input: TokenStream) -> TokenStream {
  let ArrayAssign {
    var_name,
    var_val,
    num_locations,
  } = parse_arr_assign(input);

  let idents = (1 ..= num_locations)
    .map(|num| Ident::new(format!("borrow_{num}").as_str(), Span::call_site()));

  quote! {
    let #var_name = #var_val;
    #( let #idents = &#var_name; )*
  }
  .into()
}

/// Assigns to a "main" variable and repeatedly creates temporary variables

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…