Permalink
Browse files

rustc: Fix def ids of xcrate-reexported items

This was just a typo in the decoder using the source crate's number rather than
the destination crate's number of a reexport.

Closes #13872
  • Loading branch information...
1 parent 9f484e6 commit 8c87eff70061040f97125cad36bb175337cac96a @alexcrichton alexcrichton committed May 1, 2014
View
2 src/librustc/metadata/decoder.rs
@@ -610,7 +610,7 @@ fn each_child_of_item_or_crate(intr: Rc<IdentInterner>,
// Hand off the item to the callback.
let def_like = item_to_def_like(child_item_doc,
child_def_id,
- cdata.cnum);
+ child_def_id.krate);
// These items have a public visibility because they're part of
// a public re-export.
callback(def_like, token::str_to_ident(name), ast::Public);
View
11 src/test/auxiliary/issue-13872-1.rs
@@ -0,0 +1,11 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub enum A { B }
View
13 src/test/auxiliary/issue-13872-2.rs
@@ -0,0 +1,13 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+extern crate foo = "issue-13872-1";
+
+pub use foo::B;
View
19 src/test/auxiliary/issue-13872-3.rs
@@ -0,0 +1,19 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+extern crate bar = "issue-13872-2";
+
+use bar::B;
+
+pub fn foo() {
+ match B {
+ B => {}
+ }
+}
View
19 src/test/run-pass/issue-13872.rs
@@ -0,0 +1,19 @@
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// aux-build:issue-13872-1.rs
+// aux-build:issue-13872-2.rs
+// aux-build:issue-13872-3.rs
+
+extern crate other = "issue-13872-3";
+
+fn main() {
+ other::foo();
+}

21 comments on commit 8c87eff

@bors

saw approval from Aatch
at alexcrichton@8c87eff

@bors

merging alexcrichton/rust/issue-13872 = 8c87eff into auto

@bors

alexcrichton/rust/issue-13872 = 8c87eff merged ok, testing candidate = 9b59dc5

@bors

saw approval from Aatch
at alexcrichton@8c87eff

@bors

merging alexcrichton/rust/issue-13872 = 8c87eff into auto

@bors

alexcrichton/rust/issue-13872 = 8c87eff merged ok, testing candidate = a3fbd73

@bors

saw approval from Aatch
at alexcrichton@8c87eff

@bors

merging alexcrichton/rust/issue-13872 = 8c87eff into auto

@bors

alexcrichton/rust/issue-13872 = 8c87eff merged ok, testing candidate = dec3654

@bors

saw approval from Aatch
at alexcrichton@8c87eff

@bors

merging alexcrichton/rust/issue-13872 = 8c87eff into auto

@bors

alexcrichton/rust/issue-13872 = 8c87eff merged ok, testing candidate = 06e57aa

@bors

saw approval from Aatch
at alexcrichton@8c87eff

@bors

merging alexcrichton/rust/issue-13872 = 8c87eff into auto

@bors

alexcrichton/rust/issue-13872 = 8c87eff merged ok, testing candidate = 5c0abea

@bors

fast-forwarding master to auto = 5c0abea

Please sign in to comment.