summaryrefslogtreecommitdiffstats
path: root/tests/ui/traits/next-solver/trait-upcast-lhs-needs-normalization.rs
blob: 8e0378e94f043290ea7d7be9801a5bc340cfafc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// check-pass
// compile-flags: -Znext-solver
#![feature(trait_upcasting)]

pub trait A {}
pub trait B: A {}

pub trait Mirror {
    type Assoc: ?Sized;
}
impl<T: ?Sized> Mirror for T {
    type Assoc = T;
}

pub fn foo<'a>(x: &'a <dyn B + 'static as Mirror>::Assoc) -> &'a (dyn A + 'static) {
    x
}

fn main() {}