about summary refs log tree commit diff
path: root/tests/ui/traits/next-solver/opaques/universal-args-non-defining.rs
blob: 5e7e9738616cf5a6a2e6ba09a672bb515b3318c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//@ check-pass
//@ revisions: current next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

// The recursive call to `foo` results in the opaque type use `opaque<U, T> = ?unconstrained`.
// This needs to be supported and treated as a revealing use.

fn foo<T, U>(b: bool) -> impl Sized {
    if b {
        foo::<U, T>(b);
    }
    1u16
}

fn main() {}