Skip to content

Commit f17a527

Browse files
committed
---
yaml --- r: 179805 b: refs/heads/tmp c: 8fb4264 h: refs/heads/master i: 179803: bcc8c27 v: v3
1 parent e434326 commit f17a527

File tree

273 files changed

+909
-4470
lines changed

Some content is hidden

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

273 files changed

+909
-4470
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,4 @@ refs/heads/building: 126db549b038c84269a1e4fe46f051b2c15d6970
3434
refs/heads/beta: 44a287e6eb22ec3c2a687fc156813577464017f7
3535
refs/heads/windistfix: 7608dbad651f02e837ed05eef3d74a6662a6e928
3636
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
37-
refs/heads/tmp: 577c51cdc03c7ef95f15e36cf1130080082bce5a
37+
refs/heads/tmp: 8fb426469a4f7b08a240172c8f4295e868c65db8

branches/tmp/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/tmp/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/tmp/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/tmp/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/tmp/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/tmp/src/doc/reference.md

Lines changed: 14 additions & 16 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 |
@@ -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
@@ -2016,11 +2014,6 @@ type int8_t = i8;
20162014
- `no_start` - disable linking to the `native` crate, which specifies the
20172015
"start" language item.
20182016
- `no_std` - disable linking to the `std` crate.
2019-
- `plugin` — load a list of named crates as compiler plugins, e.g.
2020-
`#![plugin(foo, bar)]`. Optional arguments for each plugin,
2021-
i.e. `#![plugin(foo(... args ...))]`, are provided to the plugin's
2022-
registrar function. The `plugin` feature gate is required to use
2023-
this attribute.
20242017

20252018
### Module-only attributes
20262019

@@ -2089,7 +2082,7 @@ On `struct`s:
20892082
remove any padding between fields (note that this is very fragile and may
20902083
break platforms which require aligned access).
20912084

2092-
### Macro-related attributes
2085+
### Macro- and plugin-related attributes
20932086

20942087
- `macro_use` on a `mod` — macros defined in this module will be visible in the
20952088
module's parent, after this module has been included.
@@ -2104,8 +2097,13 @@ On `struct`s:
21042097

21052098
- `macro_export` - export a macro for cross-crate usage.
21062099

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

21102108
See the [macros section of the
21112109
book](book/macros.html#scoping-and-macro-import/export) for more information on

branches/tmp/src/doc/trpl/compound-data-types.md

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -72,20 +72,6 @@ if x == y {
7272

7373
This will print `no`, because some of the values aren't equal.
7474

75-
Note that the order of the values is considered when checking for equality,
76-
so the following example will also print `no`.
77-
78-
```rust
79-
let x = (1, 2, 3);
80-
let y = (2, 1, 3);
81-
82-
if x == y {
83-
println!("yes");
84-
} else {
85-
println!("no");
86-
}
87-
```
88-
8975
One other use of tuples is to return multiple values from a function:
9076

9177
```rust

branches/tmp/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/tmp/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/tmp/src/libcollections/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
#![feature(unboxed_closures)]
3131
#![feature(unicode)]
3232
#![feature(unsafe_destructor, slicing_syntax)]
33-
#![cfg_attr(test, feature(rand, rustc_private, test))]
33+
#![cfg_attr(test, feature(test))]
3434
#![cfg_attr(test, allow(deprecated))] // rand
3535

3636
#![feature(no_std)]

branches/tmp/src/libcollections/str.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ pub use core::str::{Lines, LinesAny, MatchIndices, SplitStr, CharRange};
8080
pub use core::str::{Split, SplitTerminator};
8181
pub use core::str::{SplitN, RSplitN};
8282
pub use core::str::{from_utf8, CharEq, Chars, CharIndices, Bytes};
83-
pub use core::str::{from_utf8_unchecked, from_c_str, ParseBoolError};
83+
pub use core::str::{from_utf8_unchecked, from_c_str};
8484
pub use unicode::str::{Words, Graphemes, GraphemeIndices};
8585

8686
/*

branches/tmp/src/libcollections/vec.rs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -690,8 +690,7 @@ impl<T> Vec<T> {
690690
/// Panics if the number of elements in the vector overflows a `usize`.
691691
///
692692
/// # Examples
693-
///
694-
/// ```
693+
/// ```rust
695694
/// let mut vec = vec![1, 2, 3];
696695
/// let mut vec2 = vec![4, 5, 6];
697696
/// vec.append(&mut vec2);
@@ -1003,13 +1002,8 @@ impl<T> Vec<T> {
10031002
///
10041003
/// Note that the capacity of `self` does not change.
10051004
///
1006-
/// # Panics
1007-
///
1008-
/// Panics if `at > len`.
1009-
///
10101005
/// # Examples
1011-
///
1012-
/// ```
1006+
/// ```rust
10131007
/// let mut vec = vec![1,2,3];
10141008
/// let vec2 = vec.split_off(1);
10151009
/// assert_eq!(vec, vec![1]);
@@ -1019,7 +1013,7 @@ impl<T> Vec<T> {
10191013
#[unstable(feature = "collections",
10201014
reason = "new API, waiting for dust to settle")]
10211015
pub fn split_off(&mut self, at: usize) -> Self {
1022-
assert!(at <= self.len(), "`at` out of bounds");
1016+
assert!(at < self.len(), "`at` out of bounds");
10231017

10241018
let other_len = self.len - at;
10251019
let mut other = Vec::with_capacity(other_len);

branches/tmp/src/libcore/iter.rs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2646,7 +2646,13 @@ impl<A: Int> Iterator for RangeStepInclusive<A> {
26462646
macro_rules! range_exact_iter_impl {
26472647
($($t:ty)*) => ($(
26482648
#[stable(feature = "rust1", since = "1.0.0")]
2649-
impl ExactSizeIterator for ::ops::Range<$t> { }
2649+
impl ExactSizeIterator for ::ops::Range<$t> {
2650+
#[inline]
2651+
fn len(&self) -> usize {
2652+
debug_assert!(self.end >= self.start);
2653+
(self.end - self.start) as usize
2654+
}
2655+
}
26502656
)*)
26512657
}
26522658

@@ -2667,12 +2673,9 @@ impl<A: Int> Iterator for ::ops::Range<A> {
26672673

26682674
#[inline]
26692675
fn size_hint(&self) -> (usize, Option<usize>) {
2670-
if self.start >= self.end {
2671-
(0, Some(0))
2672-
} else {
2673-
let length = (self.end - self.start).to_uint();
2674-
(length.unwrap_or(0), length)
2675-
}
2676+
debug_assert!(self.end >= self.start);
2677+
let hint = (self.end - self.start).to_uint();
2678+
(hint.unwrap_or(0), hint)
26762679
}
26772680
}
26782681

branches/tmp/src/libcoretest/iter.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -756,7 +756,6 @@ fn test_range() {
756756
// this test is only meaningful when sizeof uint < sizeof u64
757757
assert_eq!((uint::MAX - 1..uint::MAX).size_hint(), (1, Some(1)));
758758
assert_eq!((-10..-1).size_hint(), (9, Some(9)));
759-
assert_eq!((-1..-10).size_hint(), (0, Some(0)));
760759
}
761760

762761
#[test]

branches/tmp/src/librustc/diagnostics.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,7 @@ register_diagnostics! {
126126
E0312, // lifetime of reference outlives lifetime of borrowed content
127127
E0313, // lifetime of borrowed pointer outlives lifetime of captured variable
128128
E0314, // closure outlives stack frame
129-
E0315, // cannot invoke closure outside of its lifetime
130-
E0316 // nested quantification of lifetimes
129+
E0315 // cannot invoke closure outside of its lifetime
131130
}
132131

133132
__build_diagnostic_array! { DIAGNOSTICS }

0 commit comments

Comments
 (0)