Skip to content

Commit fe4b00b

Browse files
committed
---
yaml --- r: 139355 b: refs/heads/try2 c: 969e8b7 h: refs/heads/master i: 139353: 384dd92 139351: f5c792e v: v3
1 parent 380a467 commit fe4b00b

File tree

386 files changed

+4105
-4468
lines changed

Some content is hidden

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

386 files changed

+4105
-4468
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: 30b1957cd447f91d206513d909f564d270410e82
8+
refs/heads/try2: 969e8b76a184ce3083c7854a986baf3f279b5c81
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/AUTHORS.txt

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ Aydin Kim <[email protected]>
2121
2222
Ben Alpert <[email protected]>
2323
24-
Ben Kelly <[email protected]>
2524
Ben Striegel <[email protected]>
2625
Benjamin Herr <[email protected]>
2726
Benjamin Jackman <[email protected]>
@@ -45,12 +44,9 @@ Daniel Brooks <[email protected]>
4544
Daniel Luz <[email protected]>
4645
Daniel Micay <[email protected]>
4746
Daniel Patterson <[email protected]>
48-
Daniel Ursache Dogariu <[email protected]>
4947
Dave Herman <[email protected]>
5048
David Forsythe <[email protected]>
51-
David Klein <[email protected]>
5249
David Rajchenbach-Teller <[email protected]>
53-
Dimitri Krassovski <[email protected]>
5450
Donovan Preston <[email protected]>
5551
Drew Willcoxon <[email protected]>
5652
Elliott Slaughter <[email protected]>
@@ -70,7 +66,6 @@ Gonçalo Cabrita <[email protected]>
7066
Graham Fawcett <[email protected]>
7167
Grahame Bowland <[email protected]>
7268
Haitao Li <[email protected]>
73-
7469
Huon Wilson <[email protected]>
7570
Ian D. Bollinger <[email protected]>
7671
Ilyong Cho <[email protected]>
@@ -85,14 +80,11 @@ Jeff Balogh <[email protected]>
8580
Jeff Muizelaar <[email protected]>
8681
Jeff Olson <[email protected]>
8782
Jeffrey Yasskin <[email protected]>
88-
Jeong YunWon <[email protected]>
8983
Jens Nockert <[email protected]>
9084
Jesse Jones <[email protected]>
9185
Jesse Ruderman <[email protected]>
92-
Jihyun Yu <[email protected]>
9386
Jim Blandy <[email protected]>
9487
95-
J. J. Weber <[email protected]>
9688
Joe Pletcher <[email protected]>
9789
John Clements <[email protected]>
9890
Jon Morton <[email protected]>
@@ -107,7 +99,6 @@ Kevin Atkinson <[email protected]>
10799
Kevin Cantu <[email protected]>
108100
Kyeongwoon Lee <[email protected]>
109101
Laurent Bonnans <[email protected]>
110-
Lawrence Velázquez <[email protected]>
111102
Lennart Kudling <[email protected]>
112103
Lindsey Kuper <[email protected]>
113104
Luca Bruno <[email protected]>
@@ -121,9 +112,7 @@ Mark Vian <[email protected]>
121112
Martin DeMello <[email protected]>
122113
Marvin Löbel <[email protected]>
123114
Matt Brubeck <[email protected]>
124-
Matthew McPherrin <[email protected]>
125115
Matthew O'Connor <[email protected]>
126-
Matthijs Hofstra <[email protected]>
127116
Max Penet <[email protected]>
128117
Michael Arntzenius <[email protected]>
129118
Michael Bebenita <[email protected]>
@@ -132,7 +121,6 @@ Michael Sullivan <[email protected]>
132121
Mikko Perttunen <[email protected]>
133122
Nick Desaulniers <[email protected]>
134123
Niko Matsakis <[email protected]>
135-
Olivier Saut <[email protected]>
136124
Or Brostovski <[email protected]>
137125
Orphée Lafond-Lummis <[email protected]>
138126
Patrick Walton <[email protected]>
@@ -152,17 +140,14 @@ Roy Frostig <[email protected]>
152140
Ryan Scheel <[email protected]>
153141
Sean Stangl <[email protected]>
154142
Sebastian N. Fernandez <[email protected]>
155-
Seth Pink <[email protected]>
156143
Seo Sanghyeon <[email protected]>
157-
158144
Simon Barber-Dueck <[email protected]>
159145
Simon Sapin <[email protected]>
160146
startling <[email protected]>
161147
Stefan Plantikow <[email protected]>
162148
Steve Klabnik <[email protected]>
163149
Taras Shpot <[email protected]>
164150
Ted Horst <[email protected]>
165-
Thad Guidry <[email protected]>
166151
Tim Chevalier <[email protected]>
167152
Tim Taubert <[email protected]>
168153
@@ -176,6 +161,5 @@ Vincent Belliard <[email protected]>
176161
Wade Mealing <[email protected]>
177162
William Ting <[email protected]>
178163
Yasuhiro Fujii <[email protected]>
179-
Young-il Choi <[email protected]>
180164
Youngsoo Son <[email protected]>
181165
Zack Corr <[email protected]>

branches/try2/RELEASES.txt

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,28 @@
11
Version 0.6 (March 2013)
22
---------------------------
33

4-
* ~2100 changes, numerous bugfixes
4+
* ~2000 changes, numerous bugfixes
5+
6+
* TODO:
7+
* Ord/Cmp
8+
* Lifetime changes
9+
* Remove `static` keyword
10+
* Static method syntax
11+
* `as Trait`
12+
* `copy` removed, replaced with `Clone`?
13+
* More details for "Name resolution continues to be tweaked"?
514

615
* Syntax changes
716
* The self type parameter in traits is now spelled `Self`
817
* The `self` parameter in trait and impl methods must now be explicitly
918
named (for example: `fn f(&self) { }`). Implicit self is deprecated.
10-
* Static methods no longer require the `static` keyword and instead
11-
are distinguished by the lack of a `self` parameter
1219
* Replaced the `Durable` trait with the `'static` lifetime
1320
* The old closure type syntax with the trailing sigil has been
1421
removed in favor of the more consistent leading sigil
1522
* `super` is a keyword, and may be prefixed to paths
1623
* Trait bounds are separated with `+` instead of whitespace
1724
* Traits are implemented with `impl Trait for Type`
1825
instead of `impl Type: Trait`
19-
* Lifetime syntax is now `&'l foo` instead of `&l/foo`
2026
* The `export` keyword has finally been removed
2127
* The `move` keyword has been removed (see "Semantic changes")
2228
* The interior mutability qualifier on vectors, `[mut T]`, has been
@@ -35,11 +41,9 @@ Version 0.6 (March 2013)
3541
* Pattern matching over vectors improved and expanded
3642
* `const` renamed to `static` to correspond to lifetime name,
3743
and make room for future `static mut` unsafe mutable globals.
38-
* Replaced `#[deriving_eq]` with `#[deriving(Eq)]`, etc.
44+
* Replaced `#[deriving_eq]` with `#[deriving(Eq)]`
3945
* `Clone` implementations can be automatically generated with
4046
`#[deriving(Clone)]`
41-
* Casts to traits must use a pointer sigil, e.g. `@foo as @Bar`
42-
instead of `foo as Bar`.
4347

4448
* Semantic changes
4549
* Types with owned pointers or custom destructors move by default,
@@ -50,18 +54,16 @@ Version 0.6 (March 2013)
5054
* () has size 0
5155
* The name of the main function can be customized using #[main]
5256
* The default type of an inferred closure is &fn instead of @fn
53-
* `use` statements may no longer be "chained" - they cannot import
54-
identifiers imported by previous `use` statements
55-
* `use` statements are crate relative, importing from the "top"
56-
of the crate by default. Paths may be prefixed with `super::`
57-
or `self::` to change the search behavior.
57+
* Name resolution continues to be tweaked
5858
* Method visibility is inherited from the implementation declaration
5959
* Structural records have been removed
6060
* Many more types can be used in static items, including enums
6161
'static-lifetime pointers and vectors
6262
* Pattern matching over vectors improved and expanded
6363
* Typechecking of closure types has been overhauled to
6464
improve inference and eliminate unsoundness
65+
* Macros leave scope at the end of modules, unless that module is
66+
tagged with #[macro_escape]
6567

6668
* Libraries
6769
* Added big integers to `std::bigint`
@@ -78,15 +80,14 @@ Version 0.6 (March 2013)
7880
* `std::deque` and `std::smallintmap` reimplemented as owned containers
7981
* `core::trie` added as a fast ordered map for integer keys
8082
* Set types added to `core::hashmap`, `core::trie` and `std::treemap`
81-
* `Ord` split into `Ord` and `TotalOrd`. `Ord` is still used to
82-
overload the comparison operators, whereas `TotalOrd` is used
83-
by certain container types
8483

85-
* Other
84+
* Tools
8685
* Replaced the 'cargo' package manager with 'rustpkg'
8786
* Added all-purpose 'rust' tool
8887
* `rustc --test` now supports benchmarks with the `#[bench]` attribute
89-
* rustc now *attempts* to offer spelling suggestions
88+
* rustc now attempts to offer spelling suggestions
89+
90+
* Misc
9091
* Improved support for ARM and Android
9192
* Preliminary MIPS backend
9293
* Improved foreign function ABI implementation for x86, x86_64

branches/try2/doc/rust.css

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,4 @@ td {
101101
#TOC ul {
102102
list-style: none;
103103
padding-left: 0px;
104-
}
105-
106-
/* Adjust list alignment so rustdoc indexes don't align with blockquotes */
107-
div.index ul {
108-
padding-left: 1em;
109104
}

branches/try2/doc/rust.md

Lines changed: 8 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -441,11 +441,11 @@ expression context, the final namespace qualifier is omitted.
441441
Two examples of paths with type arguments:
442442

443443
~~~~
444-
# use core::hashmap::linear::LinearMap;
444+
# use std::oldmap;
445445
# fn f() {
446446
# fn id<T:Copy>(t: T) -> T { t }
447-
type t = LinearMap<int,~str>; // Type arguments used in a type expression
448-
let x = id::<int>(10); // Type arguments used in a call expression
447+
type t = oldmap::HashMap<int,~str>; // Type arguments used in a type expression
448+
let x = id::<int>(10); // Type arguments used in a call expression
449449
# }
450450
~~~~
451451

@@ -830,12 +830,12 @@ An example of re-exporting:
830830
~~~~
831831
# fn main() { }
832832
mod quux {
833-
pub use quux::foo::*;
834-
835833
pub mod foo {
836834
pub fn bar() { }
837835
pub fn baz() { }
838836
}
837+
838+
pub use quux::foo::*;
839839
}
840840
~~~~
841841

@@ -1116,7 +1116,7 @@ static bit2: uint = 1 << 1;
11161116
static bits: [uint, ..2] = [bit1, bit2];
11171117
static string: &'static str = "bitstring";
11181118
1119-
struct BitsNStrings<'self> {
1119+
struct BitsNStrings {
11201120
mybits: [uint, ..2],
11211121
mystring: &'self str
11221122
}
@@ -1671,10 +1671,6 @@ vec_elems : [expr [',' expr]*] | [expr ',' ".." expr]
16711671
A [_vector_](#vector-types) _expression_ is written by enclosing zero or
16721672
more comma-separated expressions of uniform type in square brackets.
16731673

1674-
In the `[expr ',' ".." expr]` form, the expression after the `".."`
1675-
must be a constant expression that can be evaluated at compile time, such
1676-
as a [literal](#literals) or a [static item](#static-items).
1677-
16781674
~~~~
16791675
[1, 2, 3, 4];
16801676
["a", "b", "c", "d"];
@@ -2008,8 +2004,8 @@ then the expression completes.
20082004
Some examples of call expressions:
20092005

20102006
~~~~
2011-
# use core::from_str::FromStr::from_str;
20122007
# fn add(x: int, y: int) -> int { 0 }
2008+
# use core::from_str::FromStr::from_str;
20132009
20142010
let x: int = add(1, 2);
20152011
let pi = from_str::<f32>("3.14");
@@ -2160,19 +2156,6 @@ do f |j| {
21602156
}
21612157
~~~~
21622158

2163-
In this example, both calls to the (binary) function `k` are equivalent:
2164-
2165-
~~~~
2166-
# fn k(x:int, f: &fn(int)) { }
2167-
# fn l(i: int) { }
2168-
2169-
k(3, |j| l(j));
2170-
2171-
do k(3) |j| {
2172-
l(j);
2173-
}
2174-
~~~~
2175-
21762159

21772160
### For expressions
21782161

@@ -2201,7 +2184,7 @@ and early boolean-valued returns from the `block` function,
22012184
such that the meaning of `break` and `loop` is preserved in a primitive loop
22022185
when rewritten as a `for` loop controlled by a higher order function.
22032186

2204-
An example of a for loop over the contents of a vector:
2187+
An example a for loop:
22052188

22062189
~~~~
22072190
# type foo = int;
@@ -2215,14 +2198,6 @@ for v.each |e| {
22152198
}
22162199
~~~~
22172200

2218-
An example of a for loop over a series of integers:
2219-
2220-
~~~~
2221-
# fn bar(b:uint) { }
2222-
for uint::range(0, 256) |i| {
2223-
bar(i);
2224-
}
2225-
~~~~
22262201

22272202
### If expressions
22282203

@@ -2499,7 +2474,6 @@ fail_unless!(b != "world");
24992474

25002475
The vector type constructor represents a homogeneous array of values of a given type.
25012476
A vector has a fixed size.
2502-
(Operations like `vec::push` operate solely on owned vectors.)
25032477
A vector type can be annotated with a _definite_ size,
25042478
written with a trailing asterisk and integer literal, such as `[int * 10]`.
25052479
Such a definite-sized vector type is a first-class type, since its size is known statically.
@@ -2510,10 +2484,6 @@ such as `&[T]`, `@[T]` or `~[T]`.
25102484
The kind of a vector type depends on the kind of its element type,
25112485
as with other simple structural types.
25122486

2513-
Expressions producing vectors of definite size cannot be evaluated in a
2514-
context expecting a vector of indefinite size; one must copy the
2515-
definite-sized vector contents into a distinct vector of indefinite size.
2516-
25172487
An example of a vector type and its use:
25182488

25192489
~~~~

branches/try2/doc/tutorial-borrowed-ptr.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,7 @@ For example, we could write a subroutine like this:
485485

486486
~~~
487487
struct Point {x: float, y: float}
488-
fn get_x<'r>(p: &'r Point) -> &'r float { &p.x }
488+
fn get_x(p: &'r Point) -> &'r float { &p.x }
489489
~~~
490490

491491
Here, the function `get_x()` returns a pointer into the structure it
@@ -571,8 +571,8 @@ function:
571571
# Rectangle(Point, Size) // upper-left, dimensions
572572
# }
573573
# fn compute_area(shape: &Shape) -> float { 0f }
574-
fn select<'r, T>(shape: &'r Shape, threshold: float,
575-
a: &'r T, b: &'r T) -> &'r T {
574+
fn select<T>(shape: &'r Shape, threshold: float,
575+
a: &'r T, b: &'r T) -> &'r T {
576576
if compute_area(shape) > threshold {a} else {b}
577577
}
578578
~~~
@@ -591,12 +591,12 @@ example:
591591
# Rectangle(Point, Size) // upper-left, dimensions
592592
# }
593593
# fn compute_area(shape: &Shape) -> float { 0f }
594-
# fn select<'r, T>(shape: &Shape, threshold: float,
595-
# a: &'r T, b: &'r T) -> &'r T {
594+
# fn select<T>(shape: &Shape, threshold: float,
595+
# a: &'r T, b: &'r T) -> &'r T {
596596
# if compute_area(shape) > threshold {a} else {b}
597597
# }
598598
// -+ r
599-
fn select_based_on_unit_circle<'r, T>( // |-+ B
599+
fn select_based_on_unit_circle<T>( // |-+ B
600600
threshold: float, a: &'r T, b: &'r T) -> &'r T { // | |
601601
// | |
602602
let shape = Circle(Point {x: 0., y: 0.}, 1.); // | |
@@ -628,8 +628,8 @@ returned. Here is how the new `select()` might look:
628628
# Rectangle(Point, Size) // upper-left, dimensions
629629
# }
630630
# fn compute_area(shape: &Shape) -> float { 0f }
631-
fn select<'r, 'tmp, T>(shape: &'tmp Shape, threshold: float,
632-
a: &'r T, b: &'r T) -> &'r T {
631+
fn select<T>(shape: &'tmp Shape, threshold: float,
632+
a: &'r T, b: &'r T) -> &'r T {
633633
if compute_area(shape) > threshold {a} else {b}
634634
}
635635
~~~
@@ -647,8 +647,8 @@ concise to just omit the named lifetime for `shape` altogether:
647647
# Rectangle(Point, Size) // upper-left, dimensions
648648
# }
649649
# fn compute_area(shape: &Shape) -> float { 0f }
650-
fn select<'r, T>(shape: &Shape, threshold: float,
651-
a: &'r T, b: &'r T) -> &'r T {
650+
fn select<T>(shape: &Shape, threshold: float,
651+
a: &'r T, b: &'r T) -> &'r T {
652652
if compute_area(shape) > threshold {a} else {b}
653653
}
654654
~~~

0 commit comments

Comments
 (0)