Updated RELEASES.md for 1.21.0#44481
Conversation
|
(rust_highfive has picked a reviewer for you, use r? to override) |
RELEASES.md
Outdated
|
|
||
| Libraries | ||
| --------- | ||
| - [Generate builtin impls for `Clone` for `[T: N]` where `N` is between 0 |
RELEASES.md
Outdated
| Language | ||
| -------- | ||
| - [Relaxed path syntax. You can now add type parameters to values][43540] | ||
| Example: `struct Foo<T>(T); let bar = Foo::<u8>(0);`. |
There was a problem hiding this comment.
Foo::<u8>(0) was always possible, what #43540 does is permitting (sometimes unnecessary) :: before < in all paths, including paths passed to macros.
Previously:
my_macro!(Vec<i32>::new); // OK
my_macro!(Vec::<i32>::new); // ERRORNow:
my_macro!(Vec<i32>::new); // OK
my_macro!(Vec::<i32>::new); // OK too
RELEASES.md
Outdated
| - [Remove the trait selection impl in method::probe][43880] This may cause | ||
| breakage in subtyping corner cases. | ||
| - [make JSON error's byte position start at top of file.][42973] Was previously | ||
| relative to the `CodeMap` which required unstable code. |
There was a problem hiding this comment.
Release note readers shouldn't need to think about named internal implementation details like CodeMap, and I'm not sure where "which required unstable code" is coming from.
Maybe something like "was previously relative to a concatenation of files in a crate"?? (I don't actually know how the compiler determines which files go in a CodeMap—and neither does typical consumer of error-message JSON, which is why we fixed this).
|
There should also be a compatibility bullet point for the |
RELEASES.md
Outdated
| Compatibility Notes | ||
| ------------------- | ||
| - [Remove the trait selection impl in method::probe][43880] This may cause | ||
| breakage in subtyping corner cases. |
There was a problem hiding this comment.
Is there any breakage examples?
BTW "trait selection impl in method::probe" sounds too technical for readers.
There was a problem hiding this comment.
It definitely is I just couldn't think of anything better. @arielb1 would you know a better explanation and example?
There was a problem hiding this comment.
@Aaronepower: Maybe summarize or just link to #44224 (comment) ?
|
@zackmdavis Could you provide a PR link? I can't seem to find the PR that makes the lint stronger. |
alexcrichton
left a comment
There was a problem hiding this comment.
Thanks @Aaronepower!
I think this may also want to mention [patch] in Cargo (detailed in RFC 1969)
| Misc | ||
| ---- | ||
| - [Cargo docs are moving][43916] | ||
| to [doc.rust-lang.org/cargo](https://doc.rust-lang.org/cargo) |
There was a problem hiding this comment.
We may not want to highlight this just yet as they're still a redirect to doc.crates.io, but soon though!
There was a problem hiding this comment.
I didn't think so either, it was marked as relnotes so I included it.
|
Another Cargo change that may be worth mentioning is rust-lang/cargo#4270, a change to the ignore/exclude syntax |
|
Also rust-lang/cargo#4400, the addition of the |
|
Also rust-lang/cargo#4364, a new compatibility note |
|
Speaking of lint changes, I believe |
The change was, somewhat embarrassingly, unintentional in #43728 (removed a |
RELEASES.md
Outdated
| Libraries | ||
| --------- | ||
| - [Generate builtin impls for `Clone` for `[T; N]` where `N` is between 0 | ||
| and 32][43690] |
There was a problem hiding this comment.
It's more than this. Clone is now implemented for all arrays with T: Clone, all tuples with every member being Clone and all function pointers.
RELEASES.md
Outdated
| like patterns][cargo/4270] | ||
| - [Added the `--all-targets` option][cargo/4400] | ||
| - [Using required dependencies as a feature is now deprecated and emits | ||
| a warning][cargo/] |
|
gah sorry for letting this sit @Aaronepower! slipped off my radar :( In any case looks great, thanks so much again for tackling this! Let's get this in and we can continue to iterate in-tree @bors: r+ |
|
📌 Commit f3c316d has been approved by |
|
⌛ Testing commit f3c316d with merge 547d8a36ef4903810e779313cd0f9ffd3522b92b... |
|
💔 Test failed - status-appveyor |
|
@bors retry Wat. Spurious network error, can't resolve crates.io. |
|
⌛ Testing commit f3c316d with merge 65e8d5afd9f7d4eaaeed2db28b9b4555377aa420... |
|
Adds the RLS! |
|
@nrc I've added that, let know if the PR I picked is the wrong one to link. |
RELEASES.md
Outdated
| Example: | ||
| ```rust | ||
| fn main() { | ||
| let x: &'static u32 = 0; |
|
We are stabilizing std::mem::discriminant in 1.21. #44263, #44552 We could backport any of the following library stabilizations -- I'm not clear how we decide whether to do that.
|
|
The docs got a few notable quality-of-life additions. Not sure whether they're all "release notes" worthy, but i'll note them here all the same: |
|
I think the "async-llvm" changes from #43506 will be in the next release (right, @alexcrichton?). This feature is pretty neat and it solves a fundamental problem we started running into with incremental compilation: Before, the amount of memory consumed by the LLVM part of compilation was determined by the total size of your crate. After, it is determined by the size of the largest N codegen-units, where N is the number of parallel threads you tell rustc to use. Note that this is something especially important for incr. comp. but the feature helps with any setup that uses Together with @alexcrichton's jobserver changes, this makes using something like |
RELEASES.md
Outdated
| -------- | ||
| - [Upgraded jemalloc to 4.5.0][43911] | ||
| - [Enabled unwinding panics on Redox][43917] | ||
| - [Now emits a warning when you have an unused `extern crate`][42588] |
|
Alright the release is just around the corner, so let's merge! @bors: r+ |
|
📌 Commit 7ed23f1 has been approved by |
Updated RELEASES.md for 1.21.0 [Rendered](https://github.com/Aaronepower/rust/blob/master/RELEASES.md)
|
☀️ Test successful - status-appveyor, status-travis |
Rendered