blob: b03d547838a0143839992af9fdaed3f544c0360c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
//@ revisions: old next
//@[next] compile-flags: -Znext-solver
//@ ignore-compare-mode-next-solver (explicit revisions)
//@ check-pass
// When generalizing an alias in a bivariant context, we have to set
// `has_unconstrained_ty_var` as we may otherwise never check for
// well-formedness of the generalized type, causing us to error due
// to ambiguity.
trait Trait {
type Assoc;
}
struct BivariantArg<I, T: Trait<Assoc = I>>(T);
fn generalize<T: Trait>(input: BivariantArg<T::Assoc, T>) {
let _generalized = input;
}
pub fn main() {}
|