rust/tests/ui/inference/cannot-infer-closure-circular.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

14 lines
501 B
Rust
Raw Normal View History

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.
2022-06-20 01:21:01 +00:00
let x = |r| { //~ ERROR type annotations needed for `Result<(), E>`
let v = r?;
Ok(v)
};
2022-06-20 01:21:01 +00:00
let _ = x(x(Ok(())));
}