rust/tests/ui/traits/new-solver/normalize-unsize-rhs.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

24 lines
371 B
Rust
Raw Normal View History

2023-07-05 21:53:21 -05:00
// compile-flags: -Ztrait-solver=next
// check-pass
#![feature(trait_upcasting)]
2023-07-05 21:53:21 -05:00
trait A {}
trait B: A {}
impl A for usize {}
impl B for usize {}
trait Mirror {
type Assoc: ?Sized;
}
impl<T: ?Sized> Mirror for T {
type Assoc = T;
}
fn main() {
let x = Box::new(1usize) as Box<<dyn B as Mirror>::Assoc>;
let y = x as Box<<dyn A as Mirror>::Assoc>;
}