in consumer create I have to `use b::Foo;` to get `#[derive(Foo)]` to compile _and_ `use a::Foo;` to call trait Foo's methods on the impl derived for me. Having to import the same type name twice seems shadowy. I'm not sure I understand it but it seems required.
@rustlang found a surprising import behavior/requirement when upgrading to 2018 that I'm not sure is a feature or bug. Goes like this: In crate `a` define a trait Foo. In crate `b` implement a proc macro to derive impls for trait Foo. cont...
-
-
Show this thread
-
found this when upgrading my dynomite crate to 2018 edition https://github.com/softprops/dynomite/blob/fa20e95e09a1a383a7639a5b6dee8506641e7366/dynomite-derive/examples/demo.rs#L7-L9 … when removing `extern crate`s I found I needed to use dynomite_derive::Item for derives to work _and_ use dynomite::Item to invoke methods defined on Item for the type its derived for.
Show this thread -
see something similarish in https://rust-lang-nursery.github.io/edition-guide/rust-2018/macros/macro-changes.html#procedural-macros … in the example you use types defined in the serde trait which aren't re-exported in from its derive proc macro crate https://github.com/serde-rs/serde/blob/5c24f0f0f300c7bd21bad5b097f6f1919de8477c/serde_derive/src/lib.rs#L53-L74 …
Show this thread
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.



