From 941c1528068a219e7908b471f87ed445774eed3f Mon Sep 17 00:00:00 2001 From: SOFe Date: Sun, 20 Sep 2020 17:36:59 +0800 Subject: [PATCH] Fully qualify derive(Component) default storage --- specs-derive/Cargo.toml | 8 ++++++++ specs-derive/src/lib.rs | 2 +- specs-derive/tests/default.rs | 6 ++++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 specs-derive/tests/default.rs diff --git a/specs-derive/Cargo.toml b/specs-derive/Cargo.toml index b7c9b22e7..2a18ddab1 100644 --- a/specs-derive/Cargo.toml +++ b/specs-derive/Cargo.toml @@ -14,5 +14,13 @@ proc-macro2 = "1.0.8" syn = "1.0.14" quote = "1.0.2" +[dev-dependencies] +static_assertions = "1.1.0" + +[dev-dependencies.specs] +version = "0.16.1" +path = ".." +features = ["specs-derive"] + [lib] proc-macro = true diff --git a/specs-derive/src/lib.rs b/specs-derive/src/lib.rs index 5a73e83f7..03cf0084a 100644 --- a/specs-derive/src/lib.rs +++ b/specs-derive/src/lib.rs @@ -66,7 +66,7 @@ fn impl_component(ast: &DeriveInput) -> proc_macro2::TokenStream { .unwrap() .storage }) - .unwrap_or_else(|| parse_quote!(DenseVecStorage)); + .unwrap_or_else(|| parse_quote!(::specs::storage::DenseVecStorage)); quote! { impl #impl_generics Component for #name #ty_generics #where_clause { diff --git a/specs-derive/tests/default.rs b/specs-derive/tests/default.rs new file mode 100644 index 000000000..f7fc5d348 --- /dev/null +++ b/specs-derive/tests/default.rs @@ -0,0 +1,6 @@ +use specs::Component; + +#[derive(Component)] +pub struct Foo; + +static_assertions::assert_type_eq_all!(::Storage, ::specs::storage::DenseVecStorage);