diff --git a/tests/test/cycle.rs b/tests/test/cycle.rs index ccc2cf2031e..f552fb4fcc3 100644 --- a/tests/test/cycle.rs +++ b/tests/test/cycle.rs @@ -267,30 +267,38 @@ fn inductive_canonical_cycle() { program { trait Trait {} + trait IsNotU32 {} + impl IsNotU32 for i32 {} + impl IsNotU32 for i16 {} + impl Trait for () where (): Trait, - T: OtherTrait, + T: IsNotU32, {} + impl Trait for () {} + } - trait OtherTrait {} - impl OtherTrait for u32 {} + goal { + (): Trait + } yields { + expect![["Unique"]] } goal { - (): Trait + (): Trait } yields { - // FIXME: Should be unique - expect![["No possible solution"]] + expect![["Unique"]] } goal { exists { (): Trait } - } yields { - // FIXME: Should be unique - expect![["No possible solution"]] + } yields[SolverChoice::slg(10, None)] { + expect![["Ambiguous; no inference guidance"]] + } yields[SolverChoice::recursive_default()] { + expect![["Ambiguous; no inference guidance"]] } } }