pub(crate) fn generate_provider_funcs(
    cache_path: &Path,
    provider: &ProviderSpecification,
) -> Fallible<PathBuf> {
    let file_name = provider.static_provider_source_filename();

    //Make an internal func so we can use the `?` operator which inexplicably doesn't work in
    //closures
    cache::cache_generated_file(cache_path, &file_name, |abs_path| {
        generate_source_file(provider, abs_path)
    })
}
/// Given a tracing provider, generates the (C/C++) code to wrap the probes in a Rust-callable C
/// form.
///
/// On success, returns the path to the generated source file.  This will be somewhere in the
/// `cache_path`, and if something already exists for this provider then it should be re-used.
Given a tracing provider, generates the (C/C++) code to wrap the probes in a Rust-callable C
form.

On success, returns the path to the generated source file.  This will be somewhere in the
`cache_path`, and if something already exists for this provider then it should be re-used.
Given a tracing provider generates the ( C / C ++ ) code to wrap the probes in a Rust - callable C form . On success returns the path to the generated source file . This will be somewhere in the ` cache_path ` and if something already exists for this provider then it should be re - used .
pub(crate) fn generate_provider_funcs(
    cache_path: &Path,
    provider: &ProviderSpecification,
) -> Fallible<PathBuf> {
    let file_name = provider.static_provider_source_filename();
    //Make an internal func so we can use the `?` operator which inexplicably doesn't work in
    //closures
    cache::cache_generated_file(cache_path, &file_name, |abs_path| {
        generate_source_file(provider, abs_path)
    })
}
pub ( crate ) fn generate_provider_funcs ( cache_path : & Path , provider : & ProviderSpecification , ) -> Fallible < PathBuf > { let file_name = provider . static_provider_source_filename ( ) ; //Make an internal func so we can use the `?` operator which inexplicably doesn't work in //closures cache :: cache_generated_file ( cache_path , & file_name , | abs_path | { generate_source_file ( provider , abs_path ) } ) }
Given a tracing provider, generates the (C/C++) code to wrap the probes in a Rust-callable C
form.
Given a tracing provider generates the ( C / C ++ ) code to wrap the probes in a Rust - callable C form .
cache_path
&Path
provider
&ProviderSpecification
cache_path
&Path
provider
&ProviderSpecification