Graydon Hoare | ce72993 | 2011-06-15 18:19:50 | [diff] [blame] | 1 | |
2 | |||||
Niko Matsakis | 5e13d19 | 2012-01-23 22:59:00 | [diff] [blame] | 3 | fn pairs(it: fn((int, int))) { |
Niko Matsakis | dc07280 | 2012-03-22 15:39:41 | [diff] [blame^] | 4 | let mut i: int = 0; |
5 | let mut j: int = 0; | ||||
Marijn Haverbeke | 050170d | 2011-10-21 11:14:28 | [diff] [blame] | 6 | while i < 10 { it((i, j)); i += 1; j += i; } |
Graydon Hoare | d6b7c96 | 2010-06-24 04:03:09 | [diff] [blame] | 7 | } |
8 | |||||
9 | fn main() { | ||||
Niko Matsakis | dc07280 | 2012-03-22 15:39:41 | [diff] [blame^] | 10 | let mut i: int = 10; |
11 | let mut j: int = 0; | ||||
Marijn Haverbeke | 050170d | 2011-10-21 11:14:28 | [diff] [blame] | 12 | pairs() {|p| |
13 | let (_0, _1) = p; | ||||
Graydon Hoare | f0dfbe7 | 2011-12-23 01:53:53 | [diff] [blame] | 14 | log(debug, _0); |
15 | log(debug, _1); | ||||
Marijn Haverbeke | 050170d | 2011-10-21 11:14:28 | [diff] [blame] | 16 | assert (_0 + 10 == i); |
Graydon Hoare | ce72993 | 2011-06-15 18:19:50 | [diff] [blame] | 17 | i += 1; |
Marijn Haverbeke | 050170d | 2011-10-21 11:14:28 | [diff] [blame] | 18 | j = _1; |
19 | }; | ||||
Graydon Hoare | ce72993 | 2011-06-15 18:19:50 | [diff] [blame] | 20 | assert (j == 45); |
Lindsey Kuper | f91351a | 2011-08-16 04:54:52 | [diff] [blame] | 21 | } |