-
Notifications
You must be signed in to change notification settings - Fork 13k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updated releases notes for 1.19 #42503
Changes from 1 commit
88bacc4
2e19040
c74b4c3
a8daa00
1b73fd6
2a9882a
986a818
72bca53
82f3a97
51fac03
525bc2e
ff23f2d
c0dbb12
7d70604
a911c0c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,144 @@ | ||
Version 1.19.0 (2017-07-20) | ||
=========================== | ||
|
||
Language | ||
-------- | ||
|
||
- [Numeric fields can now be used for creating tuple structs.][36868] | ||
For example `struct Point(u32, u32); let x = Foo { 0: 7, 1: 0 };`. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Wouldn't this be |
||
- [Macro recursion limit increased to 1024 from 64.][41676] | ||
- [Added lint for detecting unused macros.][41907] | ||
- [`loop` can now return a value with `break`.][42016] | ||
For example: `let x = loop { break 7; };` | ||
- [C compatible `union`s are now available.][42068] They can only contain `Copy` | ||
types and cannot have a `Drop` implementation. | ||
Example: `union Foo { bar: u8 }` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. A union with two fields of different types might be a clearer example. |
||
|
||
Compiler | ||
-------- | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
|
||
- [Added bootstrap support for Android.][41370] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I suggest expanding this to "Add support for bootstrapping the Rust compiler toolchain on Android." |
||
- [Change `arm-linux-androideabi` to correspond to the `armeabi` | ||
official ABI.][41656] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It might be useful to note that developers must now use |
||
- [Fixed ICE when removing a source file between compilation sessions.][41873] | ||
- [Minor optimisation of string operations.][42037] | ||
- [Compiler error message is now `aborting due to previous error(s)` instead of | ||
`aborting due to N previous errors`][42150] This was previously inaccurate and | ||
would only count certain kinds of errors. | ||
- [Now supports Visual Studio 2017][42225] | ||
- [Added a lot][42264] of [new error codes][42302] | ||
|
||
Libraries | ||
--------- | ||
|
||
- [`String` now implements `FromIterator<Cow<'a, str>>` and | ||
`Extend<Cow<'a, str>>`][41449] | ||
- [`Vec` now implements `From<&mut [T]>`][41530] | ||
- [`SplitWhitespace` now implements `Clone`][41659] | ||
- [`[u8]::reverse` is now 5x faster and `[u16]::reverse` is now | ||
1.5x faster][41764] | ||
|
||
Compatibility Notes | ||
------------------- | ||
|
||
- [`MutexGuard<T>` may only be `Sync` if `T` is `Sync`.][41624] | ||
- [`-Z` flags are now no longer allowed to be used on the stable | ||
compiler.][41751] This has been a warning for a year previous to this. | ||
- [Ending a float literal with `._` is now a hard error. | ||
Example: `42._` .][41946] | ||
- [Ending a str literal with an underscore is now a hard error | ||
Example: `"foo"_`][41990] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This didn't make it into 1.19. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is also a warning, not error. |
||
- [Publicly exposing a private type is now a hard error][34537] This was | ||
previously a warning. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nah, this is wrong. Most of #34537 isn't going to be an error, only some tiny piece of it (public reexports of private enum variants) has become an error. |
||
- [Type parameter defaults in trait impls and functions is now a | ||
hard error][36887] This was previously a warning. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is still a warning, there was too much breakage (as you can see, the issue is still open). |
||
- [`use` imports on a private `extern crate` in a module is now a hard | ||
error.][36886] This was previously a warning. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. #36886 is about any use of private extern crates outside of their module, not about imports or reexports. |
||
- [`use ::self::foo;` is now a hard error.][36888] `self` paths are always | ||
relative while the `::` prefix makes a path absolute, but was ignored and the | ||
path was relative regardless. | ||
- [Floating point constants in match patterns is now a hard error][36890] | ||
This was previously a warning. | ||
- [Struct or enum constants that don't derive `PartialEq` & `Eq` used | ||
match patterns is now a hard error][36891] This was previously a warning. | ||
- [Lifetimes named `'_` are no longer allowed.][36892] This was previously | ||
a warning. | ||
|
||
Misc | ||
---- | ||
|
||
- [Added `rust-windbg.cmd`][39983] for loading rust `.natvis` files in the | ||
Windows Debugger. | ||
- [Rust Language Server is now packaged as a non default component with the | ||
`.exe`, `.msi`, and `.pkg` installers][42306] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this has been reverted: #42472 |
||
|
||
Cargo | ||
----- | ||
|
||
- [Build scripts can now add environment variables the environment | ||
the crate is being compiled in. | ||
Example: `println!("cargo:rustc-env=FOO=bar");`][cargo/3929] | ||
- [Subcommands now replace the current process rather than spawning a new | ||
child process][cargo/3970] | ||
- [Workspace members can now accept glob file patterns][cargo/3979] | ||
- [Added `--all` flag to the `cargo bench` subcommand to run benchmarks of all | ||
the members in a given workspace.][cargo/3988] | ||
- [Updated `libssh2-sys` to 0.2.6][cargo/4008] | ||
- [Target directory path is now in the cargo metadata][cargo/4022] | ||
- [Cargo no longer checks the crates.io index locally][cargo/4026] This should | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would word this something like "Cargo no longer checks out a local working directory for the crates.io index" |
||
provide smaller file size for the registry, and improve cloning times, | ||
especially on Windows machines. | ||
- [Added an `--exclude` option for excluding certain packages when using the | ||
`--all` option][cargo/4031] | ||
- [Cargo will now automatically retry when receiving a 5xx error | ||
from crates.io][cargo/4032] | ||
- [The `--features` option now accepts multiple comma or space | ||
delimited values.][cargo/4084] | ||
- [Added a GNU make jobserver implementation to Cargo.][cargo/4110] | ||
|
||
[39983]: https://github.com/rust-lang/rust/pull/39983 | ||
[36868]: https://github.com/rust-lang/rust/pull/36868 | ||
[41370]: https://github.com/rust-lang/rust/pull/41370 | ||
[41449]: https://github.com/rust-lang/rust/pull/41449 | ||
[41530]: https://github.com/rust-lang/rust/pull/41530 | ||
[41624]: https://github.com/rust-lang/rust/pull/41624 | ||
[41656]: https://github.com/rust-lang/rust/pull/41656 | ||
[41659]: https://github.com/rust-lang/rust/pull/41659 | ||
[41676]: https://github.com/rust-lang/rust/pull/41676 | ||
[41751]: https://github.com/rust-lang/rust/pull/41751 | ||
[41764]: https://github.com/rust-lang/rust/pull/41764 | ||
[41873]: https://github.com/rust-lang/rust/pull/41873 | ||
[41907]: https://github.com/rust-lang/rust/pull/41907 | ||
[41946]: https://github.com/rust-lang/rust/pull/41946 | ||
[41990]: https://github.com/rust-lang/rust/pull/41990 | ||
[42016]: https://github.com/rust-lang/rust/pull/42016 | ||
[42037]: https://github.com/rust-lang/rust/pull/42037 | ||
[42068]: https://github.com/rust-lang/rust/pull/42068 | ||
[34537]: https://github.com/rust-lang/rust/issues/34537 | ||
[36887]: https://github.com/rust-lang/rust/issues/36887 | ||
[36886]: https://github.com/rust-lang/rust/issues/36886 | ||
[36888]: https://github.com/rust-lang/rust/issues/36888 | ||
[36890]: https://github.com/rust-lang/rust/issues/36890 | ||
[36891]: https://github.com/rust-lang/rust/issues/36891 | ||
[36892]: https://github.com/rust-lang/rust/issues/36892 | ||
[42150]: https://github.com/rust-lang/rust/pull/42150 | ||
[42225]: https://github.com/rust-lang/rust/pull/42225 | ||
[42306]: https://github.com/rust-lang/rust/pull/42306 | ||
[42264]: https://github.com/rust-lang/rust/pull/42264 | ||
[42302]: https://github.com/rust-lang/rust/pull/42302 | ||
[cargo/3929]: https://github.com/rust-lang/cargo/pull/3929 | ||
[cargo/3970]: https://github.com/rust-lang/cargo/pull/3970 | ||
[cargo/3979]: https://github.com/rust-lang/cargo/pull/3979 | ||
[cargo/3988]: https://github.com/rust-lang/cargo/pull/3988 | ||
[cargo/4008]: https://github.com/rust-lang/cargo/pull/4008 | ||
[cargo/4022]: https://github.com/rust-lang/cargo/pull/4022 | ||
[cargo/4026]: https://github.com/rust-lang/cargo/pull/4026 | ||
[cargo/4031]: https://github.com/rust-lang/cargo/pull/4031 | ||
[cargo/4032]: https://github.com/rust-lang/cargo/pull/4032 | ||
[cargo/4084]: https://github.com/rust-lang/cargo/pull/4084 | ||
[cargo/4110]: https://github.com/rust-lang/cargo/pull/4110 | ||
|
||
|
||
Version 1.18.0 (2017-06-08) | ||
=========================== | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The correct PR is #41145