about summary refs log tree commit diff
path: root/tests/ui/traits/next-solver/structurally-normalize-in-borrowck-field-projection.rs
blob: d2d68128fde54633c3be2be454e6860b285e252b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//@ check-pass
//@ compile-flags: -Znext-solver

trait Interner: Sized {
    type Value;
}

enum Kind<I: Interner> {
    Value(I::Value),
}

struct Intern;

impl Interner for Intern {
    type Value = Wrap<u32>;
}

struct Wrap<T>(T);

type KindAlias = Kind<Intern>;

trait PrettyPrinter: Sized {
    fn hello(c: KindAlias) {
        match c {
            KindAlias::Value(Wrap(v)) => {
                println!("{v:?}");
            }
        }
    }
}

fn main() {}