Skip to content

Commit a90367f

Browse files
committed
---
yaml --- r: 274279 b: refs/heads/stable c: a9e139b h: refs/heads/master i: 274277: ce6185f 274275: ef8ef0c 274271: dbce758
1 parent 3227b10 commit a90367f

File tree

174 files changed

+2780
-2730
lines changed

Some content is hidden

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

174 files changed

+2780
-2730
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ refs/heads/tmp: e06d2ad9fcd5027bcaac5b08fc9aa39a49d0ecd3
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f
3030
refs/tags/homu-tmp: c0221c8897db309a79990367476177b1230bb264
3131
refs/tags/1.0.0-beta: 8cbb92b53468ee2b0c2d3eeb8567005953d40828
32-
refs/heads/stable: 1fa0be2bc038e0575a601ba0273cd83d91d064f2
32+
refs/heads/stable: a9e139b66c786423334c5f09f71ec8b0492742f8
3333
refs/tags/1.0.0: 55bd4f8ff2b323f317ae89e254ce87162d52a375
3434
refs/tags/1.1.0: bc3c16f09287e5545c1d3f76b7abd54f2eca868b
3535
refs/tags/1.2.0: f557861f822c34f07270347b94b5280de20a597e

branches/stable/COPYRIGHT

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ terms.
77
Longer version:
88

99
The Rust Project is copyright 2016, The Rust Project
10-
Developers (given in the file AUTHORS.txt).
10+
Developers.
1111

1212
Licensed under the Apache License, Version 2.0
1313
<LICENSE-APACHE or

branches/stable/Makefile.in

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -220,19 +220,12 @@ endif
220220
# The test suite
221221
ifneq ($(strip $(findstring check,$(MAKECMDGOALS)) \
222222
$(findstring test,$(MAKECMDGOALS)) \
223-
$(findstring perf,$(MAKECMDGOALS)) \
224223
$(findstring tidy,$(MAKECMDGOALS))),)
225224
CFG_INFO := $(info cfg: including test rules)
226225
include $(CFG_SRC_DIR)mk/tests.mk
227226
include $(CFG_SRC_DIR)mk/grammar.mk
228227
endif
229228

230-
# Performance and benchmarking
231-
ifneq ($(findstring perf,$(MAKECMDGOALS)),)
232-
CFG_INFO := $(info cfg: including perf rules)
233-
include $(CFG_SRC_DIR)mk/perf.mk
234-
endif
235-
236229
# Copy all the distributables to another directory for binary install
237230
ifneq ($(strip $(findstring prepare,$(MAKECMDGOALS)) \
238231
$(findstring dist,$(MAKECMDGOALS)) \

branches/stable/configure

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1051,7 +1051,7 @@ then
10511051
esac
10521052
else
10531053
case $CFG_CLANG_VERSION in
1054-
(3.2* | 3.3* | 3.4* | 3.5* | 3.6* | 3.7* | 3.8*)
1054+
(3.2* | 3.3* | 3.4* | 3.5* | 3.6* | 3.7* | 3.8* | 3.9*)
10551055
step_msg "found ok version of CLANG: $CFG_CLANG_VERSION"
10561056
;;
10571057
(*)
@@ -1361,16 +1361,22 @@ for h in $CFG_HOST
13611361
do
13621362
for t in $CFG_TARGET
13631363
do
1364+
# host bin dir stage0
1365+
make_dir $h/stage0/bin
1366+
13641367
# host lib dir stage0
13651368
make_dir $h/stage0/lib
13661369

1370+
# host test dir stage0
1371+
make_dir $h/stage0/test
1372+
13671373
# target bin dir stage0
13681374
make_dir $h/stage0/lib/rustlib/$t/bin
13691375

13701376
# target lib dir stage0
13711377
make_dir $h/stage0/lib/rustlib/$t/lib
13721378

1373-
for i in 0 1 2 3
1379+
for i in 1 2 3
13741380
do
13751381
# host bin dir
13761382
make_dir $h/stage$i/bin

branches/stable/mk/crates.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ DEPS_rustc_front := std syntax log serialize
102102
DEPS_rustc_lint := rustc log syntax
103103
DEPS_rustc_llvm := native:rustllvm libc std rustc_bitflags
104104
DEPS_rustc_metadata := rustc rustc_front syntax rbml
105-
DEPS_rustc_passes := syntax rustc core
105+
DEPS_rustc_passes := syntax rustc core rustc_front
106106
DEPS_rustc_mir := rustc rustc_front syntax
107107
DEPS_rustc_resolve := arena rustc rustc_front log syntax
108108
DEPS_rustc_platform_intrinsics := rustc rustc_llvm

branches/stable/mk/main.mk

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -522,14 +522,6 @@ STAGE$(1)_T_$(2)_H_$(3) := \
522522
$$(CFG_RUSTC_FLAGS) $$(EXTRAFLAGS_STAGE$(1)) --target=$(2)) \
523523
$$(RUSTC_FLAGS_$(2))
524524

525-
PERF_STAGE$(1)_T_$(2)_H_$(3) := \
526-
$$(Q)$$(call CFG_RUN_TARG_$(3),$(1), \
527-
$$(CFG_PERF_TOOL) \
528-
$$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
529-
--cfg $$(CFGFLAG$(1)_T_$(2)_H_$(3)) \
530-
$$(CFG_RUSTC_FLAGS) $$(EXTRAFLAGS_STAGE$(1)) --target=$(2)) \
531-
$$(RUSTC_FLAGS_$(2))
532-
533525
endef
534526

535527
$(foreach build,$(CFG_HOST), \

branches/stable/mk/perf.mk

Lines changed: 0 additions & 25 deletions
This file was deleted.

branches/stable/mk/platform.mk

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -77,23 +77,6 @@ define DEF_GOOD_VALGRIND
7777
endef
7878
$(foreach t,$(CFG_TARGET),$(eval $(call DEF_GOOD_VALGRIND,$(t))))
7979

80-
ifneq ($(findstring linux,$(CFG_OSTYPE)),)
81-
ifdef CFG_PERF
82-
ifneq ($(CFG_PERF_WITH_LOGFD),)
83-
CFG_PERF_TOOL := $(CFG_PERF) stat -r 3 --log-fd 2
84-
else
85-
CFG_PERF_TOOL := $(CFG_PERF) stat -r 3
86-
endif
87-
else
88-
ifdef CFG_VALGRIND
89-
CFG_PERF_TOOL := \
90-
$(CFG_VALGRIND) --tool=cachegrind --cache-sim=yes --branch-sim=yes
91-
else
92-
CFG_PERF_TOOL := /usr/bin/time --verbose
93-
endif
94-
endif
95-
endif
96-
9780
AR := ar
9881

9982
define SET_FROM_CFG

branches/stable/mk/tests.mk

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,6 @@ ifdef CFG_VALGRIND
5050
CTEST_RUNTOOL = --runtool "$(CFG_VALGRIND)"
5151
endif
5252

53-
# Arguments to the perf tests
54-
ifdef CFG_PERF_TOOL
55-
CTEST_PERF_RUNTOOL = --runtool "$(CFG_PERF_TOOL)"
56-
endif
57-
5853
CTEST_TESTARGS := $(TESTARGS)
5954

6055
# --bench is only relevant for crate tests, not for the compile tests
@@ -70,12 +65,6 @@ endif
7065
# This prevents tests from failing with some locales (fixes #17423).
7166
export LC_ALL=C
7267

73-
# If we're running perf then set this environment variable
74-
# to put the benchmarks into 'hard mode'
75-
ifeq ($(MAKECMDGOALS),perf)
76-
export RUST_BENCH=1
77-
endif
78-
7968
TEST_LOG_FILE=tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4).log
8069
TEST_OK_FILE=tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4).ok
8170

@@ -486,10 +475,6 @@ CODEGEN_RS := $(wildcard $(S)src/test/codegen/*.rs)
486475
CODEGEN_CC := $(wildcard $(S)src/test/codegen/*.cc)
487476
RUSTDOCCK_RS := $(wildcard $(S)src/test/rustdoc/*.rs)
488477

489-
# perf tests are the same as bench tests only they run under
490-
# a performance monitor.
491-
PERF_RS := $(wildcard $(S)src/test/bench/*.rs)
492-
493478
RPASS_TESTS := $(RPASS_RS)
494479
RPASS_VALGRIND_TESTS := $(RPASS_VALGRIND_RS)
495480
RPASS_FULL_TESTS := $(RPASS_FULL_RS)
@@ -499,7 +484,6 @@ RFAIL_TESTS := $(RFAIL_RS)
499484
CFAIL_TESTS := $(CFAIL_RS)
500485
PFAIL_TESTS := $(PFAIL_RS)
501486
BENCH_TESTS := $(BENCH_RS)
502-
PERF_TESTS := $(PERF_RS)
503487
PRETTY_TESTS := $(PRETTY_RS)
504488
DEBUGINFO_GDB_TESTS := $(DEBUGINFO_GDB_RS)
505489
DEBUGINFO_LLDB_TESTS := $(DEBUGINFO_LLDB_RS)
@@ -551,11 +535,6 @@ CTEST_BUILD_BASE_bench = bench
551535
CTEST_MODE_bench = run-pass
552536
CTEST_RUNTOOL_bench = $(CTEST_RUNTOOL)
553537

554-
CTEST_SRC_BASE_perf = bench
555-
CTEST_BUILD_BASE_perf = perf
556-
CTEST_MODE_perf = run-pass
557-
CTEST_RUNTOOL_perf = $(CTEST_PERF_RUNTOOL)
558-
559538
CTEST_SRC_BASE_debuginfo-gdb = debuginfo
560539
CTEST_BUILD_BASE_debuginfo-gdb = debuginfo-gdb
561540
CTEST_MODE_debuginfo-gdb = debuginfo-gdb
@@ -625,7 +604,7 @@ TEST_SREQ$(1)_T_$(2)_H_$(3) = \
625604
$$(HBIN$(1)_H_$(3))/compiletest$$(X_$(3)) \
626605
$$(SREQ$(1)_T_$(2)_H_$(3))
627606

628-
# Rules for the cfail/rfail/rpass/bench/perf test runner
607+
# Rules for the cfail/rfail/rpass/bench test runner
629608

630609
# The tests select when to use debug configuration on their own;
631610
# remove directive, if present, from CFG_RUSTC_FLAGS (issue #7898).
@@ -689,7 +668,6 @@ CTEST_DEPS_rfail_$(1)-T-$(2)-H-$(3) = $$(RFAIL_TESTS)
689668
CTEST_DEPS_cfail_$(1)-T-$(2)-H-$(3) = $$(CFAIL_TESTS)
690669
CTEST_DEPS_pfail_$(1)-T-$(2)-H-$(3) = $$(PFAIL_TESTS)
691670
CTEST_DEPS_bench_$(1)-T-$(2)-H-$(3) = $$(BENCH_TESTS)
692-
CTEST_DEPS_perf_$(1)-T-$(2)-H-$(3) = $$(PERF_TESTS)
693671
CTEST_DEPS_debuginfo-gdb_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_GDB_TESTS)
694672
CTEST_DEPS_debuginfo-lldb_$(1)-T-$(2)-H-$(3) = $$(DEBUGINFO_LLDB_TESTS) \
695673
$(S)src/etc/lldb_batchmode.py \
@@ -761,7 +739,7 @@ endif
761739
endef
762740

763741
CTEST_NAMES = rpass rpass-valgrind rpass-full rfail-full cfail-full rfail cfail pfail \
764-
bench perf debuginfo-gdb debuginfo-lldb codegen rustdocck
742+
bench debuginfo-gdb debuginfo-lldb codegen rustdocck
765743

766744
$(foreach host,$(CFG_HOST), \
767745
$(eval $(foreach target,$(CFG_TARGET), \
@@ -934,7 +912,6 @@ TEST_GROUPS = \
934912
cfail \
935913
pfail \
936914
bench \
937-
perf \
938915
rmake \
939916
rustdocck \
940917
debuginfo-gdb \

branches/stable/src/doc/book/bibliography.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,4 @@ Language](http://www.cs.indiana.edu/~eholk/papers/hips2013.pdf). Early GPU work
8080
Rust](http://munksgaard.me/papers/laumann-munksgaard-larsen.pdf). Philip
8181
Munksgaard's master's thesis. Research for Servo.
8282
* [Ownership is Theft: Experiences Building an Embedded OS in Rust - Amit Levy, et. al.](http://amitlevy.com/papers/tock-plos2015.pdf)
83+
* [You can't spell trust without Rust](https://raw.githubusercontent.com/Gankro/thesis/master/thesis.pdf). Alexis Beingessner's master's thesis.

branches/stable/src/doc/book/error-handling.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1512,7 +1512,7 @@ and [`rustc-serialize`](https://crates.io/crates/rustc-serialize) crates.
15121512

15131513
We're not going to spend a lot of time on setting up a project with
15141514
Cargo because it is already covered well in [the Cargo
1515-
section](../book/hello-cargo.html) and [Cargo's documentation][14].
1515+
section](getting-started.html#hello-cargo) and [Cargo's documentation][14].
15161516

15171517
To get started from scratch, run `cargo new --bin city-pop` and make sure your
15181518
`Cargo.toml` looks something like this:

branches/stable/src/doc/book/getting-started.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ If we're on Linux or a Mac, all we need to do is open a terminal and type this:
111111
$ curl -sSf https://static.rust-lang.org/rustup.sh | sh
112112
```
113113

114-
This will download a script, and stat the installation. If it all goes well,
114+
This will download a script, and start the installation. If it all goes well,
115115
you’ll see this appear:
116116

117117
```text
@@ -167,6 +167,10 @@ variable. If it isn't, run the installer again, select "Change" on the "Change,
167167
repair, or remove installation" page and ensure "Add to PATH" is installed on
168168
the local hard drive.
169169

170+
Rust does not do its own linking, and so you’ll need to have a linker
171+
installed. Doing so will depend on your specific system, consult its
172+
documentation for more details.
173+
170174
If not, there are a number of places where we can get help. The easiest is
171175
[the #rust IRC channel on irc.mozilla.org][irc], which we can access through
172176
[Mibbit][mibbit]. Click that link, and we'll be chatting with other Rustaceans
@@ -511,15 +515,17 @@ programming languages. For complex projects composed of multiple crates, it’s
511515
much easier to let Cargo coordinate the build. Using Cargo, you can run `cargo
512516
build`, and it should work the right way.
513517

514-
## Building for Release
518+
### Building for Release
515519

516-
When your project is finally ready for release, you can use `cargo build
520+
When your project is ready for release, you can use `cargo build
517521
--release` to compile your project with optimizations. These optimizations make
518522
your Rust code run faster, but turning them on makes your program take longer
519523
to compile. This is why there are two different profiles, one for development,
520524
and one for building the final program you’ll give to a user.
521525

522-
Running this command also causes Cargo to create a new file called
526+
### What Is That `Cargo.lock`?
527+
528+
Running `cargo build` also causes Cargo to create a new file called
523529
*Cargo.lock*, which looks like this:
524530

525531
```toml
@@ -602,11 +608,11 @@ This chapter covered the basics that will serve you well through the rest of
602608
this book, and the rest of your time with Rust. Now that you’ve got the tools
603609
down, we'll cover more about the Rust language itself.
604610

605-
You have two options: Dive into a project with ‘[Learn Rust][learnrust]’, or
611+
You have two options: Dive into a project with ‘[Tutorial: Guessing Game][guessinggame]’, or
606612
start from the bottom and work your way up with ‘[Syntax and
607613
Semantics][syntax]’. More experienced systems programmers will probably prefer
608-
Learn Rust’, while those from dynamic backgrounds may enjoy either. Different
614+
Tutorial: Guessing Game’, while those from dynamic backgrounds may enjoy either. Different
609615
people learn differently! Choose whatever’s right for you.
610616

611-
[learnrust]: learn-rust.html
617+
[guessinggame]: guessing-game.html
612618
[syntax]: syntax-and-semantics.html

branches/stable/src/doc/book/guessing-game.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -908,6 +908,7 @@ let guess: u32 = match guess.trim().parse() {
908908
```
909909
910910
This is how you generally move from ‘crash on error’ to ‘actually handle the
911+
error’, by switching from `expect()` to a `match` statement. The `Result`
911912
returned by `parse()` is an `enum` like `Ordering`, but in this case, each
912913
variant has some data associated with it: `Ok` is a success, and `Err` is a
913914
failure. Each contains more information: the successfully parsed integer, or an

branches/stable/src/doc/book/learn-rust.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

branches/stable/src/doc/book/loops.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ for x in 0..10 {
195195
You may also encounter situations where you have nested loops and need to
196196
specify which one your `break` or `continue` statement is for. Like most
197197
other languages, by default a `break` or `continue` will apply to innermost
198-
loop. In a situation where you would like to a `break` or `continue` for one
198+
loop. In a situation where you would like to `break` or `continue` for one
199199
of the outer loops, you can use labels to specify which loop the `break` or
200200
`continue` statement applies to. This will only print when both `x` and `y` are
201201
odd:

branches/stable/src/doc/book/no-stdlib.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,11 @@ The compiler currently makes a few assumptions about symbols which are available
7777
in the executable to call. Normally these functions are provided by the standard
7878
library, but without it you must define your own.
7979

80-
The first of these two functions, `eh_personality`, is used by the
81-
failure mechanisms of the compiler. This is often mapped to GCC's
82-
personality function (see the
83-
[libstd implementation](../std/rt/unwind/index.html) for more
84-
information), but crates which do not trigger a panic can be assured
85-
that this function is never called. The second function, `panic_fmt`, is
86-
also used by the failure mechanisms of the compiler.
80+
The first of these two functions, `eh_personality`, is used by the failure
81+
mechanisms of the compiler. This is often mapped to GCC's personality function
82+
(see the [libstd implementation][unwind] for more information), but crates
83+
which do not trigger a panic can be assured that this function is never
84+
called. The second function, `panic_fmt`, is also used by the failure
85+
mechanisms of the compiler.
86+
87+
[unwind]: https://github.com/rust-lang/rust/blob/master/src/libstd/sys/common/unwind/gcc.rs

branches/stable/src/doc/book/primitive-types.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,9 @@ copying. For example, you might want to reference only one line of a file read
164164
into memory. By nature, a slice is not created directly, but from an existing
165165
variable binding. Slices have a defined length, can be mutable or immutable.
166166

167+
Internally, slices are represented as a pointer to the beginning of the data
168+
and a length.
169+
167170
## Slicing syntax
168171

169172
You can use a combo of `&` and `[]` to create a slice from various things. The

branches/stable/src/doc/book/traits.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -277,16 +277,22 @@ This will compile without error.
277277
This means that even if someone does something bad like add methods to `i32`,
278278
it won’t affect you, unless you `use` that trait.
279279

280-
There’s one more restriction on implementing traits: either the trait, or the
281-
type you’re writing the `impl` for, must be defined by you. So, we could
282-
implement the `HasArea` type for `i32`, because `HasArea` is in our code. But
283-
if we tried to implement `ToString`, a trait provided by Rust, for `i32`, we could
284-
not, because neither the trait nor the type are in our code.
280+
There’s one more restriction on implementing traits: either the trait
281+
or the type you’re implementing it for must be defined by you. Or more
282+
precisely, one of them must be defined in the same crate as the `impl`
283+
you're writing. For more on Rust's module and package system, see the
284+
chapter on [crates and modules][cm].
285+
286+
So, we could implement the `HasArea` type for `i32`, because we defined
287+
`HasArea` in our code. But if we tried to implement `ToString`, a trait
288+
provided by Rust, for `i32`, we could not, because neither the trait nor
289+
the type are defined in our crate.
285290

286291
One last thing about traits: generic functions with a trait bound use
287292
‘monomorphization’ (mono: one, morph: form), so they are statically dispatched.
288293
What’s that mean? Check out the chapter on [trait objects][to] for more details.
289294

295+
[cm]: crates-and-modules.html
290296
[to]: trait-objects.html
291297

292298
# Multiple trait bounds

branches/stable/src/doc/version_info.html.template

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div id="versioninfo">
2-
<img src="https://www.rust-lang.org/logos/rust-logo-32x32-blk.png" width="32" height="32" alt><br>
2+
<img src="https://www.rust-lang.org/logos/rust-logo-32x32-blk.png" width="32" height="32" alt="Rust logo"><br>
33
<span class="white-sticker"><a href="https://www.rust-lang.org">Rust</a> VERSION</span><br>
44
<a href="https://github.com/rust-lang/rust/commit/STAMP"
55
class="hash white-sticker">SHORT_HASH</a>

0 commit comments

Comments
 (0)