Handle multiple applicable projection candidates

This commit is contained in:
Matthew Jasper 2020-07-23 21:59:20 +01:00
parent bc08b791bc
commit cfee49593d
6 changed files with 82 additions and 37 deletions

View file

@ -0,0 +1,23 @@
// Make sure that if there are multiple applicable bounds on a projection, we
// consider them ambiguous. In this test we are initially trying to solve
// `Self::Repr: From<_>`, which is ambiguous until we later infer `_` to
// `{integer}`.
// check-pass
trait PrimeField: Sized {
type Repr: From<u64> + From<Self>;
type Repr2: From<Self> + From<u64>;
fn method() {
Self::Repr::from(10);
Self::Repr2::from(10);
}
}
fn function<T: PrimeField>() {
T::Repr::from(10);
T::Repr2::from(10);
}
fn main() {}