fn crate_name()

in rust/ccommon-derive/src/lib.rs [354:367]


fn crate_name(name: &'static str) -> Result<TokenStream, Error> {
    if std::env::var("CARGO_PKG_NAME").unwrap() == "ccommon-rs" {
        return Ok(quote! { ::ccommon_rs });
    }

    let name = match proc_macro_crate::crate_name(name) {
        Ok(name) => name,
        Err(e) => return Err(Error::new(Span::call_site(), e)),
    };

    let ident = Ident::new(&name, Span::call_site());

    Ok(quote! { ::#ident })
}