summaryrefslogtreecommitdiffstats
path: root/tests/ui/traits/new-solver/lazy-nested-obligations-2.rs
blob: 32addd829dcfdf5f42c2a579efe6f67eb75346ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// check-pass
// compile-flags: -Ztrait-solver=next
// Issue 95863

pub trait With {
    type F;
}

impl With for i32 {
    type F = fn(&str);
}

fn f(_: &str) {}

fn main() {
    let _: V<i32> = V(f);
    pub struct V<T: With>(<T as With>::F);

    pub enum E3<T: With> {
        Var(<T as With>::F),
    }
    let _: E3<i32> = E3::Var(f);
}