usecrate::utils::{add_where_clauses_for_new_ident, SingleFieldData, State}; use proc_macro2::TokenStream; use quote::{format_ident, quote}; use syn::{parse::Result, DeriveInput};
/// Provides the hook to expand `#[derive(IndexMut)]` into an implementation of `IndexMut` pubfn expand(input: &DeriveInput, trait_name: &'static str) -> Result<TokenStream> { let index_type = format_ident!("__IdxT"); letmut state = State::with_field_ignore(input, trait_name, "index_mut".into())?;
state.add_trait_path_type_param(quote! { #index_type }); let SingleFieldData {
field,
field_type,
input_type,
trait_path_with_params,
casted_trait,
member,
..
} = state.assert_single_enabled_field();
let type_where_clauses = quote! { where#field_type: #trait_path_with_params
};
let new_generics = add_where_clauses_for_new_ident(
&input.generics,
&[field],
&index_type,
type_where_clauses, true,
);
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.11Bemerkung:
(vorverarbeitet am 2026-06-23)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.