-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @aturon (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
In this release there has been a lot of error codes added by @GuillaumeGomez I was wondering should they each get a line item, or is the current fine? |
RELEASES.md
Outdated
-------- | ||
|
||
- [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 comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't this be let x = Point { 0: 7, 1: 0 };
RELEASES.md
Outdated
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 comment
The 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"
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.
Looks like a few things are missing:
From<Box<str>> for Box<[u8]>
More methods for str boxes. (reduce Box<[u8]> ↔ Box<str> transmutes) #41258eprint!
andeprintln!
Addeprint!
andeprintln!
macros to the prelude. #41192closure_to_fn_coercion
Stabilize non capturing closure to fn coercion #42162
RELEASES.md
Outdated
- [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 comment
The 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 comment
The reason will be displayed to describe this comment to others. Learn more.
This is also a warning, not error.
RELEASES.md
Outdated
- [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 comment
The reason will be displayed to describe this comment to others. Learn more.
I think this has been reverted: #42472
RELEASES.md
Outdated
Language | ||
-------- | ||
|
||
- [Numeric fields can now be used for creating tuple structs.][36868] |
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
RELEASES.md
Outdated
- [Ending a str literal with an underscore is now a hard error | ||
Example: `"foo"_`][41990] | ||
- [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 comment
The 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.
RELEASES.md
Outdated
- [Publicly exposing a private type is now a hard error][34537] This was | ||
previously a warning. | ||
- [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 comment
The 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).
RELEASES.md
Outdated
- [Type parameter defaults in trait impls and functions is now a | ||
hard error][36887] This was previously a warning. | ||
- [`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 comment
The 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.
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.
These look great! Here are a few additions that I think would clarify some of them.
RELEASES.md
Outdated
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 comment
The 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.
RELEASES.md
Outdated
Compiler | ||
-------- | ||
|
||
- [Added bootstrap support for Android.][41370] |
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.
I suggest expanding this to "Add support for bootstrapping the Rust compiler toolchain on Android."
RELEASES.md
Outdated
|
||
- [Added bootstrap support for Android.][41370] | ||
- [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 comment
The reason will be displayed to describe this comment to others. Learn more.
It might be useful to note that developers must now use --target armv7-linux-androideabi
if they want to continue targeting the armeabi-v7a
ABI.
Should this now mention LLVM4 support? (i.e. rust-llvm is upgraded, and external LLVM4 works too.) |
RELEASES.md
Outdated
Example: `union Foo { bar: u8 }` | ||
|
||
Compiler | ||
-------- |
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.
@brson on the rust side, XZ compression of the tarballs should ready. Should it be mentioned in the release notes or is it better to wait for the next rustup release? |
@Aaronepower There are two sides to it, both the version of LLVM that Rust is shipped with and the external versions it supports in custom builds. For the LLVM 3.9 update it simply said, "The compiler can now be built against LLVM 3.9". |
Thanks a bunch @Aaronepower. Added a link to the rendered notes to the OP. @Aaronepower do any of these have RFC's that can be referenced for further info? I bet numeric fields, break return, unions, maybe closure coercions. I see that 'compatibility notes' is not last this time. Any particular reason? I've put them last in the past to deemphasize them. I don't see custom CRT linkage, xz compression. I've added a milestone issue to make sure rustup with xz gets released: #42542 |
@ranma42 Yes, I think it should be mentioned. rustup will be out in time. |
@Aaronepower I think one line for the error codes is fine. |
ping @Aaronepower, just wanted to keep this on your radar! |
I think rust-lang/cargo#3954 (Add support for custom target-specific runners — |
It is possible the RangeArgument type will change names before release: #43033 |
RangeArgument is not in the release. |
Updated for all comments. #42635 is slated to be fixed and doesn't need a compat note. We might wait to see that reverted and then this is probably good to go. |
RELEASES.md
Outdated
a warning. | ||
- [From the pound escape, lines consisting of multiple `#`s are | ||
now visible][41785] | ||
- [`for` loop desugaring has changed such that `break` does nat |
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.
Typo: s/nat/not/
- [Rust will now release XZ compressed packages][rust-installer/57] | ||
- [rustup will now prefer to download rust packages with | ||
XZ compression][rustup/1100] over GZip packages. | ||
- [Added the ability to escape `#` in rust documentation][41785] By adding |
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.
This change is mentioned twice (once here, then again in "Compatibility Notes" below).
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.
Yeah, I noticed that and decided that it's ok - it's a feature addition with compatibility concerns. shrug
@steveklabnik since we're reverting this change that affects nmake, at least temporarily, to give more time for the ecosystem to adapt, it might be worth mentioning in the release announcement so users are aware. |
RELEASES.md
Outdated
- [From the pound escape, lines consisting of multiple `#`s are | ||
now visible][41785] | ||
- [`for` loop desugaring has changed such that `break` does not | ||
affect type inference][42634] |
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.
This pull request is a fix for #42265 which has never been stable.
This should say: for
loop desugaring has changed such that the iterator is not borrowed during the loop body.
#42265 should also be referenced.
It probably doesn't belong in compatibility notes since it should have no effect on Rust code.
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.
Thanks @Zoxc. Since it has no effect, I just removed it completely.
Oh, if the jobserver patch is reverted, it will need to be removed from the relnotes. |
@brson I'm not seeing any revert PR, was this mentioned somewhere? |
RELEASES.md
Outdated
`aborting due to N previous errors`][42150] This was previously inaccurate and | ||
would only count certain kinds of errors. | ||
- [The compiler now supports Visual Studio 2017][42225] | ||
- [The compiler is now be built against LLVM 4.0.1 by default][42948] |
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.
Typo: "is now be built"
@Aaronepower jobserver was reverted here, which was actually merged here. |
@jimmycuadra yeah, they are both pretty much the same, probably we should only keep the link to the private_in_public PR. |
RELEASES.md
Outdated
command, which has been available since 1.16. | ||
- [Ending a float literal with `._` is now a hard error. | ||
Example: `42._` .][41946] | ||
- [Any use of a private `extern crate` outside of it's module is now a |
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.
its
not it's
I think?
@bors p=100 needs to land before the release! |
RELEASES.md
Outdated
[RFC 1558]: https://github.com/rust-lang/rfcs/pull/1558 | ||
[RFC 1624]: https://github.com/rust-lang/rfcs/pull/1624 | ||
[RFC 1721]: https://github.com/rust-lang/rfcs/pull/1721 | ||
[`Command::envs`]: https://doc.rust-lang.org/nightly/std/process/struct.Command.html#method.envs |
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.
it'd be nice if this didn't link to nightly but it's not a blocker
@bors: r+ |
📌 Commit a911c0c has been approved by |
🔒 Merge conflict |
Github shows no conflict. Dunno whats up. @bors: retry maybe? |
This needs to be rebased, the conflict is presumably in a submodule. |
Closing in favour of a new PR without submodule problems. #43368 |
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.
This is waiting on any beta backports in the coming weeks, and the lib stabilisations pr.
Rendered.