File tree Expand file tree Collapse file tree 4 files changed +92
-6
lines changed Expand file tree Collapse file tree 4 files changed +92
-6
lines changed Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
5
5
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
- refs/heads/try2: 64019e764f1837a4a19297fc9f7a99595e37cf51
8
+ refs/heads/try2: abdf71cf73fd8b0b5bca78da830fe6f2a49ff8c2
9
9
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
10
10
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
11
11
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
Original file line number Diff line number Diff line change @@ -411,3 +411,64 @@ rest of your Rust career.
411
411
412
412
Next, we'll learn more about Rust itself, by starting to write a more complicated
413
413
program. We hope you want to do more with Rust than just print "Hello, world!"
414
+
415
+ ## If
416
+
417
+ ## Functions
418
+
419
+ return
420
+
421
+ comments
422
+
423
+ ## Testing
424
+
425
+ attributes
426
+
427
+ stability markers
428
+
429
+ ## Crates and Modules
430
+
431
+ visibility
432
+
433
+ ## Compound Data Types
434
+
435
+ Tuples
436
+
437
+ Structs
438
+
439
+ Enums
440
+
441
+ ## Match
442
+
443
+ ## Looping
444
+
445
+ for
446
+
447
+ while
448
+
449
+ loop
450
+
451
+ break/continue
452
+
453
+ iterators
454
+
455
+ ## Lambdas
456
+
457
+ ## Generics
458
+
459
+ ## Traits
460
+
461
+ ## Operators and built-in Traits
462
+
463
+ ## Ownership and Lifetimes
464
+
465
+ Move vs. Copy
466
+
467
+ Allocation
468
+
469
+ ## Tasks
470
+
471
+ ## Macros
472
+
473
+ ## Unsafe
474
+
Original file line number Diff line number Diff line change @@ -493,11 +493,12 @@ by an *action* (expression). Each case is separated by commas. It is
493
493
often convenient to use a block expression for each case, in which case
494
494
the commas are optional as shown below. Literals are valid patterns and
495
495
match only their own value. A single arm may match multiple different
496
- patterns by combining them with the pipe operator (` | ` ), so long as every
497
- pattern binds the same set of variables. Ranges of numeric literal
498
- patterns can be expressed with two dots, as in ` M..N ` . The underscore
499
- (` _ ` ) is a wildcard pattern that matches any single value. (` .. ` ) is a
500
- different wildcard that can match one or more fields in an ` enum ` variant.
496
+ patterns by combining them with the pipe operator (` | ` ), so long as
497
+ every pattern binds the same set of variables (see "destructuring"
498
+ below). Ranges of numeric literal patterns can be expressed with two
499
+ dots, as in ` M..N ` . The underscore (` _ ` ) is a wildcard pattern that
500
+ matches any single value. (` .. ` ) is a different wildcard that can match
501
+ one or more fields in an ` enum ` variant.
501
502
502
503
~~~
503
504
# let my_number = 1;
Original file line number Diff line number Diff line change
1
+ // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2
+ // file at the top-level directory of this distribution and at
3
+ // http://rust-lang.org/COPYRIGHT.
4
+ //
5
+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6
+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7
+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8
+ // option. This file may not be copied, modified, or distributed
9
+ // except according to those terms.
10
+
11
+ #![ allow( dead_code) ]
12
+
13
+ // this code used to cause an ICE
14
+
15
+ trait X < T > { }
16
+
17
+ struct S < T > { f : Box < X < T > > , g : Box < X < T > > }
18
+
19
+ struct F ;
20
+ impl X < int > for F { }
21
+
22
+ fn main ( ) {
23
+ S { f : box F , g : box F } ;
24
+ }
You can’t perform that action at this time.
0 commit comments