mirror of https://github.com/rust-lang/rust.git
23 lines
666 B
Rust
23 lines
666 B
Rust
//@ compile-flags: -Znext-solver
|
|
//@ check-pass
|
|
|
|
// Regression test for <https://github.com/rust-lang/trait-system-refactor-initiative/issues/171>.
|
|
// Tests that we don't try to replace `<V as Super>::Output` when replacing projections in the
|
|
// required bounds for `dyn Trait`, b/c `V` is not relevant to the dyn type, which we were
|
|
// previously encountering b/c we were walking into the existential projection bounds of the dyn
|
|
// type itself.
|
|
|
|
pub trait Trait: Super {}
|
|
|
|
pub trait Super {
|
|
type Output;
|
|
}
|
|
|
|
fn bound<T: Trait + ?Sized>() {}
|
|
|
|
fn visit_simd_operator<V: Super + ?Sized>() {
|
|
bound::<dyn Trait<Output = <V as Super>::Output>>();
|
|
}
|
|
|
|
fn main() {}
|