Skip to content
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

Rollup of 11 pull requests #132626

Merged
merged 29 commits into from
Nov 5, 2024
Merged

Conversation

workingjubilee
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

VulnBandit and others added 29 commits October 16, 2024 16:49
Add a few more possibly false-positive tests for the `improper_ctypes` lint
It caused a test regression in the `cfg_eval.rs` crate. (The bugfix
in rust-lang#129346 was in a different commit; this commit was just a code
simplification.)
The previous version used `['l', 'l']` as pattern, which would suggest that it matches the `ll` of `Hello world` as a whole.
…ler-errors

Improve duplicate derive Copy/Clone diagnostics

Improve duplicate derive Copy/Clone diagnostics.
Closes rust-lang#131083
…ler-errors

More tests for non-exhaustive C-like enums in FFI

Add a few more tests for the `improper_ctypes` lint as found with the [varnish-rs](https://github.com/gquintard/varnish-rs) project.

This follows up on rust-lang#116831, fixed in rust-lang#116863 by ``@workingjubilee`` - I have been seeing these fail with the bindgen-generated non-exhaustive enums inside other structs. Seems the issue does not exist in the primary branch, so this PR just makes sure more cases are covered for the future.
…ler-errors

remove support for extern-block const intrinsics

This converts all const-callable intrinsics into the "new" form of a regular `fn` with `#[rustc_intrinsic]` attribute. That simplifies some of the logic since those functions can be marked `const fn` like regular functions, so intrinsics no longer need a special case to be considered const-callable at all.

I also added a new attribute `#[rustc_const_stable_intrinsic]` to mark an intrinsic as being ready to be exposed on stable. Previously we used the `#[rustc_const_stable_indirect]` attribute for that, but that attribute had a dual role -- when used on a regular function, it is an entirely safe marker to make this function part of recursive const stability, but on an intrinsic it is a trusted marker requiring special care. It's not great for the same attribute to be sometimes fully checked and safe, and sometimes trusted and requiring special care, so I split this into two attributes.

This also fixes rust-lang#122652 by accepting intrinsics as const-stable if they have a fallback body that is recursively const-stable.

The library changes are best reviewed with whitespace hidden.

r? `@compiler-errors`
…placement-ranges, r=petrochenkov

Revert "Avoid nested replacement ranges" from rust-lang#129346.

It caused a test regression in the `cfg_eval.rs` crate. (The bugfix in rust-lang#129346 was in a different commit; this commit was just a code simplification.)

r? `@petrochenkov`
…triddle

[rustdoc] Fix `--show-coverage` when JSON output format is used

I realized while looking on the docs.rs page of the `sysinfo` crate that the coverage numbers displayed were wrong:

![image](https://github.com/user-attachments/assets/264b2e25-6271-4ed1-8b35-e8bd4fd475c6)

I realized that it was because `--show-coverage --output-format=json` was relying on the same logic as the JSON output for the doc generation whereas it should not. I fixed it by changing the API for querying `is_json` a bit.

The underlying issue is that JSON output format is stripping reexports of items from private modules.

r? ``@notriddle``
…r=xFrednet

Clippy: Move some attribute lints to be early pass (post expansion)

r? ```@xFrednet```

As a side effect it removes a duplicated warning on line 53 of the `allow_attributes` test. I discussed this with ```@xFrednet``` , and it's mainly to support the attribute rework rust-lang#131229
Update books

## rust-lang/edition-guide

3 commits in 1f07c242f8162a711a5ac5a4ea8fa7ec884ee7a9..2d482e203eb6d6e353814cf1415c5f94e590b9e0
2024-11-04 14:42:36 UTC to 2019-06-14 21:27:05 UTC

- 2024: rustfmt style edition (rust-lang/edition-guide#331)
- rustdoc: Fix doctest `include` paths (rust-lang/edition-guide#329)
- docs(cargo): Cover MSRV-aware resolver (rust-lang/edition-guide#328)

## rust-lang/reference

3 commits in 23ce619966541bf2c80d45fdfeecf3393e360a13..da0f6dad767670da0e8cd5af8a7090db3272f626
2024-11-01 12:52:51 UTC to 2024-10-30 13:30:17 UTC

- fix typo referring to 'Unsize' trait (rust-lang/reference#1669)
- Add identifier syntax to items.md and subchapters (rust-lang/reference#1599)
- Rename "object safe" to "dyn compatible" (rust-lang/reference#1666)

## rust-lang/rust-by-example

5 commits in 8bede1b919a81ab7d0c961f6bbf68d3efa297bd2..9db78608b17d5f4a6c033b8a3038466b87d63206
2024-10-31 21:03:20 UTC to 2024-10-26 16:06:05 UTC

- fix(doc): correct small errors in pipes.md (rust-lang/rust-by-example#1894)
- Fix ambiguous comment on 2.3 Arrays and Slices page (rust-lang/rust-by-example#1885)
- Fix typo in generics/new_types (rust-lang/rust-by-example#1892)
- docs(zh): fix known issues (rust-lang/rust-by-example#1891)
- `read_lines`: Use `.map_while(Result::ok)` instead of `.flatten()`. (rust-lang/rust-by-example#1890)

## rust-lang/rustc-dev-guide

22 commits in 59d94ea..6a5accd
2024-11-04 14:40:57 UTC to 2024-10-24 20:33:08 UTC

- Add a link for the `reference` compiletest header (rust-lang/rustc-dev-guide#2096)
- Slightly fix up the glossary (rust-lang/rustc-dev-guide#2127)
- Remove an mdbook workaround (rust-lang/rustc-dev-guide#2124)
- Fix broken links (rust-lang/rustc-dev-guide#2123)
- Fix minicore.rs link (rust-lang/rustc-dev-guide#2122)
- Update for recent dataflow simplifications. (rust-lang/rustc-dev-guide#2121)
- Describe `minicore` test auxiliary and directive (rust-lang/rustc-dev-guide#2097)
- Fix and update docs for `needs-force-clang-based-tests` (rust-lang/rustc-dev-guide#2085)
- Add redirects for integration-testing and headers (rust-lang/rustc-dev-guide#2092)
- Fix borked links (rust-lang/rustc-dev-guide#2119)
- Describe how to revert a PR (rust-lang/rustc-dev-guide#2118)
- Linkify the footnotes in the async closure chapter (rust-lang/rustc-dev-guide#2117)
- Try to fix footnotes (rust-lang/rustc-dev-guide#2115)
- Fix rustc-related links that are 404 right now (rust-lang/rustc-dev-guide#2112)
- Async closures chapter (rust-lang/rustc-dev-guide#2110)
- update rfl ci job policy (rust-lang/rustc-dev-guide#2108)
- Fix internal and incomplete links (rust-lang/rustc-dev-guide#2107)
- Describe why and how to use a separate build directory for rust-analyzer (rust-lang/rustc-dev-guide#2106)
- Update current status of diagnostics translation infra (rust-lang/rustc-dev-guide#2105)
- update const stability docs (rust-lang/rustc-dev-guide#2098)
- Advice on auto-formatting C++ code (rust-lang/rustc-dev-guide#2104)
- Update compiler-src.md (rust-lang/rustc-dev-guide#2102)
…oc, r=tgross35

Improve example of `impl Pattern for &[char]`

The previous version used `['l', 'l']` as pattern, which would suggest that it matches the `ll` of `Hello world` as a whole.
docs: fix grammar in doc comment at unix/process.rs

Fixed the grammar of a sentence in the docs
@rustbot rustbot added the O-unix Operating system: Unix-like label Nov 5, 2024
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Nov 5, 2024
@workingjubilee
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Nov 5, 2024

📌 Commit 7bff6ff has been approved by workingjubilee

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 5, 2024
@bors
Copy link
Contributor

bors commented Nov 5, 2024

⌛ Testing commit 7bff6ff with merge 27e38f8...

@bors
Copy link
Contributor

bors commented Nov 5, 2024

☀️ Test successful - checks-actions
Approved by: workingjubilee
Pushing 27e38f8 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 5, 2024
@bors bors merged commit 27e38f8 into rust-lang:master Nov 5, 2024
7 checks passed
@rustbot rustbot added this to the 1.84.0 milestone Nov 5, 2024
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#131153 Improve duplicate derive Copy/Clone diagnostics 4bedf4bb0a52e2ffda9fc4b493e0729bf165abe0 (link)
#132025 fix suggestion for diagnostic error E0027 5c5b320cfe6aa6117ba6d1d70d838a6cf5c3253c (link)
#132303 More tests for non-exhaustive C-like enums in FFI e2472036e9c09b13846a1c1b8dfe8d1910d6ee6f (link)
#132492 remove support for extern-block const intrinsics da1f1faf4e812b3cf2aeba693a7938cec5e2e208 (link)
#132587 Revert "Avoid nested replacement ranges" from #129346. 7b08cc36e3348b16d4d4043cecf19dfa06edc29a (link)
#132596 [rustdoc] Fix --show-coverage when JSON output format is … 77cc37c0c6814262dcca65d4f8fa7ad3fd795c3a (link)
#132598 Clippy: Move some attribute lints to be early pass (post ex… bc54e69539445fd845c0503fdc34b08976f79c06 (link)
#132601 Update books 12b1e7ad951206858f364c952ce64e93b54b4732 (link)
#132606 Improve example of impl Pattern for &[char] 4620004930fc88de95de21c5d4bf0c859f9453a2 (link)
#132608 document type_implements_trait a2152513e301e2fe927c17ed090b9b0cdc8b4d40 (link)
#132609 docs: fix grammar in doc comment at unix/process.rs fe23c0f43d0b2a5a666d0348e01ca5535f015c3d (link)

previous master: 96477c55bc

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@workingjubilee workingjubilee deleted the rollup-hbmtbzk branch November 5, 2024 08:35
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (27e38f8): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.6% [0.5%, 0.9%] 7
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.3% [-0.3%, -0.3%] 2
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 2.4%, secondary -0.6%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
2.4% [2.4%, 2.4%] 1
Regressions ❌
(secondary)
4.3% [4.3%, 4.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.0% [-3.7%, -2.3%] 2
All ❌✅ (primary) 2.4% [2.4%, 2.4%] 1

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 781.474s -> 779.675s (-0.23%)
Artifact size: 335.25 MiB -> 335.31 MiB (0.02%)

@rustbot rustbot added the perf-regression Performance regression. label Nov 5, 2024
@rylev
Copy link
Member

rylev commented Nov 5, 2024

It's not obvious to me which PR might be the culprit here and the regression is small and contained enough that I don't think it's worth investigating.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Nov 5, 2024
# 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. O-unix Operating system: Unix-like perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. 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. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.