Skip to content

Commit b2ff217

Browse files
committed
---
yaml --- r: 152747 b: refs/heads/try2 c: 94bace7 h: refs/heads/master i: 152745: d7d817a 152743: 6b9386f v: v3
1 parent 4c39f39 commit b2ff217

Some content is hidden

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

75 files changed

+464
-1221
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: 9a583bb9317eea9e3082a247dfd9149b864a88af
8+
refs/heads/try2: 94bace795d6653cb6643ab8cc0a9393fbc7e26b2
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/src/doc/guide-container.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The standard library provides three owned map/set types:
2626
implement `Eq` and `Hash`
2727
* `collections::TrieMap` and `collections::TrieSet`, requiring the keys to be `uint`
2828
* `collections::TreeMap` and `collections::TreeSet`, requiring the keys
29-
to implement `Ord`
29+
to implement `TotalOrd`
3030

3131
These maps do not use managed pointers so they can be sent between tasks as
3232
long as the key and value types are sendable. Neither the key or value type has

branches/try2/src/doc/rust.md

Lines changed: 10 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2270,7 +2270,7 @@ impl<T: PartialEq> PartialEq for Foo<T> {
22702270

22712271
Supported traits for `deriving` are:
22722272

2273-
* Comparison traits: `PartialEq`, `Eq`, `PartialOrd`, `Ord`.
2273+
* Comparison traits: `PartialEq`, `TotalEq`, `PartialOrd`, `TotalOrd`.
22742274
* Serialization: `Encodable`, `Decodable`. These require `serialize`.
22752275
* `Clone`, to create `T` from `&T` via a copy.
22762276
* `Hash`, to iterate over the bytes in a data type.
@@ -2301,43 +2301,28 @@ One can indicate the stability of an API using the following attributes:
23012301
These levels are directly inspired by
23022302
[Node.js' "stability index"](http://nodejs.org/api/documentation.html).
23032303

2304-
Stability levels are inherited, so an items's stability attribute is the
2305-
default stability for everything nested underneath it.
2306-
2307-
There are lints for disallowing items marked with certain levels: `deprecated`,
2308-
`experimental` and `unstable`. For now, only `deprecated` warns by default, but
2309-
this will change once the standard library has been stabilized.
2310-
Stability levels are meant to be promises at the crate
2311-
level, so these lints only apply when referencing
2312-
items from an _external_ crate, not to items defined within the
2313-
current crate. Items with no stability level are considered
2314-
to be unstable for the purposes of the lint. One can give an optional
2304+
There are lints for disallowing items marked with certain levels:
2305+
`deprecated`, `experimental` and `unstable`; the first two will warn
2306+
by default. Items with not marked with a stability are considered to
2307+
be unstable for the purposes of the lint. One can give an optional
23152308
string that will be displayed when the lint flags the use of an item.
23162309

2317-
For example, if we define one crate called `stability_levels`:
2318-
23192310
~~~~ {.ignore}
2311+
#![warn(unstable)]
2312+
23202313
#[deprecated="replaced by `best`"]
2321-
pub fn bad() {
2314+
fn bad() {
23222315
// delete everything
23232316
}
23242317
2325-
pub fn better() {
2318+
fn better() {
23262319
// delete fewer things
23272320
}
23282321
23292322
#[stable]
2330-
pub fn best() {
2323+
fn best() {
23312324
// delete nothing
23322325
}
2333-
~~~~
2334-
2335-
then the lints will work as follows for a client crate:
2336-
2337-
~~~~ {.ignore}
2338-
#![warn(unstable)]
2339-
extern crate stability_levels;
2340-
use stability_levels::{bad, better, best};
23412326
23422327
fn main() {
23432328
bad(); // "warning: use of deprecated item: replaced by `best`"

branches/try2/src/doc/tutorial.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2619,8 +2619,8 @@ fn main() {
26192619
}
26202620
~~~
26212621

2622-
The full list of derivable traits is `PartialEq`, `Eq`, `PartialOrd`,
2623-
`Ord`, `Encodable`, `Decodable`, `Clone`,
2622+
The full list of derivable traits is `PartialEq`, `TotalEq`, `Ord`,
2623+
`TotalOrd`, `Encodable`, `Decodable`, `Clone`,
26242624
`Hash`, `Rand`, `Default`, `Zero`, `FromPrimitive` and `Show`.
26252625

26262626
# Crates and the module system

branches/try2/src/etc/generate-deriving-span-tests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ def write_file(name, string):
119119
('Clone', [], 1),
120120
('PartialEq', [], 2),
121121
('PartialOrd', ['PartialEq'], 8),
122-
('Eq', ['PartialEq'], 1),
123-
('Ord', ['Eq', 'PartialOrd', 'PartialEq'], 1),
122+
('TotalEq', ['PartialEq'], 1),
123+
('TotalOrd', ['TotalEq', 'PartialOrd', 'PartialEq'], 1),
124124
('Show', [], 1),
125125
('Hash', [], 1)]:
126126
traits[trait] = (ALL, supers, errs)

branches/try2/src/etc/vim/syntax/rust.vim

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ syn keyword rustTrait Ascii AsciiCast OwnedAsciiCast AsciiStr IntoBytes
8282
syn keyword rustTrait ToCStr
8383
syn keyword rustTrait Char
8484
syn keyword rustTrait Clone
85-
syn keyword rustTrait Eq Ord PartialEq PartialOrd Ordering Equiv
85+
syn keyword rustTrait Eq Ord TotalEq TotalOrd Ordering Equiv
8686
syn keyword rustEnumVariant Less Equal Greater
8787
syn keyword rustTrait Container Mutable Map MutableMap Set MutableSet
8888
syn keyword rustTrait FromIterator Extendable
@@ -104,7 +104,7 @@ syn keyword rustTrait Tuple5 Tuple6 Tuple7 Tuple8
104104
syn keyword rustTrait Tuple9 Tuple10 Tuple11 Tuple12
105105
syn keyword rustTrait CloneableVector ImmutableCloneableVector MutableCloneableVector
106106
syn keyword rustTrait ImmutableVector MutableVector
107-
syn keyword rustTrait ImmutableEqVector ImmutableOrdVector MutableOrdVector
107+
syn keyword rustTrait ImmutableEqVector ImmutableTotalOrdVector MutableTotalOrdVector
108108
syn keyword rustTrait Vector VectorVector OwnedVector MutableVectorAllocating
109109
syn keyword rustTrait String
110110
syn keyword rustTrait Vec

branches/try2/src/libcollections/vec.rs

Lines changed: 0 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ impl<T> Vec<T> {
8585
/// # use std::vec::Vec;
8686
/// let vec: Vec<int> = Vec::with_capacity(10);
8787
/// ```
88-
#[inline]
8988
pub fn with_capacity(capacity: uint) -> Vec<T> {
9089
if mem::size_of::<T>() == 0 {
9190
Vec { len: 0, cap: uint::MAX, ptr: 0 as *mut T }
@@ -111,7 +110,6 @@ impl<T> Vec<T> {
111110
/// let vec = Vec::from_fn(3, |idx| idx * 2);
112111
/// assert_eq!(vec, vec!(0, 2, 4));
113112
/// ```
114-
#[inline]
115113
pub fn from_fn(length: uint, op: |uint| -> T) -> Vec<T> {
116114
unsafe {
117115
let mut xs = Vec::with_capacity(length);
@@ -195,7 +193,6 @@ impl<T: Clone> Vec<T> {
195193
/// let slice = [1, 2, 3];
196194
/// let vec = Vec::from_slice(slice);
197195
/// ```
198-
#[inline]
199196
pub fn from_slice(values: &[T]) -> Vec<T> {
200197
values.iter().map(|x| x.clone()).collect()
201198
}
@@ -210,7 +207,6 @@ impl<T: Clone> Vec<T> {
210207
/// let vec = Vec::from_elem(3, "hi");
211208
/// println!("{}", vec); // prints [hi, hi, hi]
212209
/// ```
213-
#[inline]
214210
pub fn from_elem(length: uint, value: T) -> Vec<T> {
215211
unsafe {
216212
let mut xs = Vec::with_capacity(length);
@@ -357,7 +353,6 @@ impl<T:Clone> Clone for Vec<T> {
357353
}
358354

359355
impl<T> FromIterator<T> for Vec<T> {
360-
#[inline]
361356
fn from_iter<I:Iterator<T>>(mut iterator: I) -> Vec<T> {
362357
let (lower, _) = iterator.size_hint();
363358
let mut vector = Vec::with_capacity(lower);
@@ -369,7 +364,6 @@ impl<T> FromIterator<T> for Vec<T> {
369364
}
370365

371366
impl<T> Extendable<T> for Vec<T> {
372-
#[inline]
373367
fn extend<I: Iterator<T>>(&mut self, mut iterator: I) {
374368
let (lower, _) = iterator.size_hint();
375369
self.reserve_additional(lower);
@@ -1035,7 +1029,6 @@ impl<T> Vec<T> {
10351029
/// vec.push_all_move(vec!(box 2, box 3, box 4));
10361030
/// assert_eq!(vec, vec!(box 1, box 2, box 3, box 4));
10371031
/// ```
1038-
#[inline]
10391032
pub fn push_all_move(&mut self, other: Vec<T>) {
10401033
self.extend(other.move_iter());
10411034
}
@@ -1313,7 +1306,6 @@ impl<T:PartialEq> Vec<T> {
13131306
/// let vec = vec!(1, 2, 3);
13141307
/// assert!(vec.contains(&1));
13151308
/// ```
1316-
#[inline]
13171309
pub fn contains(&self, x: &T) -> bool {
13181310
self.as_slice().contains(x)
13191311
}
@@ -1552,11 +1544,8 @@ pub mod raw {
15521544

15531545
#[cfg(test)]
15541546
mod tests {
1555-
extern crate test;
1556-
15571547
use std::prelude::*;
15581548
use std::mem::size_of;
1559-
use test::Bencher;
15601549
use super::{unzip, raw, Vec};
15611550

15621551
#[test]
@@ -1847,111 +1836,4 @@ mod tests {
18471836
let mut v = vec![BadElem(1), BadElem(2), BadElem(0xbadbeef), BadElem(4)];
18481837
v.truncate(0);
18491838
}
1850-
1851-
#[bench]
1852-
fn bench_new(b: &mut Bencher) {
1853-
b.iter(|| {
1854-
let v: Vec<int> = Vec::new();
1855-
assert_eq!(v.capacity(), 0);
1856-
assert!(v.as_slice() == []);
1857-
})
1858-
}
1859-
1860-
#[bench]
1861-
fn bench_with_capacity_0(b: &mut Bencher) {
1862-
b.iter(|| {
1863-
let v: Vec<int> = Vec::with_capacity(0);
1864-
assert_eq!(v.capacity(), 0);
1865-
assert!(v.as_slice() == []);
1866-
})
1867-
}
1868-
1869-
1870-
#[bench]
1871-
fn bench_with_capacity_5(b: &mut Bencher) {
1872-
b.iter(|| {
1873-
let v: Vec<int> = Vec::with_capacity(5);
1874-
assert_eq!(v.capacity(), 5);
1875-
assert!(v.as_slice() == []);
1876-
})
1877-
}
1878-
1879-
#[bench]
1880-
fn bench_with_capacity_100(b: &mut Bencher) {
1881-
b.iter(|| {
1882-
let v: Vec<int> = Vec::with_capacity(100);
1883-
assert_eq!(v.capacity(), 100);
1884-
assert!(v.as_slice() == []);
1885-
})
1886-
}
1887-
1888-
#[bench]
1889-
fn bench_from_fn_0(b: &mut Bencher) {
1890-
b.iter(|| {
1891-
let v: Vec<int> = Vec::from_fn(0, |_| 5);
1892-
assert!(v.as_slice() == []);
1893-
})
1894-
}
1895-
1896-
#[bench]
1897-
fn bench_from_fn_5(b: &mut Bencher) {
1898-
b.iter(|| {
1899-
let v: Vec<int> = Vec::from_fn(5, |_| 5);
1900-
assert!(v.as_slice() == [5, 5, 5, 5, 5]);
1901-
})
1902-
}
1903-
1904-
#[bench]
1905-
fn bench_from_slice_0(b: &mut Bencher) {
1906-
b.iter(|| {
1907-
let v: Vec<int> = Vec::from_slice([]);
1908-
assert!(v.as_slice() == []);
1909-
})
1910-
}
1911-
1912-
#[bench]
1913-
fn bench_from_slice_5(b: &mut Bencher) {
1914-
b.iter(|| {
1915-
let v: Vec<int> = Vec::from_slice([1, 2, 3, 4, 5]);
1916-
assert!(v.as_slice() == [1, 2, 3, 4, 5]);
1917-
})
1918-
}
1919-
1920-
#[bench]
1921-
fn bench_from_iter_0(b: &mut Bencher) {
1922-
b.iter(|| {
1923-
let v0: Vec<int> = vec!();
1924-
let v1: Vec<int> = FromIterator::from_iter(v0.move_iter());
1925-
assert!(v1.as_slice() == []);
1926-
})
1927-
}
1928-
1929-
#[bench]
1930-
fn bench_from_iter_5(b: &mut Bencher) {
1931-
b.iter(|| {
1932-
let v0: Vec<int> = vec!(1, 2, 3, 4, 5);
1933-
let v1: Vec<int> = FromIterator::from_iter(v0.move_iter());
1934-
assert!(v1.as_slice() == [1, 2, 3, 4, 5]);
1935-
})
1936-
}
1937-
1938-
#[bench]
1939-
fn bench_extend_0(b: &mut Bencher) {
1940-
b.iter(|| {
1941-
let v0: Vec<int> = vec!();
1942-
let mut v1: Vec<int> = vec!(1, 2, 3, 4, 5);
1943-
v1.extend(v0.move_iter());
1944-
assert!(v1.as_slice() == [1, 2, 3, 4, 5]);
1945-
})
1946-
}
1947-
1948-
#[bench]
1949-
fn bench_extend_5(b: &mut Bencher) {
1950-
b.iter(|| {
1951-
let v0: Vec<int> = vec!(1, 2, 3, 4, 5);
1952-
let mut v1: Vec<int> = vec!(1, 2, 3, 4, 5);
1953-
v1.extend(v0.move_iter());
1954-
assert!(v1.as_slice() == [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]);
1955-
})
1956-
}
19571839
}

branches/try2/src/librustc/driver/driver.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use metadata::common::LinkMeta;
2020
use metadata::creader;
2121
use middle::cfg;
2222
use middle::cfg::graphviz::LabelledCFG;
23-
use middle::{trans, freevars, stability, kind, ty, typeck, lint, reachable};
23+
use middle::{trans, freevars, kind, ty, typeck, lint, reachable};
2424
use middle::dependency_format;
2525
use middle;
2626
use plugin::load::Plugins;
@@ -312,11 +312,8 @@ pub fn phase_3_run_analysis_passes(sess: Session,
312312
time(time_passes, "loop checking", (), |_|
313313
middle::check_loop::check_crate(&sess, krate));
314314

315-
let stability_index = time(time_passes, "stability index", (), |_|
316-
stability::Index::build(krate));
317-
318315
let ty_cx = ty::mk_ctxt(sess, def_map, named_region_map, ast_map,
319-
freevars, region_map, lang_items, stability_index);
316+
freevars, region_map, lang_items);
320317

321318
// passes are timed inside typeck
322319
typeck::check_crate(&ty_cx, trait_map, krate);

branches/try2/src/librustc/front/feature_gate.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
//! enabled.
1717
//!
1818
//! Features are enabled in programs via the crate-level attributes of
19-
//! `#![feature(...)]` with a comma-separated list of features.
19+
//! #![feature(...)] with a comma-separated list of features.
2020
2121
use middle::lint;
2222

branches/try2/src/librustc/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ pub mod middle {
8181
pub mod weak_lang_items;
8282
pub mod save;
8383
pub mod intrinsicck;
84-
pub mod stability;
8584
}
8685

8786
pub mod front {

branches/try2/src/librustc/metadata/common.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,9 +210,6 @@ pub static tag_method_argument_name: uint = 0x8f;
210210
pub static tag_reachable_extern_fns: uint = 0x90;
211211
pub static tag_reachable_extern_fn_id: uint = 0x91;
212212

213-
pub static tag_items_data_item_stability: uint = 0x92;
214-
215-
216213
#[deriving(Clone, Show)]
217214
pub struct LinkMeta {
218215
pub crateid: CrateId,

0 commit comments

Comments
 (0)