-
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.18 #41953
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. |
RELEASES.md
Outdated
Cargo | ||
----- | ||
|
||
- [Added Pijul support][cargo/3842] Pijul is a version control system in Rust. |
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 just partial support, not for dependencies, but only for cargo new
.
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.
@est31 Updated to reflect that.
cc @rust-lang/libs @rust-lang/compiler |
RELEASES.md
Outdated
- [rustc can now emit mir with `--emit mir`][39891] | ||
- [Improved LLVM IR for trivial functions][40367] | ||
- [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723] | ||
- [Rustc is now faster][41469] |
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 could be more specific, e.g. "Compilation time speedup opportunities found through profiling" but I have no strong preference.
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've updated the wording.
RELEASES.md
Outdated
- [rustc can now emit mir with `--emit mir`][39891] | ||
- [Improved LLVM IR for trivial functions][40367] | ||
- [Added explanation for E0090(Wrong number of lifetimes are supplied)][40723] | ||
- [Rustc is now faster][41469] |
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.
According to performance graph, the compilation time was reduced around 15% to 20% across the board if I am not mistaken. This is pretty significant improvement. We might as well let user know the actual number.
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 wanted to give a overall number, but I didn't know where to get it. Thanks!
RELEASES.md
Outdated
You can now create new cargo projects with Pijul using `cargo new --vcs pijul` | ||
- [Now always emits build script warnings for crates that fail to build][cargo/3847] | ||
- [Added Android build support][cargo/3885] | ||
- [Added `--all-$KIND` flags][cargo/3901] now you can build all programs |
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.
Oh this ended up actually being --tests
, --bins
, etc, (not --all-$KIND
)
RELEASES.md
Outdated
- [Added `--all-$KIND` flags][cargo/3901] now you can build all programs | ||
of a certain type, for example `cargo build --all-bins` will build all | ||
binaries. | ||
- [Test files are now allowed be named `test.rs`][cargo/3947] |
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 mostly a very minor bugfix, it may not be worth mentioning.
More library features can be found in #41904 I believe |
RELEASES.md
Outdated
the zeroes are placed after the prefix and before the digits. | ||
- [Optimized insertion sort in slice][40807] insertion sort in some cases | ||
2.50%~ faster and in one case now 12.50% faster. | ||
- [`ThreadId` now implements `Hash` and `Debug`][41008] |
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 an unstable feature I believe, so we may not wish to mention it in the release notes just yet
Thanks @Aaronepower ! Note that the release notes are still waiting on a library stabilization pr for 1.18. |
@brson I've just added the stabilised APIs section. |
The "Rustc is now faster" in the "Compiler" section is not a good idea because I've later revealed a regression (probably in the 2017-05-03 Nightly) that has negated those compilation performance improvements. |
@leonardo-m Is there an issue about this? |
There is no issue, because my code is not public. But the problem should be visible with public crates too, if it's a real one. |
cc @arielb1 |
@leonardo-m But as @WiSaGaN points out there has been a very clear performance improvement. |
I think we can objectively say that the compiler is 15-20% faster based on the tests in perf.rlo; however, this may not apply to all cases (as usual) -- if there's code that doesn't show this improvement, or shows the opposite, that's also possible. However, I think it's reasonable to say that for some workloads we did improve by 15-20%. Without having access to anything beyond "compilation got slower for me, negating those benefits" I'm afraid we can't produce anything actionable :/ |
RELEASES.md
Outdated
- [No longer caching stdio on Windows][40516] | ||
- [Changed how the `0` works in format!][40241] Padding zeroes are now always | ||
placed after the sign if it exists and before the digits. With the `#` flag | ||
the zeroes are placed after the prefix and before the digits. |
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 should be mentioned in the Compatibility Notes as it's a breaking change.
RELEASES.md
Outdated
Compiler | ||
-------- | ||
|
||
- [LLVM backend upgraded to 4.0][40123] |
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'm pretty sure LLVM 4 landed just after beta branched, so it will be in 1.19.
This PR is currently blocked on the merge of #41904 to finalise what's been stabilised (I think tryfrom has been removed from there since these notes were last updated). |
It looks like struct layout optimization is in for 1.18. Can you confirm @camlorn ? |
#41904 has landed - just gotta backport to beta. |
@brson It is, I didn't include it initially as the options are behind the unstable flag. |
@Aaronepower hm, I don't see in that patch an indication that it's behind a flag (just the optimization fuel). Library stabilization backports are in. Let's get this updated and landed and hopefully backported soon. |
Here's one for the compatibility notes: #41805 |
RELEASES.md
Outdated
always placed after the sign if it exists and before the digits. With the `#` | ||
flag the zeroes are placed after the prefix and before the digits. | ||
- [Due to the struct field optimisation][40377], using `transmute` on structs | ||
that have no `repr` attribute or `#[repr(Rust)]` will longer work. |
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.
Perhaps an added note here: "(This has always been undefined behavior, but is now more likely to break in practice.)"
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.
will longer work ↦ will no longer work
RELEASES.md
Outdated
- [`HashMap::retain`] | ||
- [`HashSet::retain`] | ||
- [`PeekMut::pop`] | ||
- [`TcpSteam::peek`] |
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. TcpStream::peek
RELEASES.md
Outdated
always placed after the sign if it exists and before the digits. With the `#` | ||
flag the zeroes are placed after the prefix and before the digits. | ||
- [Due to the struct field optimisation][40377], using `transmute` on structs | ||
that have no `repr` attribute or `#[repr(Rust)]` will longer work. |
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.
will longer work ↦ will no longer work
RELEASES.md
Outdated
receiving the wrong priority parsing things like `&for<'a> Tr<'a> + Send` as | ||
`&(for<'a> Tr<'a> + Send)` instead of `(&for<'a> Tr<'a>) + Send` | ||
- [Overlapping inherent `impl`s are now a hard error][40728] | ||
- [`PartialOrd` and `Ord` must to agree on the ordering.][41270] |
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 must to agree
-> must agree
#42068 is going to get a last-minute backport. |
@bors r- probably we should try to land that backport, then land this, then backport the relnotes. |
⌛ Trying commit 9c3e733 with merge a8b46ce... |
@Aaronepower there's a few new comments to address here. |
I'm not sure what bors is doing with this PR atm. Status says "pending (try)", and I just r-ed. |
@bors retry |
Updated releases notes for 1.18 This is my first time making the release notes so please give it an extra once over!
💔 Test failed - status-travis |
Manually canceled the try build to get it out of bors head. |
I addressed remaining nits and added RFC links. |
I took the liberty of squashing. Hope you don't mind @Aaronepower. |
Looks like |
Fixed TcpSteam::peek |
@bors r+ |
📌 Commit 02c0d3c has been approved by |
[beta] Updated releases notes for 1.18 - #41953
Updated releases notes for 1.18 This is my first time making the release notes so please give it an extra once over!
☀️ Test successful - status-appveyor, status-travis |
This is my first time making the release notes so please give it an extra once over!