summary refs log tree commit diff
path: root/src/test/ui/inference/cannot-infer-closure-circular.rs
blob: a3b957179b1b1540235013a13e119027f3f6332c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
fn main() {
    // Below we call the closure with its own return as the argument, unifying
    // its inferred input and return types. We want to make sure that the generated
    // error handles this gracefully, and in particular doesn't generate an extra
    // note about the `?` operator in the closure body, which isn't relevant to
    // the inference.
    let x = |r| {
        //~^ ERROR type annotations needed
        let v = r?;
        Ok(v)
    };

    let _ = x(x(Ok(())));
}