Skip to content

Rollup of 12 pull requests - #89158

Merged
bors merged 26 commits into
rust-lang:masterfrom
the8472:rollup-3e4ijth
Sep 22, 2021
Merged

Rollup of 12 pull requests#89158
bors merged 26 commits into
rust-lang:masterfrom
the8472:rollup-3e4ijth

Conversation

@the8472

Copy link
Copy Markdown
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

FabianWolffand others added 26 commits September 10, 2021 19:23
…nk to installation instructions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
Specifically, ISO/IEC 9899:2018 — better known as "C18" — (and at least
C11, C99 and C89) do not specify the size of `byte` in bits.
Section 3.6 defines "byte" as "addressable unit of data storage" while
section 6.2.5 ("Types") only defines "char" as "large enough to store
any member of the basic execution set" giving it a lower bound of 7 bit
(since there are 96 characters in the basic execution set).
With section 6.5.3.4 paragraph 4 "When sizeof is applied to an operant
that has type char […] the result is 1" you could read this as the size
of `char` in bits being defined as exactly the same as the number of
bits in a byte but it's also valid to read that as an exception.
In general implementations take `char` as the smallest unit of
addressable memory, which for modern byte-addressed architectures is
overwhelmingly 8 bits to the point of this convention being completely
cemented into just about all of our software.
So is any of this actually relevant at all? I hope not. I sincerely hope
that this never, ever comes up.
But if for some reason a poor rustacean is having to interface with C
code running on a Cray X1 that in 2003 is still doing word-addressed
memory with 64-bit words and they trust the docs here blindly it will
blow up in her face. And I'll be truly sorry for her to have to deal
with … all of that.
Using it through the crate-local path in `std` means that it shouldn't make an "Implementations on Foreign Types" section in the `std::error::Error` docs.
Print a note if a character literal contains a variation selector
Fixesrust-lang#88684.
core::ascii::escape_default: reduce struct size
Cleanup: Remove needless reference in ParentHirIterator
It forces an intermediate binding of `Map` which is a Copy type.
…le, r=kennytm
Stabilize `Iterator::map_while`
Per the FCP: rust-lang#68537 (comment)
This PR stabilizes `Iterator::map_while` and `iter::MapWhile` in Rust 1.57.
…r=jyn514
[bootstrap] Improve the error message when `ninja` is not found to link to installation instructions
fixesrust-lang#89091
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
dont `.ensure()` the `thir_abstract_const` query call in `mir_build`
might fix an ICE seen in rust-lang#89022 (note: this PR does not close that issue) about attempting to read stolen thir. I couldn't repro the ICE but this `.ensure` seems sus anyway.
r? `@lcnr`
Fixes a technicality regarding the size of C's `char` type
Specifically, ISO/IEC 9899:2018 — better known as "C18" — (and at least
C11, C99 and C89) do not specify the size of `byte` in bits.
Section 3.6 defines "byte" as "addressable unit of data storage" while
section 6.2.5 ("Types") only defines "char" as "large enough to store
any member of the basic execution set" giving it a lower bound of 7 bit
(since there are 96 characters in the basic execution set).
With section 6.5.3.4 paragraph 4 "When sizeof is applied to an operant
that has type char […] the result is 1" you could read this as the size
of `char` in bits being defined as exactly the same as the number of
bits in a byte but it's also valid to read that as an exception.
In general implementations take `char` as the smallest unit of
addressable memory, which for modern byte-addressed architectures is
overwhelmingly 8 bits to the point of this convention being completely
cemented into just about all of our software.
So is any of this actually relevant at all? I hope not. I sincerely hope
that this never, ever comes up.
But if for some reason a poor rustacean is having to interface with C
code running on a Cray X1 that in 2003 is still doing word-addressed
memory with 64-bit chars and they trust the docs here blindly it will
blow up in her face. And I'll be truly sorry for her to have to deal
with … all of that.
…=Mark-Simulacrum
⬆️ rust-analyzer
`@bors` r+ rollup
…nkov
Fix ICE when `indirect_structural_match` is allowed
Fixesrust-lang#89088. The ICE is caused by `delay_good_path_bug()`, which is called (indirectly) from a `format!()` macro invocation. I have moved the macro invocation into the `decorate` closure of `struct_span_lint_hir()`, so that the macro is only invoked if the lint is not allowed (i.e., causes at least a warning, and thus prevents `delay_good_path_bug()` from firing).
Impl `Error` for `FromSecsError` without foreign type
Using it through the crate-local path in `std` means that it shouldn't make an "Implementations on Foreign Types" section in the `std::error::Error` docs.
…q, r=oli-obk
add case for checking const refs in check_const_value_eq
Previously in `check_const_value_eq` we destructured `ConstValue::ByRef` instances, this didn't account for `ty::Ref`s however, which led to an ICE.
Fixesrust-lang#88876Fixesrust-lang#88384
r? `@oli-obk`
@rustbotrustbot added the rollup A PR which is a rollup label Sep 21, 2021
@the8472

Copy link
Copy Markdown
MemberAuthor

@bors r+ rollup=never p=12

@bors

bors commented Sep 21, 2021

Copy link
Copy Markdown
Collaborator

📌 Commit a3e6c19 has been approved by the8472

@borsbors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Sep 21, 2021
@bors

bors commented Sep 21, 2021

Copy link
Copy Markdown
Collaborator

⌛ Testing commit a3e6c19 with merge d8d1d10...

@bors

bors commented Sep 22, 2021

Copy link
Copy Markdown
Collaborator

☀️ Test successful - checks-actions
Approved by: the8472
Pushing d8d1d10 to master...

@borsbors added the merged-by-bors This PR was explicitly merged by bors. label Sep 22, 2021
@bors
bors merged commit d8d1d10 into rust-lang:masterSep 22, 2021
@rustbotrustbot added this to the 1.57.0 milestone Sep 22, 2021
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (d8d1d10): comparison url.

Summary: This benchmark run did not return any relevant changes.

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

@rustbot label: -perf-regression

flip1995 pushed a commit to flip1995/rust that referenced this pull request Sep 28, 2021
Rollup of 12 pull requests
Successful merges:
- rust-lang#88795 (Print a note if a character literal contains a variation selector)
- rust-lang#89015 (core::ascii::escape_default: reduce struct size)
- rust-lang#89078 (Cleanup: Remove needless reference in ParentHirIterator)
- rust-lang#89086 (Stabilize `Iterator::map_while`)
- rust-lang#89096 ([bootstrap] Improve the error message when `ninja` is not found to link to installation instructions)
- rust-lang#89113 (dont `.ensure()` the `thir_abstract_const` query call in `mir_build`)
- rust-lang#89114 (Fixes a technicality regarding the size of C's `char` type)
- rust-lang#89115 (:arrow_up: rust-analyzer)
- rust-lang#89126 (Fix ICE when `indirect_structural_match` is allowed)
- rust-lang#89141 (Impl `Error` for `FromSecsError` without foreign type)
- rust-lang#89142 (Fix match for placeholder region)
- rust-lang#89147 (add case for checking const refs in check_const_value_eq)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-by-borsThis PR was explicitly merged by bors.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.

14 participants

@the8472@bors@rust-timer@rustbot@FabianWolff@WaffleLapkin@klensy@camsteffen@daira@dequbed@BoxyUwU@lnicola@mbartlett21@b-naber