Skip to content

Commit dc4e21f

Browse files
committed
---
yaml --- r: 183517 b: refs/heads/beta c: effad62 h: refs/heads/master i: 183515: 013f853 v: v3
1 parent 3e646e9 commit dc4e21f

File tree

718 files changed

+8374
-21421
lines changed

Some content is hidden

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

718 files changed

+8374
-21421
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ refs/heads/automation-fail: 1bf06495443584539b958873e04cc2f864ab10e4
3131
refs/heads/issue-18208-method-dispatch-3-quick-reject: 2009f85b9f99dedcec4404418eda9ddba90258a2
3232
refs/heads/batch: b7fd822592a4fb577552d93010c4a4e14f314346
3333
refs/heads/building: 126db549b038c84269a1e4fe46f051b2c15d6970
34-
refs/heads/beta: b13fddda20c2e2bb8ecb0bc8c781ce24f3e4422d
34+
refs/heads/beta: effad62bc5d8a0733c60ebee5faf13c24e8ce148
3535
refs/heads/windistfix: 7608dbad651f02e837ed05eef3d74a6662a6e928
3636
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
3737
refs/heads/tmp: eb836bf767aa1d8d4cba488a9091cde3c0ab4b2f

branches/beta/configure

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,6 @@ opt verify-install 1 "verify installed binaries work"
525525
opt dist-host-only 0 "only install bins for the host architecture"
526526
opt inject-std-version 1 "inject the current compiler version of libstd into programs"
527527
opt jemalloc 1 "build liballoc with jemalloc"
528-
opt llvm-version-check 1 "don't check if the LLVM version is supported, build anyway"
529528

530529
valopt localstatedir "/var/lib" "local state directory"
531530
valopt sysconfdir "/etc" "install system configuration files"
@@ -654,7 +653,9 @@ probe CFG_GRUN grun
654653
probe CFG_FLEX flex
655654
probe CFG_BISON bison
656655
probe CFG_PANDOC pandoc
656+
probe CFG_PDFLATEX pdflatex
657657
probe CFG_XELATEX xelatex
658+
probe CFG_LUALATEX lualatex
658659
probe CFG_GDB gdb
659660
probe CFG_LLDB lldb
660661

@@ -797,7 +798,7 @@ then
797798
putvar CFG_ENABLE_CLANG
798799
fi
799800

800-
if [ ! -z "$CFG_LLVM_ROOT" -a -z "$CFG_DISABLE_LLVM_VERSION_CHECK" -a -e "$CFG_LLVM_ROOT/bin/llvm-config" ]
801+
if [ ! -z "$CFG_LLVM_ROOT" -a -e "$CFG_LLVM_ROOT/bin/llvm-config" ]
801802
then
802803
step_msg "using custom LLVM at $CFG_LLVM_ROOT"
803804

@@ -1379,8 +1380,7 @@ do
13791380
done
13801381

13811382
# Munge any paths that appear in config.mk back to posix-y
1382-
cp config.tmp config.tmp.bak
1383-
sed -e 's@ \([a-zA-Z]\):[/\\]@ /\1/@g;' <config.tmp.bak >config.tmp
1383+
sed -i.bak -e 's@ \([a-zA-Z]\):[/\\]@ /\1/@g;' config.tmp
13841384
rm -f config.tmp.bak
13851385

13861386
msg

branches/beta/mk/docs.mk

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,16 +85,27 @@ else
8585
HTML_DEPS :=
8686
endif
8787

88-
# Check for xelatex
89-
90-
ifneq ($(CFG_XELATEX),)
88+
# Check for the various external utilities for the EPUB/PDF docs:
89+
90+
ifeq ($(CFG_LUALATEX),)
91+
$(info cfg: no lualatex found, deferring to xelatex)
92+
ifeq ($(CFG_XELATEX),)
93+
$(info cfg: no xelatex found, deferring to pdflatex)
94+
ifeq ($(CFG_PDFLATEX),)
95+
$(info cfg: no pdflatex found, disabling LaTeX docs)
96+
NO_PDF_DOCS = 1
97+
else
98+
CFG_LATEX := $(CFG_PDFLATEX)
99+
endif
100+
else
91101
CFG_LATEX := $(CFG_XELATEX)
92102
XELATEX = 1
93-
else
94-
$(info cfg: no xelatex found, disabling LaTeX docs)
95-
NO_PDF_DOCS = 1
103+
endif
104+
else
105+
CFG_LATEX := $(CFG_LUALATEX)
96106
endif
97107

108+
98109
ifeq ($(CFG_PANDOC),)
99110
$(info cfg: no pandoc found, omitting PDF and EPUB docs)
100111
ONLY_HTML_DOCS = 1

branches/beta/mk/main.mk

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,16 @@ SPACE :=
6161
SPACE +=
6262
ifneq ($(CFG_GIT),)
6363
ifneq ($(wildcard $(subst $(SPACE),\$(SPACE),$(CFG_GIT_DIR))),)
64-
CFG_VER_DATE = $(shell git --git-dir='$(CFG_GIT_DIR)' log -1 --pretty=format:'%ci')
64+
CFG_VER_DATE = $(shell git --git-dir='$(CFG_GIT_DIR)' log -1 --date=short --pretty=format:'%cd')
6565
CFG_VER_HASH = $(shell git --git-dir='$(CFG_GIT_DIR)' rev-parse HEAD)
6666
CFG_SHORT_VER_HASH = $(shell git --git-dir='$(CFG_GIT_DIR)' rev-parse --short=9 HEAD)
6767
CFG_VERSION += ($(CFG_SHORT_VER_HASH) $(CFG_VER_DATE))
6868
endif
6969
endif
7070

71+
CFG_BUILD_DATE = $(shell date +%F)
72+
CFG_VERSION += (built $(CFG_BUILD_DATE))
73+
7174
# Windows exe's need numeric versions - don't use anything but
7275
# numbers and dots here
7376
CFG_VERSION_WIN = $(CFG_RELEASE_NUM)
@@ -317,6 +320,7 @@ endif
317320
ifdef CFG_VER_HASH
318321
export CFG_VER_HASH
319322
endif
323+
export CFG_BUILD_DATE
320324
export CFG_VERSION
321325
export CFG_VERSION_WIN
322326
export CFG_RELEASE

branches/beta/mk/tests.mk

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,6 @@ RPASS_FULL_RS := $(wildcard $(S)src/test/run-pass-fulldeps/*.rs)
452452
CFAIL_FULL_RS := $(wildcard $(S)src/test/compile-fail-fulldeps/*.rs)
453453
RFAIL_RS := $(wildcard $(S)src/test/run-fail/*.rs)
454454
CFAIL_RS := $(wildcard $(S)src/test/compile-fail/*.rs)
455-
PFAIL_RS := $(wildcard $(S)src/test/parse-fail/*.rs)
456455
BENCH_RS := $(wildcard $(S)src/test/bench/*.rs)
457456
PRETTY_RS := $(wildcard $(S)src/test/pretty/*.rs)
458457
DEBUGINFO_GDB_RS := $(wildcard $(S)src/test/debuginfo/*.rs)
@@ -469,7 +468,7 @@ RPASS_VALGRIND_TESTS := $(RPASS_VALGRIND_RS)
469468
RPASS_FULL_TESTS := $(RPASS_FULL_RS)
470469
CFAIL_FULL_TESTS := $(CFAIL_FULL_RS)
471470
RFAIL_TESTS := $(RFAIL_RS)
472-
CFAIL_TESTS := $(CFAIL_RS) $(PFAIL_RS)
471+
CFAIL_TESTS := $(CFAIL_RS)
473472
BENCH_TESTS := $(BENCH_RS)
474473
PERF_TESTS := $(PERF_RS)
475474
PRETTY_TESTS := $(PRETTY_RS)

branches/beta/src/compiletest/compiletest.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212

1313
#![feature(box_syntax)]
1414
#![feature(collections)]
15+
#![feature(core)]
1516
#![feature(int_uint)]
1617
#![feature(io)]
18+
#![feature(os)]
1719
#![feature(path)]
1820
#![feature(rustc_private)]
1921
#![feature(slicing_syntax, unboxed_closures)]
@@ -47,7 +49,8 @@ pub mod common;
4749
pub mod errors;
4850

4951
pub fn main() {
50-
let config = parse_config(env::args().collect());
52+
let args = env::args().map(|s| s.into_string().unwrap()).collect();;
53+
let config = parse_config(args);
5154

5255
if config.valgrind_path.is_none() && config.force_valgrind {
5356
panic!("Can't find Valgrind to run Valgrind tests");
@@ -115,10 +118,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
115118
}
116119

117120
fn opt_path(m: &getopts::Matches, nm: &str) -> Path {
118-
match m.opt_str(nm) {
119-
Some(s) => Path::new(s),
120-
None => panic!("no option (=path) found for {}", nm),
121-
}
121+
Path::new(m.opt_str(nm).unwrap())
122122
}
123123

124124
let filter = if !matches.free.is_empty() {

branches/beta/src/compiletest/util.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ pub fn make_new_path(path: &str) -> String {
4040

4141
// Windows just uses PATH as the library search path, so we have to
4242
// maintain the current value while adding our own
43-
match env::var(lib_path_env_var()) {
43+
match env::var_string(lib_path_env_var()) {
4444
Ok(curr) => {
4545
format!("{}{}{}", path, path_div(), curr)
4646
}

branches/beta/src/doc/grammar.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ token : simple_token | ident | literal | symbol | whitespace token ;
157157

158158
| | | | | |
159159
|----------|----------|----------|----------|--------|
160-
| abstract | alignof | as | become | box |
160+
| abstract | alignof | as | be | box |
161161
| break | const | continue | crate | do |
162162
| else | enum | extern | false | final |
163163
| fn | for | if | impl | in |

branches/beta/src/doc/index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ tools we have are really nice.
5959
[Cargo](http://crates.io) is Rust's package manager, and its website contains
6060
lots of good documentation.
6161

62-
[`rustdoc`](book/documentation.html) is used to generate documentation for Rust code.
62+
[The `rustdoc` manual](rustdoc.html) contains information about Rust's
63+
documentation tool.
6364

6465
# FAQs
6566

branches/beta/src/doc/reference.md

Lines changed: 28 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ grammar as double-quoted strings. Other tokens have exact rules given.
189189

190190
| | | | | |
191191
|----------|----------|----------|----------|---------|
192-
| abstract | alignof | as | become | box |
192+
| abstract | alignof | as | be | box |
193193
| break | const | continue | crate | do |
194194
| else | enum | extern | false | final |
195195
| fn | for | if | impl | in |
@@ -256,11 +256,11 @@ cases mentioned in [Number literals](#number-literals) below.
256256

257257
| [Number literals](#number-literals)`*` | Example | Exponentiation | Suffixes |
258258
|----------------------------------------|---------|----------------|----------|
259-
| Decimal integer | `98_222` | `N/A` | Integer suffixes |
260-
| Hex integer | `0xff` | `N/A` | Integer suffixes |
261-
| Octal integer | `0o77` | `N/A` | Integer suffixes |
262-
| Binary integer | `0b1111_0000` | `N/A` | Integer suffixes |
263-
| Floating-point | `123.0E+77` | `Optional` | Floating-point suffixes |
259+
| Decimal integer | `98_222is` | `N/A` | Integer suffixes |
260+
| Hex integer | `0xffis` | `N/A` | Integer suffixes |
261+
| Octal integer | `0o77is` | `N/A` | Integer suffixes |
262+
| Binary integer | `0b1111_0000is` | `N/A` | Integer suffixes |
263+
| Floating-point | `123.0E+77f64` | `Optional` | Floating-point suffixes |
264264

265265
`*` All number literals allow `_` as a visual separator: `1_234.0E+18f64`
266266

@@ -381,13 +381,11 @@ character (`\`), or a single _escape_. It is equivalent to a `u8` unsigned
381381

382382
##### Byte string literals
383383

384-
A non-raw _byte string literal_ is a sequence of ASCII characters and _escapes_,
385-
preceded by the characters `U+0062` (`b`) and `U+0022` (double-quote), and
386-
followed by the character `U+0022`. If the character `U+0022` is present within
387-
the literal, it must be _escaped_ by a preceding `U+005C` (`\`) character.
388-
Alternatively, a byte string literal can be a _raw byte string literal_, defined
389-
below. A byte string literal is equivalent to a `&'static [u8]` borrowed array
390-
of unsigned 8-bit integers.
384+
A _byte string literal_ is a sequence of ASCII characters and _escapes_
385+
enclosed within two `U+0022` (double-quote) characters, with the exception of
386+
`U+0022` itself, which must be _escaped_ by a preceding `U+005C` character
387+
(`\`), or a _raw byte string literal_. It is equivalent to a `&'static [u8]`
388+
borrowed array of unsigned 8-bit integers.
391389

392390
Some additional _escapes_ are available in either byte or non-raw byte string
393391
literals. An escape starts with a `U+005C` (`\`) and continues with one of the
@@ -1255,7 +1253,9 @@ fn my_err(s: &str) -> ! {
12551253
We call such functions "diverging" because they never return a value to the
12561254
caller. Every control path in a diverging function must end with a `panic!()` or
12571255
a call to another diverging function on every control path. The `!` annotation
1258-
does *not* denote a type.
1256+
does *not* denote a type. Rather, the result type of a diverging function is a
1257+
special type called ⊥ ("bottom") that unifies with any type. Rust has no
1258+
syntax for ⊥.
12591259

12601260
It might be necessary to declare a diverging function because as mentioned
12611261
previously, the typechecker checks that every control path in a function ends
@@ -1813,6 +1813,7 @@ default visibility with the `priv` keyword. When an item is declared as `pub`,
18131813
it can be thought of as being accessible to the outside world. For example:
18141814

18151815
```
1816+
# #![allow(missing_copy_implementations)]
18161817
# fn main() {}
18171818
// Declare a private struct
18181819
struct Foo;
@@ -2014,11 +2015,6 @@ type int8_t = i8;
20142015
- `no_start` - disable linking to the `native` crate, which specifies the
20152016
"start" language item.
20162017
- `no_std` - disable linking to the `std` crate.
2017-
- `plugin` — load a list of named crates as compiler plugins, e.g.
2018-
`#![plugin(foo, bar)]`. Optional arguments for each plugin,
2019-
i.e. `#![plugin(foo(... args ...))]`, are provided to the plugin's
2020-
registrar function. The `plugin` feature gate is required to use
2021-
this attribute.
20222018

20232019
### Module-only attributes
20242020

@@ -2087,7 +2083,7 @@ On `struct`s:
20872083
remove any padding between fields (note that this is very fragile and may
20882084
break platforms which require aligned access).
20892085

2090-
### Macro-related attributes
2086+
### Macro- and plugin-related attributes
20912087

20922088
- `macro_use` on a `mod` — macros defined in this module will be visible in the
20932089
module's parent, after this module has been included.
@@ -2102,8 +2098,13 @@ On `struct`s:
21022098

21032099
- `macro_export` - export a macro for cross-crate usage.
21042100

2105-
- `no_link` on an `extern crate` — even if we load this crate for macros, don't
2106-
link it into the output.
2101+
- `plugin` on an `extern crate` — load this crate as a [compiler
2102+
plugin][plugin]. The `plugin` feature gate is required. Any arguments to
2103+
the attribute, e.g. `#[plugin=...]` or `#[plugin(...)]`, are provided to the
2104+
plugin.
2105+
2106+
- `no_link` on an `extern crate` — even if we load this crate for macros or
2107+
compiler plugins, don't link it into the output.
21072108

21082109
See the [macros section of the
21092110
book](book/macros.html#scoping-and-macro-import/export) for more information on
@@ -2354,8 +2355,8 @@ Supported traits for `derive` are:
23542355
* `FromPrimitive`, to create an instance from a numeric primitive.
23552356
* `Hash`, to iterate over the bytes in a data type.
23562357
* `Rand`, to create a random instance of a data type.
2357-
* `Debug`, to format a value using the `{:?}` formatter.
2358-
* `Copy`, for "Plain Old Data" types which can be copied by simply moving bits.
2358+
* `Show`, to format a value using the `{}` formatter.
2359+
* `Zero`, to create a zero instance of a numeric data type.
23592360

23602361
### Compiler Features
23612362

@@ -2467,12 +2468,6 @@ The currently implemented features of the reference compiler are:
24672468

24682469
* `associated_types` - Allows type aliases in traits. Experimental.
24692470

2470-
* `no_std` - Allows the `#![no_std]` crate attribute, which disables the implicit
2471-
`extern crate std`. This typically requires use of the unstable APIs
2472-
behind the libstd "facade", such as libcore and libcollections. It
2473-
may also cause problems when using syntax extensions, including
2474-
`#[derive]`.
2475-
24762471
If a feature is promoted to a language feature, then all existing programs will
24772472
start to receive compilation warnings about #[feature] directives which enabled
24782473
the new feature (because the directive is no longer necessary). However, if a
@@ -3005,7 +3000,7 @@ Some examples of call expressions:
30053000
# fn add(x: i32, y: i32) -> i32 { 0 }
30063001
30073002
let x: i32 = add(1i32, 2i32);
3008-
let pi: Result<f32, _> = "3.14".parse();
3003+
let pi: Option<f32> = "3.14".parse().ok();
30093004
```
30103005

30113006
### Lambda expressions
@@ -3148,7 +3143,7 @@ An example of a for loop over a series of integers:
31483143

31493144
```
31503145
# fn bar(b:usize) { }
3151-
for i in 0us..256 {
3146+
for i in range(0us, 256) {
31523147
bar(i);
31533148
}
31543149
```
@@ -3196,7 +3191,6 @@ stands for a *single* data field, whereas a wildcard `..` stands for *all* the
31963191
fields of a particular variant. For example:
31973192

31983193
```
3199-
#![feature(box_patterns)]
32003194
#![feature(box_syntax)]
32013195
enum List<X> { Nil, Cons(X, Box<List<X>>) }
32023196
@@ -3260,7 +3254,6 @@ the inside of the match.
32603254
An example of a `match` expression:
32613255

32623256
```
3263-
#![feature(box_patterns)]
32643257
#![feature(box_syntax)]
32653258
# fn process_pair(a: i32, b: i32) { }
32663259
# fn process_ten() { }
@@ -3296,7 +3289,6 @@ Subpatterns can also be bound to variables by the use of the syntax `variable @
32963289
subpattern`. For example:
32973290

32983291
```
3299-
#![feature(box_patterns)]
33003292
#![feature(box_syntax)]
33013293
33023294
enum List { Nil, Cons(uint, Box<List>) }
@@ -3532,7 +3524,7 @@ An example of each kind:
35323524
```{rust}
35333525
let vec: Vec<i32> = vec![1, 2, 3];
35343526
let arr: [i32; 3] = [1, 2, 3];
3535-
let s: &[i32] = &vec[];
3527+
let s: &[i32] = &vec;
35363528
```
35373529

35383530
As you can see, the `vec!` macro allows you to create a `Vec<T>` easily. The

branches/beta/src/doc/rust.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
body {
5959
margin: 0 auto;
6060
padding: 0 15px;
61-
font-family: "Source Serif Pro", Georgia, Times, "Times New Roman", serif;
61+
font-family: "Source Serif Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
6262
font-size: 18px;
6363
color: #333;
6464
line-height: 1.428571429;

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
* [Iterators](iterators.md)
2828
* [Generics](generics.md)
2929
* [Traits](traits.md)
30-
* [Static and Dynamic Dispatch](static-and-dynamic-dispatch.md)
3130
* [Concurrency](concurrency.md)
3231
* [Error Handling](error-handling.md)
3332
* [Documentation](documentation.md)

0 commit comments

Comments
 (0)