Skip to content

Commit 91c92f8

Browse files
committed
---
yaml --- r: 173813 b: refs/heads/auto c: ee960af h: refs/heads/master i: 173811: 7ad16ee v: v3
1 parent 52a613d commit 91c92f8

File tree

173 files changed

+2625
-1457
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

173 files changed

+2625
-1457
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1010
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1111
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1212
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
13-
refs/heads/auto: 9af8a646a964985fe42a91ea34672266c91ae295
13+
refs/heads/auto: ee960afc1058b6e029629d8defda483f160567e9
1414
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1515
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1616
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336

branches/auto/Makefile.in

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,9 @@
9797
# make check-stage1-std RUST_TEST_TASKS=1
9898
#
9999
# This is hardly all there is to know of The Rust Build System's
100-
# mysteries. The tale continues on the wiki[1][2].
100+
# mysteries. The tale continues on the wiki[1].
101101
#
102-
# [1]: https://github.com/rust-lang/rust/wiki/Note-getting-started-developing-Rust
103-
# [2]: https://github.com/rust-lang/rust/wiki/Note-testsuite
102+
# [1]: https://github.com/rust-lang/rust/wiki/Note-testsuite
104103
#
105104
# If you really feel like getting your hands dirty, then:
106105
#

branches/auto/README.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,23 @@ documentation.
5858

5959
### Building on Windows
6060

61-
To easily build on windows we can use [MSYS2](http://sourceforge.net/projects/msys2/):
61+
To easily build on windows we can use [MSYS2](http://msys2.github.io/):
6262

6363
1. Grab the latest MSYS2 installer and go through the installer.
6464
2. Now from the MSYS2 terminal we want to install the mingw64 toolchain and the other
6565
tools we need.
6666

67-
$ pacman -S mingw-w64-i686-toolchain
68-
$ pacman -S base-devel
67+
```bash
68+
# choose one based on platform
69+
$ pacman -S mingw-w64-i686-toolchain
70+
$ pacman -S mingw-w64-x86_64-toolchain
6971

70-
3. With that now start `mingw32_shell.bat` from where you installed MSYS2 (i.e. `C:\msys`).
72+
$ pacman -S base-devel
73+
```
74+
75+
3. With that now start `mingw32_shell.bat` or `mingw64_shell.bat`
76+
from where you installed MSYS2 (i.e. `C:\msys`). Which one you
77+
choose depends on if you want 32 or 64 bit Rust.
7178
4. From there just navigate to where you have Rust's source code, configure and build it:
7279

7380
$ ./configure

branches/auto/configure

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,10 @@ case $CFG_CPUTYPE in
448448
CFG_CPUTYPE=aarch64
449449
;;
450450

451+
powerpc)
452+
CFG_CPUTYPE=powerpc
453+
;;
454+
451455
x86_64 | x86-64 | x64 | amd64)
452456
CFG_CPUTYPE=x86_64
453457
;;
@@ -1004,7 +1008,7 @@ do
10041008
make_dir $t/rt/jemalloc
10051009
for i in \
10061010
isaac sync test \
1007-
arch/i386 arch/x86_64 arch/arm arch/aarch64 arch/mips
1011+
arch/i386 arch/x86_64 arch/arm arch/aarch64 arch/mips arch/powerpc
10081012
do
10091013
make_dir $t/rt/stage$s/$i
10101014
done
@@ -1169,7 +1173,7 @@ do
11691173

11701174
msg "configuring LLVM for $gnu_t"
11711175

1172-
LLVM_TARGETS="--enable-targets=x86,x86_64,arm,aarch64,mips"
1176+
LLVM_TARGETS="--enable-targets=x86,x86_64,arm,aarch64,mips,powerpc"
11731177
LLVM_BUILD="--build=$gnu_t"
11741178
LLVM_HOST="--host=$gnu_t"
11751179
LLVM_TARGET="--target=$gnu_t"

branches/auto/mk/cfg/aarch64-apple-ios.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ AR_aarch64-apple-ios = $(shell xcrun -find -sdk iphoneos ar)
1111
endif
1212
CFG_LIB_NAME_aarch64-apple-ios = lib$(1).a
1313
CFG_LIB_GLOB_aarch64-apple-ios = lib$(1)-*.a
14-
CFG_LIB_SKIP_INSTALL_aarch64-apple-ios = 1 #lib$(1)-*.a
14+
CFG_INSTALL_ONLY_RLIB_aarch64-apple-ios = 1
1515
CFG_STATIC_LIB_NAME_aarch64-apple-ios=lib$(1).a
1616
CFG_LIB_DSYM_GLOB_aarch64-apple-ios = lib$(1)-*.a.dSYM
1717
CFG_CFLAGS_aarch64-apple-ios := $(CFG_IOS_SDK_FLAGS_aarch64-apple-ios)

branches/auto/mk/cfg/armv7-apple-ios.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ AR_armv7-apple-ios = $(shell xcrun -find -sdk iphoneos ar)
1111
endif
1212
CFG_LIB_NAME_armv7-apple-ios = lib$(1).a
1313
CFG_LIB_GLOB_armv7-apple-ios = lib$(1)-*.a
14-
CFG_LIB_SKIP_INSTALL_armv7-apple-ios = 1 #lib$(1)-*.a
14+
CFG_INSTALL_ONLY_RLIB_armv7-apple-ios = 1
1515
CFG_STATIC_LIB_NAME_armv7-apple-ios=lib$(1).a
1616
CFG_LIB_DSYM_GLOB_armv7-apple-ios = lib$(1)-*.a.dSYM
1717
CFG_JEMALLOC_CFLAGS_armv7-apple-ios := -arch armv7 -mfpu=vfp3 $(CFG_IOS_SDK_FLAGS_armv7-apple-ios)

branches/auto/mk/cfg/armv7s-apple-ios.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ AR_armv7s-apple-ios = $(shell xcrun -find -sdk iphoneos ar)
1111
endif
1212
CFG_LIB_NAME_armv7s-apple-ios = lib$(1).a
1313
CFG_LIB_GLOB_armv7s-apple-ios = lib$(1)-*.a
14-
CFG_LIB_SKIP_INSTALL_armv7s-apple-ios = 1 #lib$(1)-*.a
14+
CFG_INSTALL_ONLY_RLIB_armv7s-apple-ios = 1
1515
CFG_STATIC_LIB_NAME_armv7s-apple-ios=lib$(1).a
1616
CFG_LIB_DSYM_GLOB_armv7s-apple-ios = lib$(1)-*.a.dSYM
1717
CFG_JEMALLOC_CFLAGS_armv7s-apple-ios := -arch armv7s -mfpu=vfp4 $(CFG_IOS_SDK_FLAGS_armv7s-apple-ios)

branches/auto/mk/cfg/i386-apple-ios.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ AR_i386-apple-ios = $(shell xcrun -find -sdk iphonesimulator ar)
1111
endif
1212
CFG_LIB_NAME_i386-apple-ios = lib$(1).a
1313
CFG_LIB_GLOB_i386-apple-ios = lib$(1)-*.dylib
14+
CFG_INSTALL_ONLY_RLIB_i386-apple-ios = 1
1415
CFG_STATIC_LIB_NAME_i386-apple-ios=lib$(1).a
1516
CFG_LIB_DSYM_GLOB_i386-apple-ios = lib$(1)-*.dylib.dSYM
1617
CFG_GCCISH_CFLAGS_i386-apple-ios := -Wall -Werror -g -fPIC -m32 $(CFG_IOSSIM_FLAGS_i386-apple-ios)
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# powerpc-unknown-linux-gnu configuration
2+
CROSS_PREFIX_powerpc-unknown-linux-gnu=powerpc-linux-gnu-
3+
CC_powerpc-unknown-linux-gnu=$(CC)
4+
CXX_powerpc-unknown-linux-gnu=$(CXX)
5+
CPP_powerpc-unknown-linux-gnu=$(CPP)
6+
AR_powerpc-unknown-linux-gnu=$(AR)
7+
CFG_LIB_NAME_powerpc-unknown-linux-gnu=lib$(1).so
8+
CFG_STATIC_LIB_NAME_powerpc-unknown-linux-gnu=lib$(1).a
9+
CFG_LIB_GLOB_powerpc-unknown-linux-gnu=lib$(1)-*.so
10+
CFG_LIB_DSYM_GLOB_powerpc-unknown-linux-gnu=lib$(1)-*.dylib.dSYM
11+
CFG_CFLAGS_powerpc-unknown-linux-gnu := -m32 $(CFLAGS)
12+
CFG_GCCISH_CFLAGS_powerpc-unknown-linux-gnu := -Wall -Werror -g -fPIC -m32 $(CFLAGS)
13+
CFG_GCCISH_CXXFLAGS_powerpc-unknown-linux-gnu := -fno-rtti $(CXXFLAGS)
14+
CFG_GCCISH_LINK_FLAGS_powerpc-unknown-linux-gnu := -shared -fPIC -ldl -pthread -lrt -g -m32
15+
CFG_GCCISH_DEF_FLAG_powerpc-unknown-linux-gnu := -Wl,--export-dynamic,--dynamic-list=
16+
CFG_GCCISH_PRE_LIB_FLAGS_powerpc-unknown-linux-gnu := -Wl,-whole-archive
17+
CFG_GCCISH_POST_LIB_FLAGS_powerpc-unknown-linux-gnu := -Wl,-no-whole-archive
18+
CFG_DEF_SUFFIX_powerpc-unknown-linux-gnu := .linux.def
19+
CFG_LLC_FLAGS_powerpc-unknown-linux-gnu :=
20+
CFG_INSTALL_NAME_powerpc-unknown-linux-gnu =
21+
CFG_EXE_SUFFIX_powerpc-unknown-linux-gnu =
22+
CFG_WINDOWSY_powerpc-unknown-linux-gnu :=
23+
CFG_UNIXY_powerpc-unknown-linux-gnu := 1
24+
CFG_PATH_MUNGE_powerpc-unknown-linux-gnu := true
25+
CFG_LDPATH_powerpc-unknown-linux-gnu :=
26+
CFG_RUN_powerpc-unknown-linux-gnu=$(2)
27+
CFG_RUN_TARG_powerpc-unknown-linux-gnu=$(call CFG_RUN_powerpc-unknown-linux-gnu,,$(2))
28+
CFG_GNU_TRIPLE_powerpc-unknown-linux-gnu := powerpc-unknown-linux-gnu

branches/auto/mk/cfg/x86_64-apple-ios.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ AR_x86_64-apple-ios = $(shell xcrun -find -sdk iphonesimulator ar)
1111
endif
1212
CFG_LIB_NAME_x86_64-apple-ios = lib$(1).a
1313
CFG_LIB_GLOB_x86_64-apple-ios = lib$(1)-*.a
14-
CFG_LIB_SKIP_INSTALL_x86_64-apple-ios = 1 #lib$(1)-*.a
14+
CFG_INSTALL_ONLY_RLIB_x86_64-apple-ios = 1
1515
CFG_STATIC_LIB_NAME_x86_64-apple-ios=lib$(1).a
1616
CFG_LIB_DSYM_GLOB_x86_64-apple-ios = lib$(1)-*.a.dSYM
1717
CFG_CFLAGS_x86_64-apple-ios := $(CFG_IOSSIM_FLAGS_x86_64-apple-ios)

branches/auto/mk/main.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ endif
263263
######################################################################
264264

265265
# FIXME: x86-ism
266-
LLVM_COMPONENTS=x86 arm aarch64 mips ipo bitreader bitwriter linker asmparser mcjit \
266+
LLVM_COMPONENTS=x86 arm aarch64 mips powerpc ipo bitreader bitwriter linker asmparser mcjit \
267267
interpreter instrumentation
268268

269269
# Only build these LLVM tools

branches/auto/mk/platform.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ define CFG_MAKE_TOOLCHAIN
177177
$$(CFG_GCCISH_DEF_FLAG_$(1))$$(3) $$(2) \
178178
$$(call CFG_INSTALL_NAME_$(1),$$(4))
179179

180-
ifeq ($$(findstring $(HOST_$(1)),arm aarch64 mips mipsel),)
180+
ifeq ($$(findstring $(HOST_$(1)),arm aarch64 mips mipsel powerpc),)
181181

182182
# We're using llvm-mc as our assembler because it supports
183183
# .cfi pseudo-ops on mac
@@ -189,7 +189,7 @@ define CFG_MAKE_TOOLCHAIN
189189
-o=$$(1)
190190
else
191191

192-
# For the ARM, AARCH64 and MIPS crosses, use the toolchain assembler
192+
# For the ARM, AARCH64, MIPS and POWER crosses, use the toolchain assembler
193193
# FIXME: We should be able to use the LLVM assembler
194194
CFG_ASSEMBLE_$(1)=$$(CC_$(1)) $$(CFG_GCCISH_CFLAGS_$(1)) \
195195
$$(CFG_DEPEND_FLAGS) $$(2) -c -o $$(1)

branches/auto/mk/prepare.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ prepare-target-$(2)-host-$(3)-$(1)-$(4): prepare-maybe-clean-$(4) \
134134
$$(if $$(findstring $(3), $$(PREPARE_HOST)), \
135135
$$(call PREPARE_DIR,$$(PREPARE_WORKING_DEST_LIB_DIR)) \
136136
$$(foreach crate,$$(TARGET_CRATES), \
137-
$$(if $$(findstring 1, $$(ONLY_RLIB_$$(crate))),, \
137+
$$(if $$(or $$(findstring 1, $$(ONLY_RLIB_$$(crate))),$$(findstring 1,$$(CFG_INSTALL_ONLY_RLIB_$(2)))),, \
138138
$$(call PREPARE_LIB,$$(call CFG_LIB_GLOB_$(2),$$(crate)))) \
139139
$$(call PREPARE_LIB,$$(call CFG_RLIB_GLOB,$$(crate)))) \
140140
$$(if $$(findstring $(2),$$(CFG_HOST)), \

branches/auto/src/doc/intro.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -392,20 +392,21 @@ Here's an example of a concurrent Rust program:
392392
use std::thread::Thread;
393393
394394
fn main() {
395-
for _ in range(0u, 10u) {
396-
Thread::spawn(move || {
395+
let guards: Vec<_> = (0..10).map(|_| {
396+
Thread::scoped(|| {
397397
println!("Hello, world!");
398-
});
399-
}
398+
})
399+
}).collect();
400400
}
401401
```
402402
403-
This program creates ten threads, who all print `Hello, world!`. The
404-
`spawn` function takes one argument, a closure, indicated by the
405-
double bars `||`. (The `move` keyword indicates that the closure takes
406-
ownership of any data it uses; we'll have more on the significance of
407-
this shortly.) This closure is executed in a new thread created by
408-
`spawn`.
403+
This program creates ten threads, which all print `Hello, world!`. The `scoped`
404+
function takes one argument, a closure, indicated by the double bars `||`. This
405+
closure is executed in a new thread created by `scoped`. The method is called
406+
`scoped` because it returns a 'join guard', which will automatically join the
407+
child thread when it goes out of scope. Because we `collect` these guards into
408+
a `Vec<T>`, and that vector goes out of scope at the end of our program, our
409+
program will wait for every thread to finish before finishing.
409410
410411
One common form of problem in concurrent programs is a 'data race.'
411412
This occurs when two different threads attempt to access the same

branches/auto/src/doc/not_found.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,20 @@ Looks like you've taken a wrong turn.
1212
Some things that might be helpful to you though:
1313

1414
## Search
15+
1516
* <form action="https://duckduckgo.com/">
1617
<input type="text" id="site-search" name="q" size="80"></input>
1718
<input type="submit" value="Search DuckDuckGo">
1819
</form>
1920
* Rust doc search: <span id="core-search"></span>
2021

2122
## Reference
23+
2224
* [The Rust official site](http://rust-lang.org)
23-
* [The Rust reference](http://doc.rust-lang.org/reference.html) (* [PDF](http://doc.rust-lang.org/reference.pdf))
25+
* [The Rust reference](http://doc.rust-lang.org/reference.html)
2426

2527
## Docs
28+
2629
* [The standard library](http://doc.rust-lang.org/std/)
2730

2831
<script>

branches/auto/src/doc/reference.md

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2170,7 +2170,7 @@ arbitrarily complex configurations through nesting.
21702170
The following configurations must be defined by the implementation:
21712171

21722172
* `target_arch = "..."`. Target CPU architecture, such as `"x86"`, `"x86_64"`
2173-
`"mips"`, `"arm"`, or `"aarch64"`.
2173+
`"mips"`, `"powerpc"`, `"arm"`, or `"aarch64"`.
21742174
* `target_endian = "..."`. Endianness of the target CPU, either `"little"` or
21752175
`"big"`.
21762176
* `target_family = "..."`. Operating system family of the target, e. g.
@@ -2432,15 +2432,15 @@ There are three different types of inline attributes:
24322432
* `#[inline(always)]` asks the compiler to always perform an inline expansion.
24332433
* `#[inline(never)]` asks the compiler to never perform an inline expansion.
24342434

2435-
### Deriving
2435+
### Derive
24362436

2437-
The `deriving` attribute allows certain traits to be automatically implemented
2437+
The `derive` attribute allows certain traits to be automatically implemented
24382438
for data structures. For example, the following will create an `impl` for the
24392439
`PartialEq` and `Clone` traits for `Foo`, the type parameter `T` will be given
24402440
the `PartialEq` or `Clone` constraints for the appropriate `impl`:
24412441

24422442
```
2443-
#[deriving(PartialEq, Clone)]
2443+
#[derive(PartialEq, Clone)]
24442444
struct Foo<T> {
24452445
a: int,
24462446
b: T
@@ -2462,7 +2462,7 @@ impl<T: PartialEq> PartialEq for Foo<T> {
24622462
}
24632463
```
24642464

2465-
Supported traits for `deriving` are:
2465+
Supported traits for `derive` are:
24662466

24672467
* Comparison traits: `PartialEq`, `Eq`, `PartialOrd`, `Ord`.
24682468
* Serialization: `Encodable`, `Decodable`. These require `serialize`.
@@ -2967,8 +2967,8 @@ _panicked state_.
29672967

29682968
### Unary operator expressions
29692969

2970-
Rust defines six symbolic unary operators. They are all written as prefix
2971-
operators, before the expression they apply to.
2970+
Rust defines three unary operators. They are all written as prefix operators,
2971+
before the expression they apply to.
29722972

29732973
* `-`
29742974
: Negation. May only be applied to numeric types.
@@ -2986,13 +2986,6 @@ operators, before the expression they apply to.
29862986
: Logical negation. On the boolean type, this flips between `true` and
29872987
`false`. On integer types, this inverts the individual bits in the
29882988
two's complement representation of the value.
2989-
* `box`
2990-
: [Boxing](#pointer-types) operators. Allocate a box to hold the value they
2991-
are applied to, and store the value in it. `box` creates a box.
2992-
* `&`
2993-
: Borrow operator. Returns a reference, pointing to its operand. The operand
2994-
of a borrow is statically proven to outlive the resulting pointer. If the
2995-
borrow-checker cannot prove this, it is a compilation error.
29962989

29972990
### Binary operator expressions
29982991

branches/auto/src/doc/rustdoc.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ Rustdoc also supplies some extra sugar for helping with some tedious
198198
documentation examples. If a line is prefixed with `# `, then the line
199199
will not show up in the HTML documentation, but it will be used when
200200
testing the code block (NB. the space after the `#` is required, so
201-
that one can still write things like `#[deriving(Eq)]`).
201+
that one can still write things like `#[derive(Eq)]`).
202202

203203
~~~md
204204
```
@@ -217,6 +217,35 @@ spawn(move || { fib(200); })
217217
The documentation online would look like `spawn(move || { fib(200); })`, but when
218218
testing this code, the `fib` function will be included (so it can compile).
219219

220+
Rustdoc will automatically add a `main()` wrapper around your code, and in the right
221+
place. For example:
222+
223+
```
224+
/// ```
225+
/// use std::rc::Rc;
226+
///
227+
/// let five = Rc::new(5);
228+
/// ```
229+
# fn foo() {}
230+
```
231+
232+
This will end up testing:
233+
234+
```
235+
fn main() {
236+
use std::rc::Rc;
237+
let five = Rc::new(5);
238+
}
239+
```
240+
241+
Here's the full algorithm:
242+
243+
1. Given a code block, if it does not contain `fn main`, it is wrapped in `fn main() { your_code }`
244+
2. Given that result, if it contains no `extern crate` directives but it also
245+
contains the name of the crate being tested, then `extern crate <name>` is
246+
injected at the top.
247+
3. Some common `allow` attributes are added for documentation examples at the top.
248+
220249
## Running tests (advanced)
221250

222251
Running tests often requires some special configuration to filter tests, find

branches/auto/src/doc/trpl/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ memory safe without using garbage collection.
88
"The Rust Programming Language" is split into three sections, which you can
99
navigate through the menu on the left.
1010

11-
## Basics
11+
<h2 class="section-header"><a href="basic.html">Basics</a></h2>
1212

1313
This section is a linear introduction to the basic syntax and semantics of
1414
Rust. It has individual sections on each part of Rust's syntax, and culminates
@@ -17,15 +17,15 @@ in a small project: a guessing game.
1717
After reading "Basics," you will have a good foundation to learn more about
1818
Rust, and can write very simple programs.
1919

20-
## Intermediate
20+
<h2 class="section-header"><a href="intermediate.html">Intermediate</a></h2>
2121

2222
This section contains individual chapters, which are self-contained. They focus
2323
on specific topics, and can be read in any order.
2424

2525
After reading "Intermediate," you will have a solid understanding of Rust,
2626
and will be able to understand most Rust code and write more complex programs.
2727

28-
## Advanced
28+
<h2 class="section-header"><a href="advanced.html">Advanced</a></h2>
2929

3030
In a similar fashion to "Intermediate," this section is full of individual,
3131
deep-dive chapters, which stand alone and can be read in any order. These

branches/auto/src/doc/trpl/SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
* [Iterators](iterators.md)
2727
* [Generics](generics.md)
2828
* [Traits](traits.md)
29-
* [Tasks](tasks.md)
29+
* [Threads](threads.md)
3030
* [Error Handling](error-handling.md)
3131
* [III: Advanced Topics](advanced.md)
3232
* [FFI](ffi.md)

branches/auto/src/doc/trpl/arrays-vectors-and-slices.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ arrays:
8282

8383
```{rust}
8484
let a = [0, 1, 2, 3, 4];
85-
let middle = a.slice(1, 4); // A slice of a: just the elements [1,2,3]
85+
let middle = &a[1..4]; // A slice of a: just the elements 1, 2, and 3
8686
8787
for e in middle.iter() {
8888
println!("{}", e); // Prints 1, 2, 3

0 commit comments

Comments
 (0)