Skip to content

Commit 017a22e

Browse files
author
Jorge Aparicio
committed
---
yaml --- r: 178408 b: refs/heads/try c: bce81e2 h: refs/heads/master v: v3
1 parent 273cc8d commit 017a22e

File tree

503 files changed

+5089
-7157
lines changed

Some content is hidden

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

503 files changed

+5089
-7157
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 336c8d2e9c6b276b162bdb3edd43706372e6eddd
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 474b324eda10440d6568ef872a7307d38e7de95b
5-
refs/heads/try: c5961ad06d45689b44ff305c15d6ec7ec65755a9
5+
refs/heads/try: bce81e24647507c82e02e9918f54e8e3a2431149
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
88
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596

branches/try/mk/tests.mk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,6 @@ tidy:
301301
| grep '^$(S)src/rust-installer' -v \
302302
| xargs $(CFG_PYTHON) $(S)src/etc/check-binaries.py
303303
$(Q) $(CFG_PYTHON) $(S)src/etc/errorck.py $(S)src/
304-
$(Q) $(CFG_PYTHON) $(S)src/etc/featureck.py $(S)src/
305304

306305

307306
endif

branches/try/src/compiletest/common.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use std::fmt;
1313
use std::str::FromStr;
1414

1515
#[cfg(stage0)] // NOTE: remove impl after snapshot
16-
#[derive(Clone, Copy, PartialEq, Show)]
16+
#[derive(Clone, PartialEq, Show)]
1717
pub enum Mode {
1818
CompileFail,
1919
RunFail,
@@ -26,7 +26,7 @@ pub enum Mode {
2626
}
2727

2828
#[cfg(not(stage0))] // NOTE: remove cfg after snapshot
29-
#[derive(Clone, Copy, PartialEq, Debug)]
29+
#[derive(Clone, PartialEq, Debug)]
3030
pub enum Mode {
3131
CompileFail,
3232
RunFail,
@@ -38,6 +38,9 @@ pub enum Mode {
3838
Codegen
3939
}
4040

41+
42+
impl Copy for Mode {}
43+
4144
impl FromStr for Mode {
4245
fn from_str(s: &str) -> Option<Mode> {
4346
match s {

branches/try/src/compiletest/compiletest.rs

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,7 @@
1313
#![feature(slicing_syntax, unboxed_closures)]
1414
#![feature(box_syntax)]
1515
#![feature(int_uint)]
16-
#![feature(test)]
17-
#![feature(rustc_private)]
18-
#![feature(std_misc)]
19-
#![feature(path)]
20-
#![feature(io)]
21-
#![feature(core)]
22-
#![feature(collections)]
23-
#![feature(os)]
24-
#![feature(unicode)]
16+
#![allow(unstable)]
2517

2618
#![deny(warnings)]
2719

@@ -369,8 +361,8 @@ pub fn make_metrics_test_closure(config: &Config, testfile: &Path) -> test::Test
369361
fn extract_gdb_version(full_version_line: Option<String>) -> Option<String> {
370362
match full_version_line {
371363
Some(ref full_version_line)
372-
if full_version_line.as_slice().trim().len() > 0 => {
373-
let full_version_line = full_version_line.as_slice().trim();
364+
if full_version_line.trim().len() > 0 => {
365+
let full_version_line = full_version_line.trim();
374366

375367
// used to be a regex "(^|[^0-9])([0-9]\.[0-9])([^0-9]|$)"
376368
for (pos, c) in full_version_line.char_indices() {
@@ -409,8 +401,8 @@ fn extract_lldb_version(full_version_line: Option<String>) -> Option<String> {
409401

410402
match full_version_line {
411403
Some(ref full_version_line)
412-
if full_version_line.as_slice().trim().len() > 0 => {
413-
let full_version_line = full_version_line.as_slice().trim();
404+
if full_version_line.trim().len() > 0 => {
405+
let full_version_line = full_version_line.trim();
414406

415407
for (pos, l) in full_version_line.char_indices() {
416408
if l != 'l' && l != 'L' { continue }

branches/try/src/compiletest/header.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ pub fn is_test_ignored(config: &Config, testfile: &Path) -> bool {
149149
}
150150
fn ignore_stage(config: &Config) -> String {
151151
format!("ignore-{}",
152-
config.stage_id.as_slice().split('-').next().unwrap())
152+
config.stage_id.split('-').next().unwrap())
153153
}
154154
fn ignore_gdb(config: &Config, line: &str) -> bool {
155155
if config.mode != common::DebugInfoGdb {
@@ -231,11 +231,11 @@ fn iter_header<F>(testfile: &Path, mut it: F) -> bool where
231231
// module or function. This doesn't seem to be an optimization
232232
// with a warm page cache. Maybe with a cold one.
233233
let ln = ln.unwrap();
234-
if ln.as_slice().starts_with("fn") ||
235-
ln.as_slice().starts_with("mod") {
234+
if ln.starts_with("fn") ||
235+
ln.starts_with("mod") {
236236
return true;
237237
} else {
238-
if !(it(ln.as_slice().trim())) {
238+
if !(it(ln.trim())) {
239239
return false;
240240
}
241241
}

branches/try/src/compiletest/runtest.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -777,7 +777,7 @@ fn parse_debugger_commands(file_path: &Path, debugger_prefix: &str)
777777
for line in reader.lines() {
778778
match line {
779779
Ok(line) => {
780-
if line.as_slice().contains("#break") {
780+
if line.contains("#break") {
781781
breakpoint_lines.push(counter);
782782
}
783783

@@ -843,7 +843,7 @@ fn check_debugger_output(debugger_run_result: &ProcRes, check_lines: &[String])
843843
// check if each line in props.check_lines appears in the
844844
// output (in order)
845845
let mut i = 0u;
846-
for line in debugger_run_result.stdout.as_slice().lines() {
846+
for line in debugger_run_result.stdout.lines() {
847847
let mut rest = line.trim();
848848
let mut first = true;
849849
let mut failed = false;
@@ -895,7 +895,7 @@ fn check_error_patterns(props: &TestProps,
895895
let mut next_err_idx = 0u;
896896
let mut next_err_pat = &props.error_patterns[next_err_idx];
897897
let mut done = false;
898-
for line in output_to_check.as_slice().lines() {
898+
for line in output_to_check.lines() {
899899
if line.contains(next_err_pat.as_slice()) {
900900
debug!("found error pattern {}", next_err_pat);
901901
next_err_idx += 1u;
@@ -924,7 +924,7 @@ fn check_error_patterns(props: &TestProps,
924924
}
925925

926926
fn check_no_compiler_crash(proc_res: &ProcRes) {
927-
for line in proc_res.stderr.as_slice().lines() {
927+
for line in proc_res.stderr.lines() {
928928
if line.starts_with("error: internal compiler error:") {
929929
fatal_proc_rec("compiler encountered internal error",
930930
proc_res);
@@ -983,7 +983,7 @@ fn check_expected_errors(expected_errors: Vec<errors::ExpectedError> ,
983983
// filename:line1:col1: line2:col2: *warning:* msg
984984
// where line1:col1: is the starting point, line2:col2:
985985
// is the ending point, and * represents ANSI color codes.
986-
for line in proc_res.stderr.as_slice().lines() {
986+
for line in proc_res.stderr.lines() {
987987
let mut was_expected = false;
988988
for (i, ee) in expected_errors.iter().enumerate() {
989989
if !found_flags[i] {
@@ -1536,7 +1536,7 @@ fn _arm_exec_compiled_test(config: &Config,
15361536
.expect(format!("failed to exec `{}`", config.adb_path).as_slice());
15371537

15381538
let mut exitcode: int = 0;
1539-
for c in exitcode_out.as_slice().chars() {
1539+
for c in exitcode_out.chars() {
15401540
if !c.is_numeric() { break; }
15411541
exitcode = exitcode * 10 + match c {
15421542
'0' ... '9' => c as int - ('0' as int),

branches/try/src/doc/reference.md

Lines changed: 74 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1680,8 +1680,8 @@ specific type.
16801680
Implementations are defined with the keyword `impl`.
16811681

16821682
```
1683-
# #[derive(Copy)]
16841683
# struct Point {x: f64, y: f64};
1684+
# impl Copy for Point {}
16851685
# type Surface = i32;
16861686
# struct BoundingBox {x: f64, y: f64, width: f64, height: f64};
16871687
# trait Shape { fn draw(&self, Surface); fn bounding_box(&self) -> BoundingBox; }
@@ -2219,7 +2219,7 @@ For any lint check `C`:
22192219

22202220
The lint checks supported by the compiler can be found via `rustc -W help`,
22212221
along with their default settings. [Compiler
2222-
plugins](book/plugins.html#lint-plugins) can provide additional lint checks.
2222+
plugins](book/plugin.html#lint-plugins) can provide additional lint checks.
22232223

22242224
```{.ignore}
22252225
mod m1 {
@@ -2359,6 +2359,77 @@ Supported traits for `derive` are:
23592359
* `Show`, to format a value using the `{}` formatter.
23602360
* `Zero`, to create a zero instance of a numeric data type.
23612361

2362+
### Stability
2363+
2364+
One can indicate the stability of an API using the following attributes:
2365+
2366+
* `deprecated`: This item should no longer be used, e.g. it has been
2367+
replaced. No guarantee of backwards-compatibility.
2368+
* `experimental`: This item was only recently introduced or is
2369+
otherwise in a state of flux. It may change significantly, or even
2370+
be removed. No guarantee of backwards-compatibility.
2371+
* `unstable`: This item is still under development, but requires more
2372+
testing to be considered stable. No guarantee of backwards-compatibility.
2373+
* `stable`: This item is considered stable, and will not change
2374+
significantly. Guarantee of backwards-compatibility.
2375+
* `frozen`: This item is very stable, and is unlikely to
2376+
change. Guarantee of backwards-compatibility.
2377+
* `locked`: This item will never change unless a serious bug is
2378+
found. Guarantee of backwards-compatibility.
2379+
2380+
These levels are directly inspired by
2381+
[Node.js' "stability index"](http://nodejs.org/api/documentation.html).
2382+
2383+
Stability levels are inherited, so an item's stability attribute is the default
2384+
stability for everything nested underneath it.
2385+
2386+
There are lints for disallowing items marked with certain levels: `deprecated`,
2387+
`experimental` and `unstable`. For now, only `deprecated` warns by default, but
2388+
this will change once the standard library has been stabilized. Stability
2389+
levels are meant to be promises at the crate level, so these lints only apply
2390+
when referencing items from an _external_ crate, not to items defined within
2391+
the current crate. Items with no stability level are considered to be unstable
2392+
for the purposes of the lint. One can give an optional string that will be
2393+
displayed when the lint flags the use of an item.
2394+
2395+
For example, if we define one crate called `stability_levels`:
2396+
2397+
```{.ignore}
2398+
#[deprecated="replaced by `best`"]
2399+
pub fn bad() {
2400+
// delete everything
2401+
}
2402+
2403+
pub fn better() {
2404+
// delete fewer things
2405+
}
2406+
2407+
#[stable]
2408+
pub fn best() {
2409+
// delete nothing
2410+
}
2411+
```
2412+
2413+
then the lints will work as follows for a client crate:
2414+
2415+
```{.ignore}
2416+
#![warn(unstable)]
2417+
extern crate stability_levels;
2418+
use stability_levels::{bad, better, best};
2419+
2420+
fn main() {
2421+
bad(); // "warning: use of deprecated item: replaced by `best`"
2422+
2423+
better(); // "warning: use of unmarked item"
2424+
2425+
best(); // no warning
2426+
}
2427+
```
2428+
2429+
> **Note:** Currently these are only checked when applied to individual
2430+
> functions, structs, methods and enum variants, *not* to entire modules,
2431+
> traits, impls or enums themselves.
2432+
23622433
### Compiler Features
23632434

23642435
Certain aspects of Rust may be implemented in the compiler, but they're not
@@ -4163,4 +4234,4 @@ that have since been removed):
41634234
pattern syntax
41644235

41654236
[ffi]: book/ffi.html
4166-
[plugin]: book/plugins.html
4237+
[plugin]: book/plugin.html

branches/try/src/doc/trpl/more-strings.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,5 +279,5 @@ Many more bytes than graphemes!
279279

280280
# Other Documentation
281281

282-
* [the `&str` API documentation](../std/str/index.html)
283-
* [the `String` API documentation](../std/string/index.html)
282+
* [the `&str` API documentation](std/str/index.html)
283+
* [the `String` API documentation](std/string/index.html)

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -533,7 +533,6 @@ fn substr<'a>(s: &'a str, until: u32) -> &'a str; // expanded
533533
fn get_str() -> &str; // ILLEGAL, no inputs
534534
535535
fn frob(s: &str, t: &str) -> &str; // ILLEGAL, two inputs
536-
fn frob<'a, 'b>(s: &'a str, t: &'b str) -> &str; // Expanded: Output lifetime is unclear
537536
538537
fn get_mut(&mut self) -> &mut T; // elided
539538
fn get_mut<'a>(&'a mut self) -> &'a mut T; // expanded

branches/try/src/driver/driver.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
#![allow(unknown_features)]
12-
#![cfg_attr(rustc, feature(rustc_private))]
13-
#![cfg_attr(rustdoc, feature(rustdoc))]
11+
#![allow(unstable)]
1412

1513
#[cfg(rustdoc)]
1614
extern crate "rustdoc" as this;

branches/try/src/etc/check-summary.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
if __name__ == '__main__':
1717
summaries = []
18-
1918
def summarise(fname):
2019
summary = {}
2120
with open(fname) as fd:
@@ -28,14 +27,12 @@ def summarise(fname):
2827
# track bench runs
2928
if splitline[1] == 'ns/iter':
3029
status = 'bench'
31-
if status not in summary:
30+
if not summary.has_key(status):
3231
summary[status] = []
3332
summary[status].append(test)
3433
summaries.append((fname, summary))
35-
3634
def count(t):
3735
return sum(map(lambda (f, s): len(s.get(t, [])), summaries))
38-
3936
logfiles = sys.argv[1:]
4037
for files in map(glob.glob, logfiles):
4138
map(summarise, files)
@@ -44,9 +41,8 @@ def count(t):
4441
ignored = count('ignored')
4542
measured = count('bench')
4643
print "summary of %d test runs: %d passed; %d failed; %d ignored; %d measured" % \
47-
(len(logfiles), ok, failed, ignored, measured)
44+
(len(logfiles), ok, failed, ignored, measured)
4845
print ""
49-
5046
if failed > 0:
5147
print "failed tests:"
5248
for f, s in summaries:

branches/try/src/etc/errorck.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@
1111
# Digs error codes out of files named 'diagnostics.rs' across
1212
# the tree, and ensures thare are no duplicates.
1313

14-
import sys
15-
import os
16-
import re
14+
import sys, os, re
1715

1816
src_dir = sys.argv[1]
1917
errcode_map = {}

0 commit comments

Comments
 (0)