2018-08-30 12:18:55 +00:00
|
|
|
// run-pass
|
2011-06-15 18:19:50 +00:00
|
|
|
|
2015-03-22 20:13:15 +00:00
|
|
|
|
2015-03-26 00:06:52 +00:00
|
|
|
fn two<F>(mut it: F) where F: FnMut(isize) { it(0); it(1); }
|
2010-07-16 04:24:28 +00:00
|
|
|
|
2013-02-02 03:43:17 +00:00
|
|
|
pub fn main() {
|
2016-10-29 21:54:04 +00:00
|
|
|
let mut a: Vec<isize> = vec![-1, -1, -1, -1];
|
2015-03-26 00:06:52 +00:00
|
|
|
let mut p: isize = 0;
|
2013-11-22 01:23:21 +00:00
|
|
|
two(|i| {
|
2015-03-26 00:06:52 +00:00
|
|
|
two(|j| { a[p as usize] = 10 * i + j; p += 1; })
|
2013-11-22 01:23:21 +00:00
|
|
|
});
|
2014-10-15 06:05:01 +00:00
|
|
|
assert_eq!(a[0], 0);
|
|
|
|
assert_eq!(a[1], 1);
|
|
|
|
assert_eq!(a[2], 10);
|
|
|
|
assert_eq!(a[3], 11);
|
2011-08-16 04:54:52 +00:00
|
|
|
}
|