From 481267299d1c5a1ddcacf68ce1ce3f3fb48c0cd5 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Tue, 26 Jun 2012 13:30:47 -0700 Subject: [PATCH] rustc: Make trans no longer insist that there be exactly one impl scope per module Conflicts: src/rustc/middle/trans/base.rs --- src/rustc/middle/trans/base.rs | 15 +++++---------- 1 file 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; } }