rust/tests/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.rs
2023-01-11 09:32:08 +00:00

30 lines
728 B
Rust

// Various unsuccessful attempts to put the unboxed closure kind
// inference into an awkward position that might require fixed point
// iteration (basically where inferring the kind of a closure `c`
// would require knowing the kind of `c`). I currently believe this is
// impossible.
fn a() {
let mut closure0 = None;
//~^ ERROR type annotations needed
let vec = vec![1, 2, 3];
loop {
{
let closure1 = || {
match closure0.take() {
Some(c) => {
return c();
}
None => { }
}
};
closure1();
}
closure0 = || vec;
}
}
fn main() { }