fn test_for_c_label_continue_break() { mut rets := []int{} outer: for i := 4; true; i++ { println(i) rets << i for { if i < 7 { continue outer } else { break outer } } } assert rets.len == 4 assert rets[0] == 4 assert rets[1] == 5 assert rets[2] == 6 assert rets[3] == 7 } fn test_for_in_array_label_continue_break() { mut rets := []int{} arr := [4, 5, 6, 7, 8, 9] outer: for i in arr { println(i) rets << i for { if i < 7 { continue outer } else { break outer } } } assert rets.len == 4 assert rets[0] == 4 assert rets[1] == 5 assert rets[2] == 6 assert rets[3] == 7 } fn test_for_in_fixed_array_label_continue_break() { mut rets := []int{} arr := [4, 5, 6, 7, 8, 9]! outer: for i in arr { println(i) rets << i for { if i < 7 { continue outer } else { break outer } } } assert rets.len == 4 assert rets[0] == 4 assert rets[1] == 5 assert rets[2] == 6 assert rets[3] == 7 } fn test_for_in_map_label_continue_break() { mut rets := []string{} m := { 'a': 4 'b': 5 'c': 6 'd': 7 'e': 8 'f': 9 } outer: for k, v in m { println('$k, $v') rets << '$k, $v' for { if v < 7 { continue outer } else { break outer } } } assert rets.len == 4 assert rets[0] == 'a, 4' assert rets[1] == 'b, 5' assert rets[2] == 'c, 6' assert rets[3] == 'd, 7' }