Skip to content

Rollup of 6 pull requests #90235

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 19 commits into from
Oct 24, 2021
Merged

Rollup of 6 pull requests #90235

merged 19 commits into from
Oct 24, 2021

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

lcnr and others added 19 commits October 15, 2021 10:58
The makes the heading / documentation distinction clearer.
Add rustc lint, warning when iterating over hashmaps

r? rust-lang/wg-incr-comp
…ietroalbini

Skip documentation for tier 2 targets on dist-x86_64-apple-darwin

I don't have an easy way to test this locally, but I believe it should work. Based on one log result should shave ~14 minutes off the dist-x86_64-apple builder (doesn't help with aarch64 dist or x86_64 test builder, so not actually decreasing total CI time most likely).

r? ```@pietroalbini```
…mez,camelid

Fix alignment of method headings for scannability

We sometimes use indentation to indicate something is a heading: The section that comes after is indented by 24px relative to the heading. However, the relationship between the "Implementations" section heading, the `impl` headings it contains, and the `pub fn` subheadings within each impl, is awkward. It goes **Implementations**, 15px indent, `impl`, 5px indent, `pub fn`, 4px indent, docblock.

I line up `impl` and `pub fn` with the `Implementations` heading, give `impl` a larger font size to indicate it is higher in the hierarchy, and indent the docblock a full 24px relative to their parent, matching the indents we use elsewhere to distinguish section headings. By letting the `pub fn` stick out to the left of the docblock, I think this makes methods significantly more scannable.

Related to rust-lang#59829

r? `````@camelid`````

[Old](https://doc.rust-lang.org/nightly/std/string/struct.String.html#implementations):

[![image](https://user-images.githubusercontent.com/220205/138380233-9c63a0f2-0f80-40a3-ab3d-a1ee9fb7c5d8.png)](https://doc.rust-lang.org/nightly/std/string/struct.String.html#implementations)

[New](https://jacob.hoffman-andrews.com/rust/outdent-methods/std/string/struct.String.html#implementations):

[![image](https://user-images.githubusercontent.com/220205/138392479-b45fce3f-bf43-42e0-81ee-c4bb9ac35cda.png)](https://jacob.hoffman-andrews.com/rust/outdent-methods/std/string/struct.String.html#implementations)
…_ref_mut, r=oli-obk

Mark `{array, slice}::{from_ref, from_mut}` as const fn

This PR marks the following APIs as `const`:
```rust
// core::array
pub const fn from_ref<T>(s: &T) -> &[T; 1];
pub const fn from_mut<T>(s: &mut T) -> &mut [T; 1];

// core::slice
pub const fn from_ref<T>(s: &T) -> &[T];
pub const fn from_mut<T>(s: &mut T) -> &mut [T];
```

Note that `from_ref` methods require `const_raw_ptr_deref` feature (which seems totally fine, since it's being stabilized, see rust-lang#89551), `from_mut` methods require `const_mut_refs` (which seems fine too since this PR marks `from_mut` functions as const unstable).

r? ````@oli-obk````
Fix ICE when forgetting to `Box` a parameter to a `Self::func` call

Closes rust-lang#90213 .

Assuming we can get the `DefId` of the receiver causes an ICE if the receiver is `Self`. We can just avoid doing this though.
…rflow-checks, r=Mark-Simulacrum

Temporarily turn overflow checks off for rustc-rayon-core

The rustc fork of Rayon has deadlock detection code which intermittently causes overflows in the CI (see rust-lang#90227). So, as a workaround, we unconditionally turn overflow checks off for this crate only.

This workaround should be removed once rust-lang#90227 is fixed.

r? `@Mark-Simulacrum`

cc `@matthiaskrgr`
@rustbot rustbot added the rollup A PR which is a rollup label Oct 24, 2021
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=6

@bors
Copy link
Collaborator

bors commented Oct 24, 2021

📌 Commit eee29fd has been approved by matthiaskrgr

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Oct 24, 2021
@bors
Copy link
Collaborator

bors commented Oct 24, 2021

⌛ Testing commit eee29fd with merge 00d5e42...

@bors
Copy link
Collaborator

bors commented Oct 24, 2021

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 00d5e42 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Oct 24, 2021
@bors bors merged commit 00d5e42 into rust-lang:master Oct 24, 2021
@rustbot rustbot added this to the 1.58.0 milestone Oct 24, 2021
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (00d5e42): comparison url.

Summary: This change led to very large relevant regressions 😿 in compiler performance.

  • Very large regression in instruction counts (up to 9.8% on incr-full builds of deeply-nested-async)

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

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression

@rustbot rustbot added the perf-regression Performance regression. label Oct 24, 2021
@matthiaskrgr
Copy link
Member Author

@Mark-Simulacrum
Copy link
Member

@lcnr local perf with cachegrind also points to #89558 being the cause of the regression here. I suspect we'll want to either improve the performance of that lint or disable it if it's allowed so it doesn't cause downstream effects.

If we don't expect have a fix soon, I would recommend reverting that PR for now.

bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 29, 2021
…able-lint, r=lcnr

Revert "Add rustc lint, warning when iterating over hashmaps"

Fixes perf regressions introduced in rust-lang#90235 by temporarily reverting the relevant PR.
@matthiaskrgr matthiaskrgr deleted the rollup-7pqtevk branch November 20, 2021 15:03
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. rollup A PR which is a rollup S-waiting-on-bors Status: 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.

10 participants