File tree Expand file tree Collapse file tree 6 files changed +34
-8
lines changed Expand file tree Collapse file tree 6 files changed +34
-8
lines changed Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ refs/heads/try: f64fdf524a434f0e5cd0bc91d09c144723f3c90d
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
8
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9
- refs/heads/dist-snap: 7bb498bd7a09f024fe46fc58ea17fe44cbc68df0
9
+ refs/heads/dist-snap: 7e9bcc545631f2e0a5c248206ae25831242affdf
10
10
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
11
11
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
12
12
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
Original file line number Diff line number Diff line change @@ -582,6 +582,32 @@ loop {
582
582
This code prints out a weird sequence of numbers and stops as soon as
583
583
it finds one that can be divided by five.
584
584
585
+ There is also a for-loop that can be used to iterate over a range of numbers:
586
+
587
+ ~~~~
588
+ for n in range(0, 5) {
589
+ println!("{}", n);
590
+ }
591
+ ~~~~
592
+
593
+ The snippet above prints integer numbers under 5 starting at 0.
594
+
595
+ More generally, a for loop works with anything implementing the ` Iterator ` trait.
596
+ Data structures can provide one or more methods that return iterators over
597
+ their contents. For example, strings support iteration over their contents in
598
+ various ways:
599
+
600
+ ~~~~
601
+ let s = "Hello";
602
+ for c in s.chars() {
603
+ println!("{}", c);
604
+ }
605
+ ~~~~
606
+
607
+ The snippet above prints the characters in "Hello" vertically, adding a new
608
+ line after each character.
609
+
610
+
585
611
# Data structures
586
612
587
613
## Structs
Original file line number Diff line number Diff line change @@ -1152,7 +1152,7 @@ impl<TYPER:Typer> MemCategorizationContext<TYPER> {
1152
1152
format ! ( "captured outer variable" )
1153
1153
}
1154
1154
_ => {
1155
- format ! ( "dereference of {} pointer" , ptr_sigil( pk) )
1155
+ format ! ( "dereference of `{}`- pointer" , ptr_sigil( pk) )
1156
1156
}
1157
1157
}
1158
1158
}
Original file line number Diff line number Diff line change 11
11
fn with ( f: |& ~str|) { }
12
12
13
13
fn arg_item ( & _x: & ~str ) { }
14
- //~^ ERROR cannot move out of dereference of & pointer
14
+ //~^ ERROR cannot move out of dereference of `&`- pointer
15
15
16
16
fn arg_closure ( ) {
17
17
with ( |& _x| ( ) )
18
- //~^ ERROR cannot move out of dereference of & pointer
18
+ //~^ ERROR cannot move out of dereference of `&`- pointer
19
19
}
20
20
21
21
fn let_pat ( ) {
22
22
let & _x = & ~"hi";
23
- //~^ ERROR cannot move out of dereference of & pointer
23
+ //~^ ERROR cannot move out of dereference of `&`- pointer
24
24
}
25
25
26
26
pub fn main ( ) { }
Original file line number Diff line number Diff line change @@ -26,8 +26,8 @@ pub fn main() {
26
26
[ _, ..tail] => {
27
27
match tail {
28
28
[ Foo { string : a } , Foo { string : b } ] => {
29
- //~^ ERROR cannot move out of dereference of & pointer
30
- //~^^ ERROR cannot move out of dereference of & pointer
29
+ //~^ ERROR cannot move out of dereference of `&`- pointer
30
+ //~^^ ERROR cannot move out of dereference of `&`- pointer
31
31
}
32
32
_ => {
33
33
unreachable ! ( ) ;
Original file line number Diff line number Diff line change @@ -18,7 +18,7 @@ trait parse {
18
18
19
19
impl parse for parser {
20
20
fn parse ( & self ) -> ~[ int ] {
21
- self . tokens //~ ERROR cannot move out of dereference of & pointer
21
+ self . tokens //~ ERROR cannot move out of dereference of `&`- pointer
22
22
}
23
23
}
24
24
You can’t perform that action at this time.
0 commit comments