From 5aab863ba2841fc55d0e34ebb50a07acecd50a80 Mon Sep 17 00:00:00 2001 From: Flavio Percoco Date: Sun, 11 Jan 2015 01:01:48 +0100 Subject: [PATCH] Don't assemble bound impls if candidate's ambiguous --- src/librustc/middle/traits/select.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/librustc/middle/traits/select.rs b/src/librustc/middle/traits/select.rs index a38814580f54..51a793f1de89 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)); } }