Skip to content

Commit 843faf2

Browse files
committed
---
yaml --- r: 274384 b: refs/heads/stable c: 5918d9b h: refs/heads/master
1 parent bf058f2 commit 843faf2

Some content is hidden

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

54 files changed

+1658
-1811
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ refs/heads/tmp: e06d2ad9fcd5027bcaac5b08fc9aa39a49d0ecd3
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f
3030
refs/tags/homu-tmp: c0221c8897db309a79990367476177b1230bb264
3131
refs/tags/1.0.0-beta: 8cbb92b53468ee2b0c2d3eeb8567005953d40828
32-
refs/heads/stable: b16fbe79ac29fc5ce604c89736352ca2765c7d78
32+
refs/heads/stable: 5918d9b96f4c226827cc147b119890fdafb874f0
3333
refs/tags/1.0.0: 55bd4f8ff2b323f317ae89e254ce87162d52a375
3434
refs/tags/1.1.0: bc3c16f09287e5545c1d3f76b7abd54f2eca868b
3535
refs/tags/1.2.0: f557861f822c34f07270347b94b5280de20a597e

branches/stable/RELEASES.md

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,156 @@
1+
Version 1.6.0 (2016-01-21)
2+
==========================
3+
4+
Language
5+
--------
6+
7+
* The `#![no_std]` attribute causes a crate to not be linked to the
8+
standard library, but only the [core library][1.6co], as described
9+
in [RFC 1184]. The core library defines common types and traits but
10+
has no platform dependencies whatsoever, and is the basis for Rust
11+
software in environments that cannot support a full port of the
12+
standard library, such as operating systems. Most of the core
13+
library is now stable.
14+
15+
Libraries
16+
---------
17+
18+
* Stabilized APIs:
19+
[`Read::read_exact`], [`ErrorKind::UnexpectedEof`] (renamed from
20+
`UnexpectedEOF`), [`fs::DirBuilder`], [`fs::DirBuilder::new`],
21+
[`fs::DirBuilder::recursive`], [`fs::DirBuilder::create`],
22+
[`os::unix::fs::DirBuilderExt`],
23+
[`os::unix::fs::DirBuilderExt::mode`], [`vec::Drain`],
24+
[`vec::Vec::drain`], [`string::Drain`], [`string::String::drain`],
25+
[`vec_deque::Drain`], [`vec_deque::VecDeque::drain`],
26+
[`collections::hash_map::Drain`],
27+
[`collections::hash_map::HashMap::drain`],
28+
[`collections::hash_set::Drain`],
29+
[`collections::hash_set::HashSet::drain`],
30+
[`collections::binary_heap::Drain`],
31+
[`collections::binary_heap::BinaryHeap::drain`],
32+
[`Vec::extend_from_slice`] (renamed from `push_all`),
33+
[`Mutex::get_mut`], [`Mutex::into_inner`], [`RwLock::get_mut`],
34+
[`RwLock::into_inner`], [`Iterator::min_by_key`] (renamed from
35+
`min_by`), [`Iterator::max_by_key`] (renamed from `max_by`).
36+
* The [core library][1.6co] is stable, as are most of its APIs.
37+
* [The `assert_eq!` macro supports arguments that don't implement
38+
`Sized`][1.6ae], such as arrays. In this way it behaves more like
39+
`assert!`.
40+
* Several timer functions that take duration in milliseconds [are
41+
deprecated in favor of those that take `Duration`][1.6ms]. These
42+
include `Condvar::wait_timeout_ms`, `thread::sleep_ms`, and
43+
`thread::park_timeout_ms`.
44+
* The algorithm by which `Vec` reserves additional elements was
45+
[tweaked to not allocate excessive space][1.6a] while still growing
46+
exponentially.
47+
* `From` conversions are [implemented from integers to floats][1.6f]
48+
in cases where the conversion is lossless. Thus they are not
49+
implemented for 32-bit ints to `f32`, nor for 64-bit ints to `f32`
50+
or `f64`. They are also not implemented for `isize` and `usize`
51+
because the implementations would be platform-specific. `From` is
52+
also implemented from `f32` to `f64`.
53+
* `From<&Path>` and `From<PathBuf>` are implemented for `Cow<Path>`.
54+
* `From<T>` is implemented for `Box<T>`, `Rc<T>` and `Arc<T>`.
55+
* `IntoIterator` is implemented for `&PathBuf` and `&Path`.
56+
* [`BinaryHeap` was refactored][1.6bh] for modest performance
57+
improvements.
58+
* Sorting slices that are already sorted [is 50% faster in some
59+
cases][1.6s].
60+
61+
Cargo
62+
-----
63+
64+
* Cargo will look in `$CARGO_HOME/bin` for subcommands [by default][1.6c].
65+
* Cargo build scripts can specify their dependencies by emitting the
66+
[`rerun-if-changed`][1.6rr] key.
67+
* crates.io will reject publication of crates with dependencies that
68+
have a wildcard version constraint. Crates with wildcard
69+
dependencies were seen to cause a variety of problems, as described
70+
in [RFC 1241]. Since 1.5 publication of such crates has emitted a
71+
warning.
72+
* `cargo clean` [accepts a `--release` flag][1.6cc] to clean the
73+
release folder. A variety of artifacts that Cargo failed to clean
74+
are now correctly deleted.
75+
76+
Misc
77+
----
78+
79+
* The `unreachable_code` lint [warns when a function call's argument
80+
diverges][1.6dv].
81+
* The parser indicates [failures that may be caused by
82+
confusingly-similar Unicode characters][1.6uc]
83+
* Certain macro errors [are reported at definition time][1.6m], not
84+
expansion.
85+
86+
Compatibility Notes
87+
-------------------
88+
89+
* The compiler no longer makes use of the [`RUST_PATH`][1.6rp]
90+
environment variable when locating crates. This was a pre-cargo
91+
feature for integrating with the package manager that was
92+
accidentally never removed.
93+
* [A number of bugs were fixed in the privacy checker][1.6p] that
94+
could cause previously-accepted code to break.
95+
* [Modules and unit/tuple structs may not share the same name][1.6ts].
96+
* [Bugs in pattern matching unit structs were fixed][1.6us]. The tuple
97+
struct pattern syntax (`Foo(..)`) can no longer be used to match
98+
unit structs. This is a warning now, but will become an error in
99+
future releases. Patterns that share the same name as a const are
100+
now an error.
101+
* A bug was fixed that causes [rustc not to apply default type
102+
parameters][1.6xc] when resolving certain method implementations of
103+
traits defined in other crates.
104+
105+
[1.6a]: https://github.com/rust-lang/rust/pull/29454
106+
[1.6ae]: https://github.com/rust-lang/rust/pull/29770
107+
[1.6bh]: https://github.com/rust-lang/rust/pull/29811
108+
[1.6c]: https://github.com/rust-lang/cargo/pull/2192
109+
[1.6cc]: https://github.com/rust-lang/cargo/pull/2131
110+
[1.6co]: http://doc.rust-lang.org/beta/core/index.html
111+
[1.6dv]: https://github.com/rust-lang/rust/pull/30000
112+
[1.6f]: https://github.com/rust-lang/rust/pull/29129
113+
[1.6m]: https://github.com/rust-lang/rust/pull/29828
114+
[1.6ms]: https://github.com/rust-lang/rust/pull/29604
115+
[1.6p]: https://github.com/rust-lang/rust/pull/29726
116+
[1.6rp]: https://github.com/rust-lang/rust/pull/30034
117+
[1.6rr]: https://github.com/rust-lang/cargo/pull/2134
118+
[1.6s]: https://github.com/rust-lang/rust/pull/29675
119+
[1.6ts]: https://github.com/rust-lang/rust/issues/21546
120+
[1.6uc]: https://github.com/rust-lang/rust/pull/29837
121+
[1.6us]: https://github.com/rust-lang/rust/pull/29383
122+
[1.6xc]: https://github.com/rust-lang/rust/issues/30123
123+
[RFC 1184]: https://github.com/rust-lang/rfcs/blob/master/text/1184-stabilize-no_std.md
124+
[RFC 1241]: https://github.com/rust-lang/rfcs/blob/master/text/1241-no-wildcard-deps.md
125+
[`ErrorKind::UnexpectedEof`]: http://doc.rust-lang.org/nightly/std/io/enum.ErrorKind.html#variant.UnexpectedEof
126+
[`Iterator::max_by_key`]: http://doc.rust-lang.org/nightly/std/iter/trait.Iterator.html#method.max_by_key
127+
[`Iterator::min_by_key`]: http://doc.rust-lang.org/nightly/std/iter/trait.Iterator.html#method.min_by_key
128+
[`Mutex::get_mut`]: http://doc.rust-lang.org/nightly/std/sync/struct.Mutex.html#method.get_mut
129+
[`Mutex::into_inner`]: http://doc.rust-lang.org/nightly/std/sync/struct.Mutex.html#method.into_inner
130+
[`Read::read_exact`]: http://doc.rust-lang.org/nightly/std/io/trait.Read.html#method.read_exact
131+
[`RwLock::get_mut`]: http://doc.rust-lang.org/nightly/std/sync/struct.RwLock.html#method.get_mut
132+
[`RwLock::into_inner`]: http://doc.rust-lang.org/nightly/std/sync/struct.RwLock.html#method.into_inner
133+
[`Vec::extend_from_slice`]: http://doc.rust-lang.org/nightly/collections/vec/struct.Vec.html#method.extend_from_slice
134+
[`collections::binary_heap::BinaryHeap::drain`]: http://doc.rust-lang.org/nightly/std/collections/binary_heap/struct.BinaryHeap.html#method.drain
135+
[`collections::binary_heap::Drain`]: http://doc.rust-lang.org/nightly/std/collections/binary_heap/struct.Drain.html
136+
[`collections::hash_map::Drain`]: http://doc.rust-lang.org/nightly/std/collections/hash_map/struct.Drain.html
137+
[`collections::hash_map::HashMap::drain`]: http://doc.rust-lang.org/nightly/std/collections/hash_map/struct.HashMap.html#method.drain
138+
[`collections::hash_set::Drain`]: http://doc.rust-lang.org/nightly/std/collections/hash_set/struct.Drain.html
139+
[`collections::hash_set::HashSet::drain`]: http://doc.rust-lang.org/nightly/std/collections/hash_set/struct.HashSet.html#method.drain
140+
[`fs::DirBuilder::create`]: http://doc.rust-lang.org/nightly/std/fs/struct.DirBuilder.html#method.create
141+
[`fs::DirBuilder::new`]: http://doc.rust-lang.org/nightly/std/fs/struct.DirBuilder.html#method.new
142+
[`fs::DirBuilder::recursive`]: http://doc.rust-lang.org/nightly/std/fs/struct.DirBuilder.html#method.recursive
143+
[`fs::DirBuilder`]: http://doc.rust-lang.org/nightly/std/fs/struct.DirBuilder.html
144+
[`os::unix::fs::DirBuilderExt::mode`]: http://doc.rust-lang.org/nightly/std/os/unix/fs/trait.DirBuilderExt.html#tymethod.mode
145+
[`os::unix::fs::DirBuilderExt`]: http://doc.rust-lang.org/nightly/std/os/unix/fs/trait.DirBuilderExt.html
146+
[`string::Drain`]: http://doc.rust-lang.org/nightly/std/string/struct.Drain.html
147+
[`string::String::drain`]: http://doc.rust-lang.org/nightly/std/string/struct.String.html#method.drain
148+
[`vec::Drain`]: http://doc.rust-lang.org/nightly/std/vec/struct.Drain.html
149+
[`vec::Vec::drain`]: http://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#method.drain
150+
[`vec_deque::Drain`]: http://doc.rust-lang.org/nightly/std/collections/vec_deque/struct.Drain.html
151+
[`vec_deque::VecDeque::drain`]: http://doc.rust-lang.org/nightly/std/collections/vec_deque/struct.VecDeque.html#method.drain
152+
153+
1154
Version 1.5.0 (2015-12-10)
2155
==========================
3156

branches/stable/configure

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,14 @@ enable_if_not_disabled() {
334334
fi
335335
}
336336

337+
to_llvm_triple() {
338+
case $1 in
339+
i686-w64-mingw32) echo i686-pc-windows-gnu ;;
340+
x86_64-w64-mingw32) echo x86_64-pc-windows-gnu ;;
341+
*) echo $1 ;;
342+
esac
343+
}
344+
337345
to_gnu_triple() {
338346
case $1 in
339347
i686-pc-windows-gnu) echo i686-w64-mingw32 ;;
@@ -638,6 +646,12 @@ valopt_nosave host "${CFG_BUILD}" "GNUs ./configure syntax LLVM host triples"
638646
valopt_nosave target "${CFG_HOST}" "GNUs ./configure syntax LLVM target triples"
639647
valopt_nosave mandir "${CFG_PREFIX}/share/man" "install man pages in PATH"
640648

649+
# Temporarily support old triples until buildbots get updated
650+
CFG_BUILD=$(to_llvm_triple $CFG_BUILD)
651+
putvar CFG_BUILD # Yes, this creates a duplicate entry, but the last one wins.
652+
CFG_HOST=$(to_llvm_triple $CFG_HOST)
653+
CFG_TARGET=$(to_llvm_triple $CFG_TARGET)
654+
641655
# On Windows this determines root of the subtree for target libraries.
642656
# Host runtime libs always go to 'bin'.
643657
valopt libdir "${CFG_PREFIX}/lib" "install libraries"

branches/stable/mk/tests.mk

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1039,8 +1039,6 @@ $(3)/test/run-make/%-$(1)-T-$(2)-H-$(3).ok: \
10391039
export INCLUDE := $$(CFG_MSVC_INCLUDE_PATH_$$(HOST_$(3)))
10401040
$(3)/test/run-make/%-$(1)-T-$(2)-H-$(3).ok: \
10411041
export LIB := $$(CFG_MSVC_LIB_PATH_$$(HOST_$(3)))
1042-
$(3)/test/run-make/%-$(1)-T-$(2)-H-$(3).ok: \
1043-
export MSVC_LIB := "$$(CFG_MSVC_LIB_$$(HOST_$(3)))"
10441042
$(3)/test/run-make/%-$(1)-T-$(2)-H-$(3).ok: \
10451043
$(S)src/test/run-make/%/Makefile \
10461044
$$(CSREQ$(1)_T_$(2)_H_$(3))

branches/stable/src/libcore/intrinsics.rs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -552,15 +552,7 @@ extern "rust-intrinsic" {
552552
pub fn discriminant_value<T>(v: &T) -> u64;
553553

554554
/// Rust's "try catch" construct which invokes the function pointer `f` with
555-
/// the data pointer `data`.
556-
///
557-
/// The third pointer is a target-specific data pointer which is filled in
558-
/// with the specifics of the exception that occurred. For examples on Unix
559-
/// platforms this is a `*mut *mut T` which is filled in by the compiler and
560-
/// on MSVC it's `*mut [usize; 2]`. For more information see the compiler's
561-
/// source as well as std's catch implementation.
562-
#[cfg(not(stage0))]
563-
pub fn try(f: fn(*mut u8), data: *mut u8, local_ptr: *mut u8) -> i32;
564-
#[cfg(stage0)]
555+
/// the data pointer `data`, returning the exception payload if an exception
556+
/// is thrown (aka the thread panics).
565557
pub fn try(f: fn(*mut u8), data: *mut u8) -> *mut u8;
566558
}

branches/stable/src/librustc_back/target/x86_64_pc_windows_msvc.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ use target::Target;
1313
pub fn target() -> Target {
1414
let mut base = super::windows_msvc_base::opts();
1515
base.cpu = "x86-64".to_string();
16+
base.custom_unwind_resume = true;
1617

1718
Target {
1819
llvm_target: "x86_64-pc-windows-msvc".to_string(),

branches/stable/src/librustc_llvm/archive_ro.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,14 @@ impl Drop for ArchiveRO {
7979
}
8080

8181
impl<'a> Iterator for Iter<'a> {
82-
type Item = Result<Child<'a>, String>;
82+
type Item = Child<'a>;
8383

84-
fn next(&mut self) -> Option<Result<Child<'a>, String>> {
84+
fn next(&mut self) -> Option<Child<'a>> {
8585
let ptr = unsafe { ::LLVMRustArchiveIteratorNext(self.ptr) };
8686
if ptr.is_null() {
87-
::last_error().map(Err)
87+
None
8888
} else {
89-
Some(Ok(Child { ptr: ptr, _data: marker::PhantomData }))
89+
Some(Child { ptr: ptr, _data: marker::PhantomData })
9090
}
9191
}
9292
}

0 commit comments

Comments
 (0)