message: Rename lifetimes in generated code
  Summary: Smaller chance of collision when type has lifetimes and better error messages.
diff: @@ -104,7 +104,10 @@ fn derive_allocative_impl(
  Ok(quote_spanned! {input.span()=>
  impl #impl_generics allocative::Allocative for #name #type_generics #where_clause {
  #[allow(unused_mut, unused_variables)]
  - fn visit<'a, 'b: 'a>(&self, visitor: &'a mut allocative::Visitor<'b>) {
  + fn visit<'allocative_a, 'allocative_b: 'allocative_a>(
  + &self,
  + visitor: &'allocative_a mut allocative::Visitor<'allocative_b>,
  + ) {
  let mut visitor = visitor.enter_self_sized::<Self>();
  #body
  visitor.exit();
  