pub(crate) fn generate_struct_member_initialization(
        &self,
        provider: &syn::Ident,
    ) -> TokenStream {
        let name_literal = &self.spec.name;
        let name_ident = &self.spec.method_name;
        let args_tuple = self.args_as_tuple_type_without_lifetimes();

        let span = self.spec.span;
        quote_spanned! {span=>
            #name_ident: #provider.get_probe::<#args_tuple>(#name_literal)
                .map_err(|e| format!(concat!("Error getting probe '", #name_literal, "': {}"), e))?
        }
    }
/// When we create a new instance of the struct which represents the provider and holds the
/// `ProviderProbe` objects for all of the probes, each of those members needs to be
/// initialized as part of the initialization expression for the struct.  This method generates
/// the initialization expression for just this probe.
///
/// For the whole struct it would look something like:
///
/// ```noexecute
/// FooProviderImpl{
///     probe1: provider.probe::<(i32,)>("probe1")?,
///     probe2: provider.probe::<(&str,&str,)>("probe2")?,
///     ...
/// }
/// ```
///
/// This method generates just the line corresponding to this probe, without a trailing comma.
When we create a new instance of the struct which represents the provider and holds the
`ProviderProbe` objects for all of the probes, each of those members needs to be
initialized as part of the initialization expression for the struct.  This method generates
the initialization expression for just this probe.

For the whole struct it would look something like.



This method generates just the line corresponding to this probe, without a trailing comma.
When we create a new instance of the struct which represents the provider and holds the ` ProviderProbe ` objects for all of the probes each of those members needs to be initialized as part of the initialization expression for the struct . This method generates the initialization expression for just this probe . For the whole struct it would look something like . This method generates just the line corresponding to this probe without a trailing comma .
pub(crate) fn generate_struct_member_initialization(
        &self,
        provider: &syn::Ident,
    ) -> TokenStream {
        let name_literal = &self.spec.name;
        let name_ident = &self.spec.method_name;
        let args_tuple = self.args_as_tuple_type_without_lifetimes();
        let span = self.spec.span;
        quote_spanned! {span=>
            #name_ident: #provider.get_probe::<#args_tuple>(#name_literal)
                .map_err(|e| format!(concat!("Error getting probe '", #name_literal, "': {}"), e))?
        }
    }
pub ( crate ) fn generate_struct_member_initialization ( & self , provider : & syn :: Ident , ) -> TokenStream { let name_literal = & self . spec . name ; let name_ident = & self . spec . method_name ; let args_tuple = self . args_as_tuple_type_without_lifetimes ( ) ; let span = self . spec . span ; quote_spanned ! { span name_ident provider get_probe args_tuple ( name_literal ) map_err ( e format ( concat ( " " name_literal " " ) e ) ) } }
When we create a new instance of the struct which represents the provider and holds the
`ProviderProbe` objects for all of the probes, each of those members needs to be
initialized as part of the initialization expression for the struct.
When we create a new instance of the struct which represents the provider and holds the ` ProviderProbe ` objects for all of the probes each of those members needs to be initialized as part of the initialization expression for the struct .
&self
provider
&syn::Ident
&self
provider
&syn::Ident