From e0669219aa3ccebfc6a3a25a9dbbe237053aca00 Mon Sep 17 00:00:00 2001 From: Samuel Hurel Date: Tue, 12 May 2020 10:38:59 +0200 Subject: [PATCH] Allow for crate renaming in Cargo.toml --- async-graphql-derive/Cargo.toml | 1 + async-graphql-derive/src/utils.rs | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/async-graphql-derive/Cargo.toml b/async-graphql-derive/Cargo.toml index 07af9b4b..50636783 100644 --- a/async-graphql-derive/Cargo.toml +++ b/async-graphql-derive/Cargo.toml @@ -21,3 +21,4 @@ proc-macro2 = "1.0.6" syn = { version = "1.0.13", features = ["full"] } quote = "1.0.3" Inflector = "0.11.4" +proc-macro-crate = "0.1.4" diff --git a/async-graphql-derive/src/utils.rs b/async-graphql-derive/src/utils.rs index 3ed5efad..ad2becb8 100644 --- a/async-graphql-derive/src/utils.rs +++ b/async-graphql-derive/src/utils.rs @@ -1,5 +1,6 @@ use async_graphql_parser::Value; use proc_macro2::{Span, TokenStream}; +use proc_macro_crate::crate_name; use quote::quote; use syn::{Attribute, Error, Expr, Ident, Lit, Meta, MetaList, NestedMeta, Result}; @@ -7,7 +8,8 @@ pub fn get_crate_name(internal: bool) -> TokenStream { if internal { quote! { crate } } else { - let id = Ident::new("async_graphql", Span::call_site()); + let name = crate_name("async-graphql").expect("async-graphql is not present in `Cargo.toml`"); + let id = Ident::new(&name, Span::call_site()); quote! { #id } } }