Skip to content

Commit e9062e1

Browse files
committed
---
yaml --- r: 196337 b: refs/heads/tmp c: 3e8a773 h: refs/heads/master i: 196335: e61e6e1 v: v3
1 parent 584c841 commit e9062e1

File tree

366 files changed

+4897
-2877
lines changed

Some content is hidden

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

366 files changed

+4897
-2877
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ refs/heads/building: 126db549b038c84269a1e4fe46f051b2c15d6970
3232
refs/heads/beta: 9854143cba679834bc4ef932858cd5303f015a0e
3333
refs/heads/windistfix: 7608dbad651f02e837ed05eef3d74a6662a6e928
3434
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
35-
refs/heads/tmp: 00d929dcb33d0d4f734d85f7ad32716022de53cd
35+
refs/heads/tmp: 3e8a773bc51cc276fa53a07980566e816234a6bd
3636
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f
3737
refs/tags/homu-tmp: 53a183f0274316596bf9405944d4f0468d8c93e4
3838
refs/heads/gate: 97c84447b65164731087ea82685580cc81424412

branches/tmp/RELEASES.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,102 @@
1+
Version 1.0.0-beta (April 2015)
2+
-------------------------------------
3+
4+
* ~1100 changes, numerous bugfixes
5+
6+
* Highlights
7+
8+
* The big news is that the vast majority of the standard library
9+
is now `#[stable]` -- 75% of the non-deprecated API surface at
10+
last count. Numerous crates are now running on stable
11+
Rust. Starting with this release, it is not possible to use
12+
unstable features on a stable build.
13+
* Arithmetic on basic integer types now
14+
[checks for overflow in debug builds][overflow].
15+
16+
* Language
17+
18+
* [`Send` no longer implies `'static`][send-rfc], which made
19+
possible the [`thread::scoped` API][scoped]. Scoped threads can
20+
borrow data from their parent's stack frame -- safely!
21+
* [UFCS now supports trait-less associated paths][moar-ufcs] like
22+
`MyType::default()`.
23+
* Primitive types [now have inherent methods][prim-inherent],
24+
obviating the need for extension traits like `SliceExt`.
25+
* Methods with `Self: Sized` in their `where` clause are
26+
[considered object-safe][self-sized], allowing many extension
27+
traits like `IteratorExt` to be merged into the traits they
28+
extended.
29+
* You can now [refer to associated types][assoc-where] whose
30+
corresponding trait bounds appear only in a `where` clause.
31+
* The final bits of [OIBIT landed][oibit-final], meaning that
32+
traits like `Send` and `Sync` are now library-defined.
33+
* A [Reflect trait][reflect] was introduced, which means that
34+
downcasting via the `Any` trait is effectively limited to
35+
concrete types. This helps retain the potentially-important
36+
"parametricity" property: generic code cannot behave differently
37+
for different type arguments except in minor ways.
38+
* The `unsafe_destructor` feature is now deprecated in favor of
39+
the [new `dropck`][dropck]. This change is a major reduction in
40+
unsafe code.
41+
* Trait coherence was [revised again][fundamental], this time with
42+
an eye toward API evolution over time.
43+
44+
* Libraries
45+
46+
* The new path and IO modules are complete and `#[stable]`. This
47+
was the major library focus for this cycle.
48+
* The path API was [revised][path-normalize] to normalize `.`,
49+
adjusting the tradeoffs in favor of the most common usage.
50+
* A large number of remaining APIs in `std` were also stabilized
51+
during this cycle; about 75% of the non-deprecated API surface
52+
is now stable.
53+
* The new [string pattern API][string-pattern] landed, which makes
54+
the string slice API much more internally consistent and flexible.
55+
* A shiny [framework for Debug implementations][debug-builder] landed.
56+
This makes it possible to opt in to "pretty-printed" debugging output.
57+
* A new set of [generic conversion traits][conversion] replaced
58+
many existing ad hoc traits.
59+
* Generic numeric traits were
60+
[completely removed][num-traits]. This was made possible thanks
61+
to inherent methods for primitive types, and the removal gives
62+
maximal flexibility for designing a numeric hierarchy in the future.
63+
* The `Fn` traits are now related via [inheritance][fn-inherit]
64+
and provide ergonomic [blanket implementations][fn-blanket].
65+
* The `Index` and `IndexMut` traits were changed to
66+
[take the index by value][index-value], enabling code like
67+
`hash_map["string"]` to work.
68+
* `Copy` now [inherits][copy-clone] from `Clone`, meaning that all
69+
`Copy` data is known to be `Clone` as well.
70+
71+
* Infrastructure
72+
73+
* Metadata was tuned, shrinking binaries [by 27%][metadata-shrink].
74+
* Much headway was made on ecosystem-wide CI, making it possible
75+
to [compare builds for breakage][ci-compare].
76+
77+
[send-rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0458-send-improvements.md
78+
[scoped]: http://static.rust-lang.org/doc/master/std/thread/fn.scoped.html
79+
[moar-ufcs]: https://github.com/rust-lang/rust/pull/22172
80+
[prim-inherent]: https://github.com/rust-lang/rust/pull/23104
81+
[overflow]: https://github.com/rust-lang/rfcs/blob/master/text/0560-integer-overflow.md
82+
[metadata-shrink]: https://github.com/rust-lang/rust/pull/22971
83+
[self-sized]: https://github.com/rust-lang/rust/pull/22301
84+
[assoc-where]: https://github.com/rust-lang/rust/pull/22512
85+
[string-pattern]: https://github.com/rust-lang/rust/pull/22466
86+
[oibit-final]: https://github.com/rust-lang/rust/pull/21689
87+
[reflect]: https://github.com/rust-lang/rust/pull/23712
88+
[debug-builder]: https://github.com/rust-lang/rfcs/blob/master/text/0640-debug-improvements.md
89+
[conversion]: https://github.com/rust-lang/rfcs/pull/529
90+
[num-traits]: https://github.com/rust-lang/rust/pull/23549
91+
[index-value]: https://github.com/rust-lang/rust/pull/23601
92+
[dropck]: https://github.com/rust-lang/rfcs/pull/769
93+
[fundamental]: https://github.com/rust-lang/rfcs/pull/1023
94+
[ci-compare]: https://gist.github.com/brson/a30a77836fbec057cbee
95+
[fn-inherit]: https://github.com/rust-lang/rust/pull/23282
96+
[fn-blanket]: https://github.com/rust-lang/rust/pull/23895
97+
[copy-clone]: https://github.com/rust-lang/rust/pull/23860
98+
[path-normalize]: https://github.com/rust-lang/rust/pull/23229
99+
1100
Version 1.0.0-alpha.2 (February 2015)
2101
-------------------------------------
3102

branches/tmp/src/compiletest/compiletest.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ extern crate log;
3131
use std::env;
3232
use std::fs;
3333
use std::path::{Path, PathBuf};
34-
use std::thunk::Thunk;
3534
use getopts::{optopt, optflag, reqopt};
3635
use common::Config;
3736
use common::{Pretty, DebugInfoGdb, DebugInfoLldb, Codegen};
@@ -351,7 +350,7 @@ pub fn make_test_name(config: &Config, testfile: &Path) -> test::TestName {
351350
pub fn make_test_closure(config: &Config, testfile: &Path) -> test::TestFn {
352351
let config = (*config).clone();
353352
let testfile = testfile.to_path_buf();
354-
test::DynTestFn(Thunk::new(move || {
353+
test::DynTestFn(Box::new(move || {
355354
runtest::run(config, &testfile)
356355
}))
357356
}

branches/tmp/src/compiletest/header.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ fn parse_exec_env(line: &str) -> Option<(String, String)> {
311311
parse_name_value_directive(line, "exec-env").map(|nv| {
312312
// nv is either FOO or FOO=BAR
313313
let mut strs: Vec<String> = nv
314-
.splitn(1, '=')
314+
.splitn(2, '=')
315315
.map(|s| s.to_string())
316316
.collect();
317317

branches/tmp/src/doc/reference.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1648,7 +1648,7 @@ specific type.
16481648
Implementations are defined with the keyword `impl`.
16491649

16501650
```
1651-
# #[derive(Copy)]
1651+
# #[derive(Copy, Clone)]
16521652
# struct Point {x: f64, y: f64};
16531653
# type Surface = i32;
16541654
# struct BoundingBox {x: f64, y: f64, width: f64, height: f64};
@@ -1661,6 +1661,10 @@ struct Circle {
16611661
16621662
impl Copy for Circle {}
16631663
1664+
impl Clone for Circle {
1665+
fn clone(&self) -> Circle { *self }
1666+
}
1667+
16641668
impl Shape for Circle {
16651669
fn draw(&self, s: Surface) { do_draw_circle(s, *self); }
16661670
fn bounding_box(&self) -> BoundingBox {

0 commit comments

Comments
 (0)