Skip to content

Commit d9a6996

Browse files
committed
---
yaml --- r: 274254 b: refs/heads/stable c: 24931a3 h: refs/heads/master
1 parent e28a197 commit d9a6996

File tree

110 files changed

+1369
-1714
lines changed

Some content is hidden

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

110 files changed

+1369
-1714
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: b3ebe949e2db2f6c2d2d10ce050370de5fd40d02
32+
refs/heads/stable: 24931a32e8e2935d6872f581281a908d88095b68
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: 1 addition & 1 deletion
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
(*)

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: 9 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
@@ -511,15 +511,17 @@ programming languages. For complex projects composed of multiple crates, it’s
511511
much easier to let Cargo coordinate the build. Using Cargo, you can run `cargo
512512
build`, and it should work the right way.
513513

514-
## Building for Release
514+
### Building for Release
515515

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

522-
Running this command also causes Cargo to create a new file called
522+
### What Is That `Cargo.lock`?
523+
524+
Running `cargo build` also causes Cargo to create a new file called
523525
*Cargo.lock*, which looks like this:
524526

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

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

611-
[learnrust]: learn-rust.html
613+
[guessinggame]: guessing-game.html
612614
[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/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)