Skip to content

Rollup of 7 pull requests - #59694

Closed
Centril wants to merge 19 commits into
rust-lang:masterfrom
Centril:rollup-5u8su4s
Closed

Rollup of 7 pull requests#59694
Centril wants to merge 19 commits into
rust-lang:masterfrom
Centril:rollup-5u8su4s

Conversation

@Centril

Copy link
Copy Markdown
Contributor

Successful merges:

Failed merges:

r? @ghost

czipperzand others added 19 commits March 27, 2019 16:37
Before this change, formatter settings were lost when printing a
`Range`. For example, printing a `Range<f32>` with `{:.2?}` would not
apply the precision modifier when printing the floats. Now the `Debug`
impls look a bit more verbose, but modifier are not lost.
Functions with uninhabited return values are already marked `noreturn`,
but we were still generating return instructions for this. When running
with `-C passes=lint`, LLVM prints:
Unusual: Return statement in function with noreturn attribute
The LLVM manual makes a stronger statement about `noreturn` though:
> This produces undefined behavior at runtime if the function ever does
dynamically return.
We now emit an `abort` anywhere that would have tried to return an
uninhabited value.
…dtolnay
Document std::fs::File close behavior ignoring errors
Resolvesrust-lang#52685
…mundi
Forward formatter settings to bounds of `Range<T>` in `fmt::Debug` impl
Before this change, formatter settings were lost when printing a `Range`. For example, printing a `Range<f32>` with `{:.2?}` would not apply the precision modifier when printing the floats. Now the `Debug` impls look a bit more verbose, but modifier are not lost.
---
I assume the exact output of `Debug` impls in `std` cannot be relied on by users and thus can change, right?
Never return uninhabited values at all
Functions with uninhabited return values are already marked `noreturn`,
but we were still generating return instructions for this. When running
with `-C passes=lint`, LLVM prints:
Unusual: Return statement in function with noreturn attribute
The LLVM manual makes a stronger statement about `noreturn` though:
> This produces undefined behavior at runtime if the function ever does
dynamically return.
We now emit an `abort` anywhere that would have tried to return an
uninhabited value.
Fixesrust-lang#48227
cc rust-lang#7463rust-lang#48229
r? @eddyb
… r=luqmana
Temporarily disable stack probing for gnux32.
@Centril

Copy link
Copy Markdown
ContributorAuthor

@bors r+ p=7

@bors

bors commented Apr 4, 2019

Copy link
Copy Markdown
Collaborator

📌 Commit 6ed6820 has been approved by Centril

@borsbors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Apr 4, 2019
@Centril

Copy link
Copy Markdown
ContributorAuthor

Added #59671.

@CentrilCentril closed this Apr 4, 2019
@Centril
Centril deleted the rollup-5u8su4s branch April 4, 2019 13:09
@CentrilCentril added the rollup A PR which is a rollup label Oct 24, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rollupA PR which is a rollupS-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@Centril@bors@czipperz@RalfJung@LukasKalbertodt@cuviper@tesuji@crlf0710