Skip to content

Commit 781cf73

Browse files
committed
---
yaml --- r: 235189 b: refs/heads/stable c: f9de964 h: refs/heads/master i: 235187: d71c9f0 v: v3
1 parent 196b920 commit 781cf73

File tree

190 files changed

+2859
-3187
lines changed

Some content is hidden

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

190 files changed

+2859
-3187
lines changed

[refs]

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

branches/stable/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ Read ["Installing Rust"] from [The Book].
7373
```
7474
7575
3. Run `mingw32_shell.bat` or `mingw64_shell.bat` from wherever you installed
76-
MSYS2 (i.e. `C:\msys`), depending on whether you want 32-bit or 64-bit Rust.
76+
MYSY2 (i.e. `C:\msys`), depending on whether you want 32-bit or 64-bit Rust.
7777
7878
4. Navigate to Rust's source code, configure and build it:
7979

branches/stable/configure

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -405,10 +405,6 @@ case $CFG_OSTYPE in
405405
CFG_OSTYPE=unknown-openbsd
406406
;;
407407

408-
NetBSD)
409-
CFG_OSTYPE=unknown-netbsd
410-
;;
411-
412408
Darwin)
413409
CFG_OSTYPE=apple-darwin
414410
;;

branches/stable/mk/cfg/x86_64-unknown-netbsd.mk

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

branches/stable/mk/main.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,7 @@ LLVM_BINDIR_$(1)=$$(shell "$$(LLVM_CONFIG_$(1))" --bindir)
295295
LLVM_INCDIR_$(1)=$$(shell "$$(LLVM_CONFIG_$(1))" --includedir)
296296
LLVM_LIBDIR_$(1)=$$(shell "$$(LLVM_CONFIG_$(1))" --libdir)
297297
LLVM_LIBDIR_RUSTFLAGS_$(1)=-L "$$(LLVM_LIBDIR_$(1))"
298+
LLVM_LIBS_$(1)=$$(shell "$$(LLVM_CONFIG_$(1))" --libs $$(LLVM_COMPONENTS))
298299
LLVM_LDFLAGS_$(1)=$$(shell "$$(LLVM_CONFIG_$(1))" --ldflags)
299300
ifeq ($$(findstring freebsd,$(1)),freebsd)
300301
# On FreeBSD, it may search wrong headers (that are for pre-installed LLVM),

branches/stable/src/compiletest/runtest.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,10 +1126,16 @@ impl fmt::Display for Status {
11261126

11271127
fn compile_test(config: &Config, props: &TestProps,
11281128
testfile: &Path) -> ProcRes {
1129+
compile_test_(config, props, testfile, &[])
1130+
}
1131+
1132+
fn compile_test_(config: &Config, props: &TestProps,
1133+
testfile: &Path, extra_args: &[String]) -> ProcRes {
11291134
let aux_dir = aux_output_dir_name(config, testfile);
11301135
// FIXME (#9639): This needs to handle non-utf8 paths
1131-
let link_args = vec!("-L".to_string(),
1132-
aux_dir.to_str().unwrap().to_string());
1136+
let mut link_args = vec!("-L".to_string(),
1137+
aux_dir.to_str().unwrap().to_string());
1138+
link_args.extend(extra_args.iter().cloned());
11331139
let args = make_compile_args(config,
11341140
props,
11351141
link_args,
@@ -1138,7 +1144,7 @@ fn compile_test(config: &Config, props: &TestProps,
11381144
}
11391145

11401146
fn document(config: &Config, props: &TestProps,
1141-
testfile: &Path) -> (ProcRes, PathBuf) {
1147+
testfile: &Path, extra_args: &[String]) -> (ProcRes, PathBuf) {
11421148
let aux_dir = aux_output_dir_name(config, testfile);
11431149
let out_dir = output_base_name(config, testfile);
11441150
let _ = fs::remove_dir_all(&out_dir);
@@ -1148,6 +1154,7 @@ fn document(config: &Config, props: &TestProps,
11481154
"-o".to_string(),
11491155
out_dir.to_str().unwrap().to_string(),
11501156
testfile.to_str().unwrap().to_string()];
1157+
args.extend(extra_args.iter().cloned());
11511158
args.extend(split_maybe_args(&props.compile_flags));
11521159
let args = ProcArgs {
11531160
prog: config.rustdoc_path.to_str().unwrap().to_string(),
@@ -1710,7 +1717,7 @@ fn charset() -> &'static str {
17101717
}
17111718

17121719
fn run_rustdoc_test(config: &Config, props: &TestProps, testfile: &Path) {
1713-
let (proc_res, out_dir) = document(config, props, testfile);
1720+
let (proc_res, out_dir) = document(config, props, testfile, &[]);
17141721
if !proc_res.status.success() {
17151722
fatal_proc_rec("rustdoc failed!", &proc_res);
17161723
}

branches/stable/src/compiletest/util.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ const OS_TABLE: &'static [(&'static str, &'static str)] = &[
2121
("ios", "ios"),
2222
("linux", "linux"),
2323
("mingw32", "windows"),
24-
("netbsd", "netbsd"),
2524
("openbsd", "openbsd"),
2625
("win32", "windows"),
2726
("windows", "windows"),

branches/stable/src/doc/reference.md

Lines changed: 33 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -338,16 +338,12 @@ type of the literal. The integer suffix must be the name of one of the
338338
integral types: `u8`, `i8`, `u16`, `i16`, `u32`, `i32`, `u64`, `i64`,
339339
`isize`, or `usize`.
340340

341-
The type of an _unsuffixed_ integer literal is determined by type inference:
342-
343-
* If an integer type can be _uniquely_ determined from the surrounding
344-
program context, the unsuffixed integer literal has that type.
345-
346-
* If the program context underconstrains the type, it defaults to the
347-
signed 32-bit integer `i32`.
348-
349-
* If the program context overconstrains the type, it is considered a
350-
static type error.
341+
The type of an _unsuffixed_ integer literal is determined by type inference.
342+
If an integer type can be _uniquely_ determined from the surrounding program
343+
context, the unsuffixed integer literal has that type. If the program context
344+
underconstrains the type, it defaults to the signed 32-bit integer `i32`; if
345+
the program context overconstrains the type, it is considered a static type
346+
error.
351347

352348
Examples of integer literals of various forms:
353349

@@ -375,17 +371,12 @@ The suffix forcibly sets the type of the literal. There are two valid
375371
_floating-point suffixes_, `f32` and `f64` (the 32-bit and 64-bit floating point
376372
types), which explicitly determine the type of the literal.
377373

378-
The type of an _unsuffixed_ floating-point literal is determined by
379-
type inference:
380-
381-
* If a floating-point type can be _uniquely_ determined from the
382-
surrounding program context, the unsuffixed floating-point literal
383-
has that type.
384-
385-
* If the program context underconstrains the type, it defaults to `f64`.
386-
387-
* If the program context overconstrains the type, it is considered a
388-
static type error.
374+
The type of an _unsuffixed_ floating-point literal is determined by type
375+
inference. If a floating-point type can be _uniquely_ determined from the
376+
surrounding program context, the unsuffixed floating-point literal has that type.
377+
If the program context underconstrains the type, it defaults to double-precision `f64`;
378+
if the program context overconstrains the type, it is considered a static type
379+
error.
389380

390381
Examples of floating-point literals of various forms:
391382

@@ -2032,7 +2023,7 @@ The following configurations must be defined by the implementation:
20322023
as a configuration itself, like `unix` or `windows`.
20332024
* `target_os = "..."`. Operating system of the target, examples include
20342025
`"windows"`, `"macos"`, `"ios"`, `"linux"`, `"android"`, `"freebsd"`, `"dragonfly"`,
2035-
`"bitrig"` , `"openbsd"` or `"netbsd"`.
2026+
`"bitrig"` or `"openbsd"`.
20362027
* `target_pointer_width = "..."`. Target pointer width in bits. This is set
20372028
to `"32"` for targets with 32-bit pointers, and likewise set to `"64"` for
20382029
64-bit pointers.
@@ -2972,12 +2963,14 @@ move values (depending on their type) from the environment into the lambda
29722963
expression's captured environment.
29732964

29742965
In this example, we define a function `ten_times` that takes a higher-order
2975-
function argument, and we then call it with a lambda expression as an argument:
2966+
function argument, and call it with a lambda expression as an argument:
29762967

29772968
```
29782969
fn ten_times<F>(f: F) where F: Fn(i32) {
2979-
for index in 0..10 {
2980-
f(index);
2970+
let mut i = 0i32;
2971+
while i < 10 {
2972+
f(i);
2973+
i += 1;
29812974
}
29822975
}
29832976
@@ -3326,13 +3319,10 @@ An example of a tuple type and its use:
33263319

33273320
```
33283321
type Pair<'a> = (i32, &'a str);
3329-
let p: Pair<'static> = (10, "ten");
3322+
let p: Pair<'static> = (10, "hello");
33303323
let (a, b) = p;
3331-
3332-
assert_eq!(a, 10);
3333-
assert_eq!(b, "ten");
3334-
assert_eq!(p.0, 10);
3335-
assert_eq!(p.1, "ten");
3324+
assert!(b != "world");
3325+
assert!(p.0 == 10);
33363326
```
33373327

33383328
For historical reasons and convenience, the tuple type with no elements (`()`)
@@ -3342,32 +3332,27 @@ is often called ‘unit’ or ‘the unit type’.
33423332

33433333
Rust has two different types for a list of items:
33443334

3345-
* `[T; N]`, an 'array'
3346-
* `&[T]`, a 'slice'
3335+
* `[T; N]`, an 'array'.
3336+
* `&[T]`, a 'slice'.
33473337

33483338
An array has a fixed size, and can be allocated on either the stack or the
33493339
heap.
33503340

33513341
A slice is a 'view' into an array. It doesn't own the data it points
33523342
to, it borrows it.
33533343

3354-
Examples:
3344+
An example of each kind:
33553345

33563346
```{rust}
3357-
// A stack-allocated array
3358-
let array: [i32; 3] = [1, 2, 3];
3359-
3360-
// A heap-allocated array
3361-
let vector: Vec<i32> = vec![1, 2, 3];
3362-
3363-
// A slice into an array
3364-
let slice: &[i32] = &vector[..];
3347+
let vec: Vec<i32> = vec![1, 2, 3];
3348+
let arr: [i32; 3] = [1, 2, 3];
3349+
let s: &[i32] = &vec[..];
33653350
```
33663351

33673352
As you can see, the `vec!` macro allows you to create a `Vec<T>` easily. The
33683353
`vec!` macro is also part of the standard library, rather than the language.
33693354

3370-
All in-bounds elements of arrays and slices are always initialized, and access
3355+
All in-bounds elements of arrays, and slices are always initialized, and access
33713356
to an array or slice is always bounds-checked.
33723357

33733358
### Structure types
@@ -3501,7 +3486,7 @@ x = bo(5,7);
35013486

35023487
#### Function types for specific items
35033488

3504-
Internal to the compiler, there are also function types that are specific to a particular
3489+
Internally to the compiler, there are also function types that are specific to a particular
35053490
function item. In the following snippet, for example, the internal types of the functions
35063491
`foo` and `bar` are different, despite the fact that they have the same signature:
35073492

@@ -3529,14 +3514,13 @@ more of the closure traits:
35293514

35303515
* `FnMut`
35313516
: The closure can be called multiple times as mutable. A closure called as
3532-
`FnMut` can mutate values from its environment. `FnMut` inherits from
3533-
`FnOnce` (i.e. anything implementing `FnMut` also implements `FnOnce`).
3517+
`FnMut` can mutate values from its environment. `FnMut` implies
3518+
`FnOnce`.
35343519

35353520
* `Fn`
35363521
: The closure can be called multiple times through a shared reference.
35373522
A closure called as `Fn` can neither move out from nor mutate values
3538-
from its environment. `Fn` inherits from `FnMut`, which itself
3539-
inherits from `FnOnce`.
3523+
from its environment. `Fn` implies `FnMut` and `FnOnce`.
35403524

35413525

35423526
### Trait objects
@@ -3659,7 +3643,7 @@ Coercions are defined in [RFC401]. A coercion is implicit and has no syntax.
36593643
### Coercion sites
36603644

36613645
A coercion can only occur at certain coercion sites in a program; these are
3662-
typically places where the desired type is explicit or can be derived by
3646+
typically places where the desired type is explicit or can be dervied by
36633647
propagation from explicit types (without type inference). Possible coercion
36643648
sites are:
36653649

branches/stable/src/doc/trpl/comments.md

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,6 @@ fn add_one(x: i32) -> i32 {
3838
}
3939
```
4040

41-
There is another style of doc comment, `//!`, to comment containing items (e.g.
42-
crates, modules or functions), instead of the items following it. Commonly used
43-
inside crates root (lib.rs) or modules root (mod.rs):
44-
45-
```
46-
//! # The Rust Standard Library
47-
//!
48-
//! The Rust Standard Library provides the essential runtime
49-
//! functionality for building portable Rust software.
50-
```
51-
5241
When writing doc comments, providing some examples of usage is very, very
5342
helpful. You’ll notice we’ve used a new macro here: `assert_eq!`. This compares
5443
two values, and `panic!`s if they’re not equal to each other. It’s very helpful

branches/stable/src/etc/mklldeps.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@
1414

1515
f = open(sys.argv[1], 'wb')
1616

17-
components = sys.argv[2].split() # splits on whitespace
17+
components = sys.argv[2].split(' ')
18+
components = [i for i in components if i] # ignore extra whitespaces
1819
enable_static = sys.argv[3]
19-
llvm_config = sys.argv[4]
20+
llconfig = sys.argv[4]
2021

2122
f.write("""// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2223
// file at the top-level directory of this distribution and at
@@ -38,15 +39,15 @@ def run(args):
3839
out, err = proc.communicate()
3940

4041
if err:
41-
print("failed to run llvm_config: args = `{}`".format(args))
42+
print("failed to run llconfig: args = `{}`".format(args))
4243
print(err)
4344
sys.exit(1)
4445
return out
4546

4647
f.write("\n")
4748

4849
# LLVM libs
49-
args = [llvm_config, '--libs', '--system-libs']
50+
args = [llconfig, '--libs', '--system-libs']
5051

5152
args.extend(components)
5253
out = run(args)
@@ -68,13 +69,13 @@ def run(args):
6869
f.write(")]\n")
6970

7071
# LLVM ldflags
71-
out = run([llvm_config, '--ldflags'])
72+
out = run([llconfig, '--ldflags'])
7273
for lib in out.strip().split(' '):
7374
if lib[:2] == "-l":
7475
f.write("#[link(name = \"" + lib[2:] + "\")]\n")
7576

7677
# C++ runtime library
77-
out = run([llvm_config, '--cxxflags'])
78+
out = run([llconfig, '--cxxflags'])
7879
if enable_static == '1':
7980
assert('stdlib=libc++' not in out)
8081
f.write("#[link(name = \"stdc++\", kind = \"static\")]\n")

branches/stable/src/etc/snapshot.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,13 @@ def scrub(b):
4141
download_unpack_base = os.path.join(download_dir_base, "unpack")
4242

4343
snapshot_files = {
44-
"bitrig": ["bin/rustc"],
45-
"dragonfly": ["bin/rustc"],
46-
"freebsd": ["bin/rustc"],
4744
"linux": ["bin/rustc"],
4845
"macos": ["bin/rustc"],
49-
"netbsd": ["bin/rustc"],
50-
"openbsd": ["bin/rustc"],
5146
"winnt": ["bin/rustc.exe"],
47+
"freebsd": ["bin/rustc"],
48+
"dragonfly": ["bin/rustc"],
49+
"bitrig": ["bin/rustc"],
50+
"openbsd": ["bin/rustc"],
5251
}
5352

5453
winnt_runtime_deps_32 = ["libgcc_s_dw2-1.dll", "libstdc++-6.dll"]
@@ -104,8 +103,6 @@ def get_kernel(triple):
104103
return "dragonfly"
105104
if os_name == "bitrig":
106105
return "bitrig"
107-
if os_name == "netbsd":
108-
return "netbsd"
109106
if os_name == "openbsd":
110107
return "openbsd"
111108
return "linux"

0 commit comments

Comments
 (0)