Skip to content

Commit 5cd23de

Browse files
committed
Release notes for 1.16
1 parent bae454e commit 5cd23de

File tree

1 file changed

+179
-0
lines changed

1 file changed

+179
-0
lines changed

RELEASES.md

Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,182 @@
1+
Version 1.16.0 (2017-03-16)
2+
===========================
3+
4+
Language
5+
--------
6+
7+
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
8+
* [Uninhabitable enums (those without any variants) no longer permit wildcard
9+
match patterns][38069]
10+
* [Clean up semantics of `self` in an import list][38313]
11+
* [`Self` may appear in `impl` headers][38920]
12+
* [`Self` may appear in struct expressions][39282]
13+
14+
Compiler
15+
--------
16+
17+
* [`rustc` now supports `--emit=metadata`, which causes rustc to emit
18+
a `.rmeta` file containing only crate metadata][38571]. This can be
19+
used by tools like the Rust Language Service to perform
20+
metadata-only builds.
21+
* [Fix `transmute::<T, U>` where `T` requires a bigger alignment than
22+
`U`][38670]
23+
* [rustc: use -Xlinker when specifying an rpath with ',' in it][38798]
24+
* [Candidates for type suggestions draw from more sources][38927]
25+
* [`rustc` no longer attempts to provide "consider using an explicit
26+
lifetime" suggestions][37057]. They were inaccurate.
27+
28+
Stabilized APIs
29+
---------------
30+
31+
* [`VecDeque::truncate`]
32+
* [`VecDeque::resize`]
33+
* [`String::insert_str`]
34+
* [`Duration::checked_add`]
35+
* [`Duration::checked_sub`]
36+
* [`Duration::checked_div`]
37+
* [`Duration::checked_mul`]
38+
* [`str::replacen`]
39+
* [`str::repeat`]
40+
* [`SocketAddr::is_ipv4`]
41+
* [`SocketAddr::is_ipv6`]
42+
* [`IpAddr::is_ipv4`]
43+
* [`IpAddr::is_ipv6`]
44+
* [`Vec::dedup_by`]
45+
* [`Vec::dedup_by_key`]
46+
* [`Result::unwrap_or_default`]
47+
* [`<*const T>::wrapping_offset`]
48+
* [`<*mut T>::wrapping_offset`]
49+
* `CommandExt::creation_flags`
50+
* [`File::set_permissions`]
51+
* [`String::split_off`]
52+
53+
Libraries
54+
---------
55+
56+
* [`[T]::binary_search` and `[T]::binary_search_by_key` now take
57+
their argument by `Borrow` parameter][37761]
58+
* [All public types in std implement `Debug`][38006]
59+
* [`IpAddr` implements `From<Ipv4Adder>` and `From<Ipv6Addr>`][38327]
60+
* [`Ipv6Addr` implements `From<[u16; 8]>`][38131]
61+
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
62+
Windows][38274]
63+
* [std: Fix partial writes in `LineWriter`][38062]
64+
* [std: Clamp max read/write sizes on Unix][38062]
65+
* [Use more specific panic message for `&str` slicing errors][38066]
66+
* [`TcpListener::set_only_v6` is deprecated][38304]. This
67+
functionality cannot be achieved in std currently.
68+
* [`writeln!`, like `println!`, now accepts a form with no string
69+
or formatting arguments, to just print a newline][38469]
70+
* [Implement `iter::Sum` and `iter::Product` for `Result`][38580]
71+
* [Reduce the size of static data in `std_unicode::tables`][38781]
72+
* [`char::EscapeDebug`, `EscapeDefault`, `EscapeUnicode`,
73+
`CaseMappingIter`, `ToLowercase`, `ToUppercase`, implement
74+
`Display`][38909]
75+
* [`Duration` implements `Sum`][38712]
76+
* [`String` implements `ToSocketAddrs`][39048]
77+
78+
Cargo
79+
-----
80+
81+
* [crates.io will display CI badges from Travis and AppVeyor, if
82+
specified in Cargo.toml][cargo/3546]
83+
* [crates.io will display categories listen in Cargo.toml][cargo/3301]
84+
* [Compilation profiles accept integer values for `debug`, in addition
85+
to `true` and `false`. These are passed to `rustc` as the value to
86+
`-C debuginfo`][cargo/3534]
87+
* [Implement `cargo --version --verbose`][cargo/3604]
88+
* [`Add `--dep-info` flag to output build dependencies compatible with
89+
make and ninja][cargo/3557]
90+
* [Build all workspace members with `build --all`][cargo/3511]
91+
* [Document all workspace members with `document --all`][cargo/3515]
92+
* [Path deps outside workspace are not members][cargo/3443]
93+
94+
Misc
95+
----
96+
97+
* [`rustdoc` has a `--sysroot` argument that, like `rustc`, specifies
98+
the path to the Rust implementation][38589]
99+
* [The `armv7-linux-androideabi` target no lenger enables NEON
100+
extensions, per Google's ABI guide][38413]
101+
* [The stock standard library can be compiled for Redox OS][38401]
102+
* [Rust has initial SPARC support][38726]. Tier 3. No builds
103+
available.
104+
* [Rust has experimental support for Nvidia PTX][38559]. Tier 3. No
105+
builds available.
106+
* [Fix backtraces on i686-pc-windows-gnu by disabling FPO][39379]
107+
108+
Compatibility Notes
109+
-------------------
110+
111+
* [Uninhabitable enums (those without any variants) no longer permit wildcard
112+
match patterns][38069]
113+
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
114+
* [Ctrl-Z returns from `Stdin.read()` when reading from the console on
115+
Windows][38274]
116+
* [Clean up semantics of `self` in an import list][38313]
117+
118+
[37057]: https://github.com/rust-lang/rust/pull/37057
119+
[37761]: https://github.com/rust-lang/rust/pull/37761
120+
[38006]: https://github.com/rust-lang/rust/pull/38006
121+
[38051]: https://github.com/rust-lang/rust/pull/38051
122+
[38062]: https://github.com/rust-lang/rust/pull/38062
123+
[38062]: https://github.com/rust-lang/rust/pull/38622
124+
[38066]: https://github.com/rust-lang/rust/pull/38066
125+
[38069]: https://github.com/rust-lang/rust/pull/38069
126+
[38131]: https://github.com/rust-lang/rust/pull/38131
127+
[38274]: https://github.com/rust-lang/rust/pull/
128+
[38304]: https://github.com/rust-lang/rust/pull/38304
129+
[38313]: https://github.com/rust-lang/rust/pull/38313
130+
[38314]: https://github.com/rust-lang/rust/pull/38314
131+
[38327]: https://github.com/rust-lang/rust/pull/38327
132+
[38401]: https://github.com/rust-lang/rust/pull/38401
133+
[38413]: https://github.com/rust-lang/rust/pull/38413
134+
[38469]: https://github.com/rust-lang/rust/pull/38469
135+
[38559]: https://github.com/rust-lang/rust/pull/38559
136+
[38571]: https://github.com/rust-lang/rust/pull/38571
137+
[38580]: https://github.com/rust-lang/rust/pull/38580
138+
[38589]: https://github.com/rust-lang/rust/pull/38589
139+
[38670]: https://github.com/rust-lang/rust/pull/38670
140+
[38712]: https://github.com/rust-lang/rust/pull/38712
141+
[38726]: https://github.com/rust-lang/rust/pull/38726
142+
[38781]: https://github.com/rust-lang/rust/pull/38781
143+
[38798]: https://github.com/rust-lang/rust/pull/38798
144+
[38909]: https://github.com/rust-lang/rust/pull/38909
145+
[38920]: https://github.com/rust-lang/rust/pull/38920
146+
[38927]: https://github.com/rust-lang/rust/pull/38927
147+
[39048]: https://github.com/rust-lang/rust/pull/39048
148+
[39282]: https://github.com/rust-lang/rust/pull/39282
149+
[39379]: https://github.com/rust-lang/rust/pull/39379
150+
[`<*const T>::wrapping_offset`]: https://doc.rust-lang.org/std/primitive.pointer.html#method.wrapping_offset
151+
[`<*mut T>::wrapping_offset`]: https://doc.rust-lang.org/std/primitive.pointer.html#method.wrapping_offset
152+
[`Duration::checked_add`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.checked_add
153+
[`Duration::checked_div`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.checked_div
154+
[`Duration::checked_mul`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.checked_mul
155+
[`Duration::checked_sub`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.checked_sub
156+
[`File::set_permissions`]: https://doc.rust-lang.org/std/fs/struct.File.html#method.set_permissions
157+
[`IpAddr::is_ipv4`]: https://doc.rust-lang.org/std/net/enum.IpAddr.html#method.is_ipv4
158+
[`IpAddr::is_ipv6`]: https://doc.rust-lang.org/std/net/enum.IpAddr.html#method.is_ipv6
159+
[`Result::unwrap_or_default`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.unwrap_or_default
160+
[`SocketAddr::is_ipv4`]: https://doc.rust-lang.org/std/net/enum.SocketAddr.html#method.is_ipv4
161+
[`SocketAddr::is_ipv6`]: https://doc.rust-lang.org/std/net/enum.SocketAddr.html#method.is_ipv6
162+
[`String::insert_str`]: https://doc.rust-lang.org/std/string/struct.String.html#method.insert_str
163+
[`String::split_off`]: https://doc.rust-lang.org/std/string/struct.String.html#method.split_off
164+
[`Vec::dedup_by_key`]: https://doc.rust-lang.org/std/vec/struct.Vec.html#method.dedup_by_key
165+
[`Vec::dedup_by`]: https://doc.rust-lang.org/std/vec/struct.Vec.html#method.dedup_by
166+
[`VecDeque::resize`]: https://doc.rust-lang.org/std/collections/vec_deque/struct.VecDeque.html#method.resize
167+
[`VecDeque::truncate`]: https://doc.rust-lang.org/std/collections/vec_deque/struct.VecDeque.html#method.truncate
168+
[`str::repeat`]: https://doc.rust-lang.org/std/primitive.str.html#method.repeat
169+
[`str::replacen`]: https://doc.rust-lang.org/std/primitive.str.html#method.replacen
170+
[cargo/3301]: https://github.com/rust-lang/cargo/pull/3301
171+
[cargo/3443]: https://github.com/rust-lang/cargo/pull/3443
172+
[cargo/3511]: https://github.com/rust-lang/cargo/pull/3511
173+
[cargo/3515]: https://github.com/rust-lang/cargo/pull/3515
174+
[cargo/3534]: https://github.com/rust-lang/cargo/pull/3534
175+
[cargo/3546]: https://github.com/rust-lang/cargo/pull/3546
176+
[cargo/3557]: https://github.com/rust-lang/cargo/pull/3557
177+
[cargo/3604]: https://github.com/rust-lang/cargo/pull/3604
178+
179+
1180
Version 1.15.1 (2017-02-09)
2181
===========================
3182

0 commit comments

Comments
 (0)