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
This commit is contained in:
parent
9f484e616e
commit
8c87eff700
@ -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);
|
||||
|
11
src/test/auxiliary/issue-13872-1.rs
Normal file
11
src/test/auxiliary/issue-13872-1.rs
Normal file
@ -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 }
|
13
src/test/auxiliary/issue-13872-2.rs
Normal file
13
src/test/auxiliary/issue-13872-2.rs
Normal file
@ -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;
|
19
src/test/auxiliary/issue-13872-3.rs
Normal file
19
src/test/auxiliary/issue-13872-3.rs
Normal file
@ -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 => {}
|
||||
}
|
||||
}
|
19
src/test/run-pass/issue-13872.rs
Normal file
19
src/test/run-pass/issue-13872.rs
Normal file
@ -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();
|
||||
}
|
Loading…
Reference in New Issue
Block a user