Skip to content

Commit 76484c8

Browse files
committed
---
yaml --- r: 179675 b: refs/heads/auto c: acaad3a h: refs/heads/master i: 179673: d8b62d0 179671: 5d7d293 v: v3
1 parent 3d1f310 commit 76484c8

File tree

475 files changed

+3460
-7717
lines changed

Some content is hidden

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

475 files changed

+3460
-7717
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: 94c06a1be0ccfcf1a8e105fc98d126de372dbd40
13+
refs/heads/auto: acaad3ad675004c63f73e385f7d07153e0aceb4e
1414
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1515
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1616
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336

branches/auto/configure

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,9 @@ probe CFG_GRUN grun
653653
probe CFG_FLEX flex
654654
probe CFG_BISON bison
655655
probe CFG_PANDOC pandoc
656+
probe CFG_PDFLATEX pdflatex
656657
probe CFG_XELATEX xelatex
658+
probe CFG_LUALATEX lualatex
657659
probe CFG_GDB gdb
658660
probe CFG_LLDB lldb
659661

branches/auto/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-
ifeq ($(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/auto/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/auto/src/compiletest/compiletest.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
118118
}
119119

120120
fn opt_path(m: &getopts::Matches, nm: &str) -> Path {
121-
match m.opt_str(nm) {
122-
Some(s) => Path::new(s),
123-
None => panic!("no option (=path) found for {}", nm),
124-
}
121+
Path::new(m.opt_str(nm).unwrap())
125122
}
126123

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

branches/auto/src/doc/reference.md

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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

@@ -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
@@ -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

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ fn print<'a>(s: &'a str); // expanded
523523
fn debug(lvl: u32, s: &str); // elided
524524
fn debug<'a>(lvl: u32, s: &'a str); // expanded
525525
526-
// In the preceding example, `lvl` doesn't need a lifetime because it's not a
526+
// In the preceeding example, `lvl` doesn't need a lifetime because it's not a
527527
// reference (`&`). Only things relating to references (such as a `struct`
528528
// which contains a reference) need lifetimes.
529529

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

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ information.
3030
extend the compiler's behavior with new syntax extensions, lint checks, etc.
3131

3232
A plugin is a dynamic library crate with a designated *registrar* function that
33-
registers extensions with `rustc`. Other crates can load these extensions using
34-
the crate attribute `#![plugin(...)]`. See the
33+
registers extensions with `rustc`. Other crates can use these extensions by
34+
loading the plugin crate with `#[plugin] extern crate`. See the
3535
[`rustc::plugin`](../rustc/plugin/index.html) documentation for more about the
3636
mechanics of defining and loading a plugin.
3737

38-
If present, arguments passed as `#![plugin(foo(... args ...))]` are not
39-
interpreted by rustc itself. They are provided to the plugin through the
40-
`Registry`'s [`args` method](../rustc/plugin/registry/struct.Registry.html#method.args).
38+
Arguments passed as `#[plugin=...]` or `#[plugin(...)]` are not interpreted by
39+
rustc itself. They are provided to the plugin through the `Registry`'s [`args`
40+
method](../rustc/plugin/registry/struct.Registry.html#method.args).
4141

4242
# Syntax extensions
4343

@@ -110,7 +110,8 @@ Then we can use `rn!()` like any other macro:
110110

111111
```ignore
112112
#![feature(plugin)]
113-
#![plugin(roman_numerals)]
113+
114+
#[plugin] extern crate roman_numerals;
114115
115116
fn main() {
116117
assert_eq!(rn!(MMXV), 2015);
@@ -218,7 +219,7 @@ pub fn plugin_registrar(reg: &mut Registry) {
218219
Then code like
219220

220221
```ignore
221-
#![plugin(lint_plugin_test)]
222+
#[plugin] extern crate lint_plugin_test;
222223
223224
fn lintme() { }
224225
```

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

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,6 @@ attribute attached to the crate.
433433
```ignore
434434
// a minimal library
435435
#![crate_type="lib"]
436-
#![feature(no_std)]
437436
#![no_std]
438437
# // fn main() {} tricked you, rustdoc!
439438
```
@@ -447,8 +446,8 @@ The function marked `#[start]` is passed the command line parameters
447446
in the same format as C:
448447

449448
```
450-
#![feature(lang_items, start, no_std)]
451449
#![no_std]
450+
#![feature(lang_items, start)]
452451
453452
// Pull in the system libc library for what crt0.o likely requires
454453
extern crate libc;
@@ -474,7 +473,6 @@ correct ABI and the correct name, which requires overriding the
474473
compiler's name mangling too:
475474

476475
```ignore
477-
#![feature(no_std)]
478476
#![no_std]
479477
#![no_main]
480478
#![feature(lang_items, start)]
@@ -530,8 +528,8 @@ As an example, here is a program that will calculate the dot product of two
530528
vectors provided from C, using idiomatic Rust practices.
531529

532530
```
533-
#![feature(lang_items, start, no_std)]
534531
#![no_std]
532+
#![feature(lang_items, start)]
535533
536534
# extern crate libc;
537535
extern crate core;
@@ -578,6 +576,10 @@ extern fn panic_fmt(args: &core::fmt::Arguments,
578576
#[lang = "eh_personality"] extern fn eh_personality() {}
579577
# #[start] fn start(argc: isize, argv: *const *const u8) -> isize { 0 }
580578
# fn main() {}
579+
# mod std { // for-loops
580+
# pub use core::iter;
581+
# pub use core::option;
582+
# }
581583
```
582584

583585
Note that there is one extra lang item here which differs from the examples
@@ -654,8 +656,8 @@ and one for deallocation. A freestanding program that uses the `Box`
654656
sugar for dynamic allocations via `malloc` and `free`:
655657

656658
```
657-
#![feature(lang_items, box_syntax, start, no_std)]
658659
#![no_std]
660+
#![feature(lang_items, box_syntax, start)]
659661
660662
extern crate libc;
661663

branches/auto/src/etc/featureck.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,9 +194,9 @@
194194
if not name in joint_features:
195195
print "error: feature '" + name + "' is both a lang and lib feature but not whitelisted"
196196
errors = True
197-
lang_status = language_feature_stats[name][3]
197+
lang_status = lang_feature_stats[name][3]
198198
lib_status = lib_feature_stats[name][3]
199-
lang_stable_since = language_feature_stats[name][4]
199+
lang_stable_since = lang_feature_stats[name][4]
200200
lib_stable_since = lib_feature_stats[name][4]
201201

202202
if lang_status != lib_status and lib_status != "deprecated":

branches/auto/src/grammar/parser-lalr.y

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1195,7 +1195,7 @@ maybe_stmts
11951195
//
11961196
// There are also two other expr subtypes: first, nonparen_expr
11971197
// disallows exprs surrounded by parens (including tuple expressions),
1198-
// this is necessary for BOX (place) expressions, so a parens expr
1198+
// this is neccesary for BOX (place) expressions, so a parens expr
11991199
// following the BOX is always parsed as the place. There is also
12001200
// expr_norange used in index_expr, which disallows '..' in
12011201
// expressions as that has special meaning inside of brackets.

branches/auto/src/grammar/testparser.py

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -35,42 +35,34 @@
3535
ok[parser] = 0
3636
bad[parser] = []
3737
devnull = open(os.devnull, 'w')
38-
print("\n")
38+
print "\n"
3939

4040
for base, dirs, files in os.walk(args.source_dir[0]):
4141
for f in filter(lambda p: p.endswith('.rs'), files):
4242
p = os.path.join(base, f)
43-
parse_fail = 'parse-fail' in p
44-
if sys.version_info.major == 3:
45-
lines = open(p, encoding='utf-8').readlines()
46-
else:
47-
lines = open(p).readlines()
48-
if any('ignore-test' in line or 'ignore-lexer-test' in line for line in lines):
43+
compile_fail = 'compile-fail' in p
44+
ignore = any('ignore-test' in line or 'ignore-lexer-test' in line
45+
for line in open(p).readlines())
46+
if compile_fail or ignore:
4947
continue
5048
total += 1
5149
for parser in args.parser:
5250
if subprocess.call(parser, stdin=open(p), stderr=subprocess.STDOUT, stdout=devnull) == 0:
53-
if parse_fail:
54-
bad[parser].append(p)
55-
else:
56-
ok[parser] += 1
51+
ok[parser] += 1
5752
else:
58-
if parse_fail:
59-
ok[parser] += 1
60-
else:
61-
bad[parser].append(p)
53+
bad[parser].append(p)
6254
parser_stats = ', '.join(['{}: {}'.format(parser, ok[parser]) for parser in args.parser])
6355
sys.stdout.write("\033[K\r total: {}, {}, scanned {}"
6456
.format(total, os.path.relpath(parser_stats), os.path.relpath(p)))
6557

6658
devnull.close()
6759

68-
print("\n")
60+
print "\n"
6961

7062
for parser in args.parser:
7163
filename = os.path.basename(parser) + '.bad'
72-
print("writing {} files that did not yield the correct result with {} to {}".format(len(bad[parser]), parser, filename))
64+
print("writing {} files that failed to parse with {} to {}".format(len(bad[parser]), parser, filename))
7365
with open(filename, "w") as f:
74-
for p in bad[parser]:
75-
f.write(p)
76-
f.write("\n")
66+
for p in bad[parser]:
67+
f.write(p)
68+
f.write("\n")

branches/auto/src/liballoc/arc.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ impl<T: Sync + Send> Drop for Arc<T> {
311311
///
312312
/// // stuff
313313
///
314-
/// drop(five); // explicit drop
314+
/// drop(five); // explict drop
315315
/// }
316316
/// {
317317
/// let five = Arc::new(5);
@@ -441,7 +441,7 @@ impl<T: Sync + Send> Drop for Weak<T> {
441441
///
442442
/// // stuff
443443
///
444-
/// drop(weak_five); // explicit drop
444+
/// drop(weak_five); // explict drop
445445
/// }
446446
/// {
447447
/// let five = Arc::new(5);

branches/auto/src/liballoc/lib.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@
6565
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
6666
html_root_url = "http://doc.rust-lang.org/nightly/")]
6767

68-
#![feature(no_std)]
6968
#![no_std]
7069
#![feature(lang_items, unsafe_destructor)]
7170
#![feature(box_syntax)]
@@ -74,9 +73,7 @@
7473
#![feature(unboxed_closures)]
7574
#![feature(core)]
7675
#![feature(hash)]
77-
#![cfg_attr(all(not(feature = "external_funcs"), not(feature = "external_crate")),
78-
feature(libc))]
79-
76+
#![feature(libc)]
8077

8178
#[macro_use]
8279
extern crate core;
@@ -127,8 +124,7 @@ pub fn oom() -> ! {
127124
#[doc(hidden)]
128125
pub fn fixme_14344_be_sure_to_link_to_collections() {}
129126

130-
// NOTE: remove after next snapshot
131-
#[cfg(all(stage0, not(test)))]
127+
#[cfg(not(test))]
132128
#[doc(hidden)]
133129
mod std {
134130
pub use core::fmt;

0 commit comments

Comments
 (0)