This fixes #6745, which itself relates to #4202. Slightly ham-fisted -- feel particularly funny about using the typeck phase to gather the base -> impl mapping, and the separate code paths for traits vs. "real" bases feels like it could be avoided -- but it seems to work.
As always, open to suggestions if there's a better way to accomplish what I'm trying to do.
@catamorphism r?
}
implementation_list.push(implementation);
+
+ ty::add_base_impl(self.crate_context.tcx, base_def_id, implementation);
}
- fn add_trait_method(&self, trait_id: def_id, implementation: @Impl) {
+ pub fn add_trait_method(&self, trait_id: def_id, implementation: @Impl) {
let implementation_list;
match self.crate_context.coherence_info.extension_methods
.find(&trait_id) {