Skip to content

Commit cc80053

Browse files
committed
Auto merge of #43368 - Aaronepower:patch-3, r=alexcrichton
Update release notes for 1.19.0 This is just #42503 there is some problems with submodules I can't seem to fix so I just created a new PR.
2 parents ae98ebf + 077dead commit cc80053

File tree

1 file changed

+184
-0
lines changed

1 file changed

+184
-0
lines changed

RELEASES.md

+184
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,187 @@
1+
Version 1.19.0 (2017-07-20)
2+
===========================
3+
4+
Language
5+
--------
6+
7+
- [Numeric fields can now be used for creating tuple structs.][41145] [RFC 1506]
8+
For example `struct Point(u32, u32); let x = Point { 0: 7, 1: 0 };`.
9+
- [Macro recursion limit increased to 1024 from 64.][41676]
10+
- [Added lint for detecting unused macros.][41907]
11+
- [`loop` can now return a value with `break`.][42016] [RFC 1624]
12+
For example: `let x = loop { break 7; };`
13+
- [C compatible `union`s are now available.][42068] [RFC 1444] They can only
14+
contain `Copy` types and cannot have a `Drop` implementation.
15+
Example: `union Foo { bar: u8, baz: usize }`
16+
- [Non capturing closures can now be coerced into `fn`s,][42162] [RFC 1558]
17+
Example: `let foo: fn(u8) -> u8 = |v: u8| { v };`
18+
19+
Compiler
20+
--------
21+
22+
- [Add support for bootstrapping the Rust compiler toolchain on Android.][41370]
23+
- [Change `arm-linux-androideabi` to correspond to the `armeabi`
24+
official ABI.][41656] If you wish to continue targeting the `armeabi-v7a` ABI
25+
you should use `--target armv7-linux-androideabi`.
26+
- [Fixed ICE when removing a source file between compilation sessions.][41873]
27+
- [Minor optimisation of string operations.][42037]
28+
- [Compiler error message is now `aborting due to previous error(s)` instead of
29+
`aborting due to N previous errors`][42150] This was previously inaccurate and
30+
would only count certain kinds of errors.
31+
- [The compiler now supports Visual Studio 2017][42225]
32+
- [The compiler is now built against LLVM 4.0.1 by default][42948]
33+
- [Added a lot][42264] of [new error codes][42302]
34+
- [Added `target-feature=+crt-static` option][37406] [RFC 1721] Which allows
35+
libraries with C Run-time Libraries(CRT) to be statically linked.
36+
- [Fixed various ARM codegen bugs][42740]
37+
38+
Libraries
39+
---------
40+
41+
- [`String` now implements `FromIterator<Cow<'a, str>>` and
42+
`Extend<Cow<'a, str>>`][41449]
43+
- [`Vec` now implements `From<&mut [T]>`][41530]
44+
- [`Box<[u8]>` now implements `From<Box<str>>`][41258]
45+
- [`SplitWhitespace` now implements `Clone`][41659]
46+
- [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now
47+
1.5x faster][41764]
48+
- [`eprint!` and `eprintln!` macros added to prelude.][41192] Same as the `print!`
49+
macros, but for printing to stderr.
50+
51+
Stabilized APIs
52+
---------------
53+
54+
- [`OsString::shrink_to_fit`]
55+
- [`cmp::Reverse`]
56+
- [`Command::envs`]
57+
- [`thread::ThreadId`]
58+
59+
Cargo
60+
-----
61+
62+
- [Build scripts can now add environment variables to the environment
63+
the crate is being compiled in.
64+
Example: `println!("cargo:rustc-env=FOO=bar");`][cargo/3929]
65+
- [Subcommands now replace the current process rather than spawning a new
66+
child process][cargo/3970]
67+
- [Workspace members can now accept glob file patterns][cargo/3979]
68+
- [Added `--all` flag to the `cargo bench` subcommand to run benchmarks of all
69+
the members in a given workspace.][cargo/3988]
70+
- [Updated `libssh2-sys` to 0.2.6][cargo/4008]
71+
- [Target directory path is now in the cargo metadata][cargo/4022]
72+
- [Cargo no longer checks out a local working directory for the
73+
crates.io index][cargo/4026] This should provide smaller file size for the
74+
registry, and improve cloning times, especially on Windows machines.
75+
- [Added an `--exclude` option for excluding certain packages when using the
76+
`--all` option][cargo/4031]
77+
- [Cargo will now automatically retry when receiving a 5xx error
78+
from crates.io][cargo/4032]
79+
- [The `--features` option now accepts multiple comma or space
80+
delimited values.][cargo/4084]
81+
- [Added support for custom target specific runners][cargo/3954]
82+
83+
Misc
84+
----
85+
86+
- [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the
87+
Windows Debugger.
88+
- [Rust will now release XZ compressed packages][rust-installer/57]
89+
- [rustup will now prefer to download rust packages with
90+
XZ compression][rustup/1100] over GZip packages.
91+
- [Added the ability to escape `#` in rust documentation][41785] By adding
92+
additional `#`'s ie. `##` is now `#`
93+
94+
Compatibility Notes
95+
-------------------
96+
97+
- [`MutexGuard<T>` may only be `Sync` if `T` is `Sync`.][41624]
98+
- [`-Z` flags are now no longer allowed to be used on the stable
99+
compiler.][41751] This has been a warning for a year previous to this.
100+
- [As a result of the `-Z` flag change, the `cargo-check` plugin no
101+
longer works][42844]. Users should migrate to the built-in `check`
102+
command, which has been available since 1.16.
103+
- [Ending a float literal with `._` is now a hard error.
104+
Example: `42._` .][41946]
105+
- [Any use of a private `extern crate` outside of its module is now a
106+
hard error.][36886] This was previously a warning.
107+
- [`use ::self::foo;` is now a hard error.][36888] `self` paths are always
108+
relative while the `::` prefix makes a path absolute, but was ignored and the
109+
path was relative regardless.
110+
- [Floating point constants in match patterns is now a hard error][36890]
111+
This was previously a warning.
112+
- [Struct or enum constants that don't derive `PartialEq` & `Eq` used
113+
match patterns is now a hard error][36891] This was previously a warning.
114+
- [Lifetimes named `'_` are no longer allowed.][36892] This was previously
115+
a warning.
116+
- [From the pound escape, lines consisting of multiple `#`s are
117+
now visible][41785]
118+
- [It is an error to reexport private enum variants][42460]. This is
119+
known to break a number of crates that depend on an older version of
120+
mustache.
121+
- [On Windows, if `VCINSTALLDIR` is set incorrectly, `rustc` will try
122+
to use it to find the linker, and the build will fail where it did
123+
not previously][42607]
124+
125+
[36886]: https://github.com/rust-lang/rust/issues/36886
126+
[36888]: https://github.com/rust-lang/rust/issues/36888
127+
[36890]: https://github.com/rust-lang/rust/issues/36890
128+
[36891]: https://github.com/rust-lang/rust/issues/36891
129+
[36892]: https://github.com/rust-lang/rust/issues/36892
130+
[37406]: https://github.com/rust-lang/rust/issues/37406
131+
[39983]: https://github.com/rust-lang/rust/pull/39983
132+
[41145]: https://github.com/rust-lang/rust/pull/41145
133+
[41192]: https://github.com/rust-lang/rust/pull/41192
134+
[41258]: https://github.com/rust-lang/rust/pull/41258
135+
[41370]: https://github.com/rust-lang/rust/pull/41370
136+
[41449]: https://github.com/rust-lang/rust/pull/41449
137+
[41530]: https://github.com/rust-lang/rust/pull/41530
138+
[41624]: https://github.com/rust-lang/rust/pull/41624
139+
[41656]: https://github.com/rust-lang/rust/pull/41656
140+
[41659]: https://github.com/rust-lang/rust/pull/41659
141+
[41676]: https://github.com/rust-lang/rust/pull/41676
142+
[41751]: https://github.com/rust-lang/rust/pull/41751
143+
[41764]: https://github.com/rust-lang/rust/pull/41764
144+
[41785]: https://github.com/rust-lang/rust/pull/41785
145+
[41873]: https://github.com/rust-lang/rust/pull/41873
146+
[41907]: https://github.com/rust-lang/rust/pull/41907
147+
[41946]: https://github.com/rust-lang/rust/pull/41946
148+
[42016]: https://github.com/rust-lang/rust/pull/42016
149+
[42037]: https://github.com/rust-lang/rust/pull/42037
150+
[42068]: https://github.com/rust-lang/rust/pull/42068
151+
[42150]: https://github.com/rust-lang/rust/pull/42150
152+
[42162]: https://github.com/rust-lang/rust/pull/42162
153+
[42225]: https://github.com/rust-lang/rust/pull/42225
154+
[42264]: https://github.com/rust-lang/rust/pull/42264
155+
[42302]: https://github.com/rust-lang/rust/pull/42302
156+
[42460]: https://github.com/rust-lang/rust/issues/42460
157+
[42607]: https://github.com/rust-lang/rust/issues/42607
158+
[42740]: https://github.com/rust-lang/rust/pull/42740
159+
[42844]: https://github.com/rust-lang/rust/issues/42844
160+
[42948]: https://github.com/rust-lang/rust/pull/42948
161+
[RFC 1444]: https://github.com/rust-lang/rfcs/pull/1444
162+
[RFC 1506]: https://github.com/rust-lang/rfcs/pull/1506
163+
[RFC 1558]: https://github.com/rust-lang/rfcs/pull/1558
164+
[RFC 1624]: https://github.com/rust-lang/rfcs/pull/1624
165+
[RFC 1721]: https://github.com/rust-lang/rfcs/pull/1721
166+
[`Command::envs`]: https://doc.rust-lang.org/std/process/struct.Command.html#method.envs
167+
[`OsString::shrink_to_fit`]: https://doc.rust-lang.org/std/ffi/struct.OsString.html#method.shrink_to_fit
168+
[`cmp::Reverse`]: https://doc.rust-lang.org/std/cmp/struct.Reverse.html
169+
[`thread::ThreadId`]: https://doc.rust-lang.org/std/thread/struct.ThreadId.html
170+
[cargo/3929]: https://github.com/rust-lang/cargo/pull/3929
171+
[cargo/3954]: https://github.com/rust-lang/cargo/pull/3954
172+
[cargo/3970]: https://github.com/rust-lang/cargo/pull/3970
173+
[cargo/3979]: https://github.com/rust-lang/cargo/pull/3979
174+
[cargo/3988]: https://github.com/rust-lang/cargo/pull/3988
175+
[cargo/4008]: https://github.com/rust-lang/cargo/pull/4008
176+
[cargo/4022]: https://github.com/rust-lang/cargo/pull/4022
177+
[cargo/4026]: https://github.com/rust-lang/cargo/pull/4026
178+
[cargo/4031]: https://github.com/rust-lang/cargo/pull/4031
179+
[cargo/4032]: https://github.com/rust-lang/cargo/pull/4032
180+
[cargo/4084]: https://github.com/rust-lang/cargo/pull/4084
181+
[rust-installer/57]: https://github.com/rust-lang/rust-installer/pull/57
182+
[rustup/1100]: https://github.com/rust-lang-nursery/rustup.rs/pull/1100
183+
184+
1185
Version 1.18.0 (2017-06-08)
2186
===========================
3187

0 commit comments

Comments
 (0)