blob: 73f488a4fbbd7424b7ab5f559cb379fc5967ff36 [file] [log] [blame]
// run-pass
// Test that we are able to infer a suitable kind for this closure
// that is just called (`FnMut`).
fn main() {
let mut counter = 0;
{
// Here this must be inferred to FnMut so that it can mutate counter:
let mut tick1 = || counter += 1;
// In turn, tick2 must be inferred to FnMut so that it can call tick1:
let mut tick2 = || { tick1(); tick1(); };
tick2();
}
assert_eq!(counter, 2);
}