Remove support for multiple traits in a single impl
There was half-working support for them, but they were never fully implemented or even approved. Remove them altogether. Closes #3410
This commit is contained in:
parent
62ab9d70f4
commit
f5093dff7b
9 changed files with 44 additions and 35 deletions
|
@ -3532,7 +3532,7 @@ struct Resolver {
|
|||
fn resolve_implementation(id: node_id,
|
||||
span: span,
|
||||
type_parameters: ~[ty_param],
|
||||
trait_references: ~[@trait_ref],
|
||||
opt_trait_reference: Option<@trait_ref>,
|
||||
self_type: @ty,
|
||||
methods: ~[@method],
|
||||
visitor: ResolveVisitor) {
|
||||
|
@ -3549,10 +3549,10 @@ struct Resolver {
|
|||
|
||||
// Resolve the trait reference, if necessary.
|
||||
let original_trait_refs = self.current_trait_refs;
|
||||
if trait_references.len() >= 1 {
|
||||
let mut new_trait_refs = @DVec();
|
||||
for trait_references.each |trait_reference| {
|
||||
match self.resolve_path(
|
||||
match opt_trait_reference {
|
||||
Some(trait_reference) => {
|
||||
let new_trait_refs = @DVec();
|
||||
match self.resolve_path(
|
||||
trait_reference.path, TypeNS, true, visitor) {
|
||||
None => {
|
||||
self.session.span_err(span,
|
||||
|
@ -3566,11 +3566,11 @@ struct Resolver {
|
|||
(*new_trait_refs).push(def_id_of_def(def));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Record the current set of trait references.
|
||||
self.current_trait_refs = Some(new_trait_refs);
|
||||
}
|
||||
None => ()
|
||||
}
|
||||
|
||||
// Resolve the self type.
|
||||
self.resolve_type(self_type, visitor);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue