Skip to content

'duplicate definitions' regression with winapi 0.2.5 #32247

Closed
@brson

Description

@brson

With rustc 1.9.0-nightly (74b886ab1 2016-03-13) I see this error building winapi 0.2.5:

C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:148:13: 150:14 error: duplicate definitions with name `item`: [E0201]
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:148             pub unsafe fn $variant(&self) -> &$fieldtype {
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:149                 ::std::mem::transmute(&self.$field)
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:150             }
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\commctrl.rs:2496:1: 2496:59 note: in this expansion of UNION! (defined in C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs)
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:148:13: 150:14 help: run `rustc --explain E0201` to see a detailed explanation
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:148:13: 150:14 note: conflicting definition is here:
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:148             pub unsafe fn $variant(&self) -> &$fieldtype {
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:149                 ::std::mem::transmute(&self.$field)
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:150             }
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\commctrl.rs:2503:1: 2503:59 note: in this expansion of UNION! (defined in C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs)
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:152:13: 154:14 error: duplicate definitions with name `item_mut`: [E0201]
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:152             pub unsafe fn $variantmut(&mut self) -> &mut $fieldtype {
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:153                 ::std::mem::transmute(&mut self.$field)
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:154             }
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\commctrl.rs:2496:1: 2496:59 note: in this expansion of UNION! (defined in C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs)
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:152:13: 154:14 help: run `rustc --explain E0201` to see a detailed explanation
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:152:13: 154:14 note: conflicting definition is here:
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:152             pub unsafe fn $variantmut(&mut self) -> &mut $fieldtype {
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:153                 ::std::mem::transmute(&mut self.$field)
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs:154             }
C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\commctrl.rs:2503:1: 2503:59 note: in this expansion of UNION! (defined in C:\Users\brian\AppData\Local\.multirust\cargo\registry\src\github.com-88ac128001ac3a9a\winapi-0.2.5\src\macros.rs)
error: aborting due to 2 previous errors

This worked as recently as rustc 1.9.0-nightly (c9629d61c 2016-03-10).

cc @retep998 @nikomatsakis

Metadata

Metadata

Assignees

Labels

P-highHigh priorityT-langRelevant to the language teamregression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions