Skip to content

Commit e3dbafc

Browse files
committed
---
yaml --- r: 10474 b: refs/heads/snap-stage3 c: e5a5fc2 h: refs/heads/master v: v3
1 parent 4cc4f35 commit e3dbafc

File tree

5 files changed

+31
-6
lines changed

5 files changed

+31
-6
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
refs/heads/master: 2898dcc5d97da9427ac367542382b6239d9c0bbf
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: 1db8515c08b76aaf0d10002f6d574a75465fc252
4+
refs/heads/snap-stage3: e5a5fc20290e70752af73860b1a192b33588624f
55
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

branches/snap-stage3/src/rustc/metadata/encoder.rs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -396,17 +396,21 @@ fn encode_info_for_mod(ecx: @encode_ctxt, ebml_w: ebml::writer, md: _mod,
396396
let (ident, did) = i;
397397
if ast_util::is_exported(ident, md) {
398398
ebml_w.start_tag(tag_mod_impl);
399+
alt ecx.tcx.items.find(did.node) {
400+
some(ast_map::node_item(it@@{node: cl@item_class(*),_},_)) {
399401
/* If did stands for an iface
400402
ref, we need to map it to its parent class */
401-
alt ecx.tcx.items.get(did.node) {
402-
ast_map::node_item(it@@{node: cl@item_class(*),_},_) {
403403
ebml_w.wr_str(def_to_str(local_def(it.id)));
404404
}
405-
ast_map::node_item(@{node: item_impl(_,_,
406-
some(ifce),_,_),_},_) {
405+
some(ast_map::node_item(@{node: item_impl(_,_,
406+
some(ifce),_,_),_},_)) {
407407
ebml_w.wr_str(def_to_str(did));
408408
}
409-
_ {
409+
some(_) {
410+
ebml_w.wr_str(def_to_str(did));
411+
}
412+
none {
413+
// Must be a re-export, then!
410414
ebml_w.wr_str(def_to_str(did));
411415
}
412416
};
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#[link(name = "a", vers = "0.1")];
2+
#[crate_type = "lib"];
3+
4+
type t1 = uint;
5+
impl t2 for str { }
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// xfail-fast
2+
3+
#[link(name = "b", vers = "0.1")];
4+
#[crate_type = "lib"];
5+
6+
use a;
7+
8+
import a::t2;
9+
export t2;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// xfail-fast
2+
// aux-build:issue-2414-a.rs
3+
// aux-build:issue-2414-b.rs
4+
5+
use b;
6+
7+
fn main() {}

0 commit comments

Comments
 (0)