To reproduce, run `cargo test` on the `num/derive` subdir, you will get lots of "a type named ... has already been defined in this module". I can reproduce with `1.15.0-nightly (0ed951993 2016-11-14)`. This change in behaviour was probably caused by https://github.com/rust-lang/rust/pull/37614, but its actually wanted behaviour. Basically the proc macro isn't expected anymore to output the item itself, only the impl's.