]> git.lizzy.rs Git - rust.git/commitdiff
Don't assemble bound impls if candidate's ambiguous
authorFlavio Percoco <flaper87@gmail.com>
Sun, 11 Jan 2015 00:01:48 +0000 (01:01 +0100)
committerFlavio Percoco <flaper87@gmail.com>
Fri, 16 Jan 2015 07:18:56 +0000 (08:18 +0100)
src/librustc/middle/traits/select.rs

index a38814580f54cb38922082b4b12412c598e02d17..51a793f1de89b4f6be83fb93c33d968236e3aae8 100644 (file)
@@ -725,7 +725,7 @@ fn assemble_candidates<'o>(&mut self,
                 try!(self.assemble_candidates_from_impls(obligation, &mut candidates.vec));
 
                 // No explicit impls were declared for this type, consider the fallback rules.
-                if candidates.vec.is_empty() {
+                if candidates.vec.is_empty() && !candidates.ambiguous {
                     try!(self.assemble_builtin_bound_candidates(bound, stack, &mut candidates));
                 }
             }