This isn't true if I have my own Component type and I have done something like use specs::Component as SComponent;. It's also not true if I'm also using another library using similar code that wants ownership of the non-namespaced name Component.
The macro should be changed to use a fully-qualified specs::Component, so it can coexist with Components from other crates.
Fully-qualified specs::Component was removed in https://github.com/amethyst/specs/pull/467. I don't have horse on the race either way just linking to the previous discussion.
The derive macro for components seems to be assuming that the literal string "Component" in my source code is going to point to
specs::Component
.https://github.com/amethyst/specs/blob/d4435bdf496cf322c74886ca09dd8795984919b4/specs-derive/src/lib.rs#L72
This isn't true if I have my own
Component
type and I have done something likeuse specs::Component as SComponent;
. It's also not true if I'm also using another library using similar code that wants ownership of the non-namespaced nameComponent
.The macro should be changed to use a fully-qualified
specs::Component
, so it can coexist withComponent
s from other crates.Or am I doing something very wrong?