mirror of https://github.com/rust-lang/rust
21 lines
548 B
Rust
21 lines
548 B
Rust
//@ 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() {}
|