diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2012-06-26 13:30:47 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2012-06-26 13:45:18 -0700 |
| commit | 481267299d1c5a1ddcacf68ce1ce3f3fb48c0cd5 (patch) | |
| tree | d14467de2aef601383837303f212c62ae05db50e | |
| parent | 1228c55ef0ec41215054c5db1693b84fbb58674d (diff) | |
| download | rust-481267299d1c5a1ddcacf68ce1ce3f3fb48c0cd5.tar.gz rust-481267299d1c5a1ddcacf68ce1ce3f3fb48c0cd5.zip | |
rustc: Make trans no longer insist that there be exactly one impl scope per module
Conflicts: src/rustc/middle/trans/base.rs
| -rw-r--r-- | src/rustc/middle/trans/base.rs | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/rustc/middle/trans/base.rs b/src/rustc/middle/trans/base.rs index 05ec7d074c8..5bb00ccb8f1 100644 --- a/src/rustc/middle/trans/base.rs +++ b/src/rustc/middle/trans/base.rs @@ -5456,17 +5456,12 @@ fn crate_ctxt_to_encode_parms(cx: @crate_ctxt) fn impl_map(cx: @crate_ctxt, id: ast::node_id) -> [(ast::ident, ast::def_id)]/~ { - alt *cx.maps.impl_map.get(id) { - list::cons(impls, @list::nil) { - (*impls).map {|i| - (i.ident, i.did) - } - } - _ { - cx.sess.bug(#fmt("encode_info_for_mod: empty impl_map \ - entry for %?", id)); - } + let mut result = []/~; + for list::each(cx.maps.impl_map.get(id)) { + |impls| + result += (*impls).map({|i| (i.ident, i.did) }); } + ret result; } } |
