about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorFlavio Percoco <flaper87@gmail.com>2015-01-11 01:01:48 +0100
committerFlavio Percoco <flaper87@gmail.com>2015-01-16 08:18:56 +0100
commit5aab863ba2841fc55d0e34ebb50a07acecd50a80 (patch)
treec0297d80c1b33de57d1da25fc7e95f31e6543997 /src
parent39fe05f58c5d7d805580826ce202d9a801813cb2 (diff)
downloadrust-5aab863ba2841fc55d0e34ebb50a07acecd50a80.tar.gz
rust-5aab863ba2841fc55d0e34ebb50a07acecd50a80.zip
Don't assemble bound impls if candidate's ambiguous
Diffstat (limited to 'src')
-rw-r--r--src/librustc/middle/traits/select.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/librustc/middle/traits/select.rs b/src/librustc/middle/traits/select.rs
index a38814580f5..51a793f1de8 100644
--- a/src/librustc/middle/traits/select.rs
+++ b/src/librustc/middle/traits/select.rs
@@ -725,7 +725,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
                 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));
                 }
             }