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