-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Rollup of 8 pull requests #98904
Rollup of 8 pull requests #98904
Conversation
This avoids accidental introduction (such as in rust-lang#97488).
Clarify MIR semantics of checked binary operations
…r-span, r=oli-obk Improve spans for specialization error Fixes rust-lang#98777
…n514 Lint against executable files in the root directory This avoids accidental introduction (such as in rust-lang#97488) of executable files into the root directory, not just under library/, src/ or compiler/. Resolves rust-lang#98792
… r=GuillaumeGomez rustdoc: Censor certain complex unevaluated const exprs Fixes rust-lang#97933. This is more of a hotfix for the aforementioned issue. By that, I mean that my proposed patch is not the best solution but one that does not change as much existing code. It treats symptoms rather than the root cause. This PR “censors” certain complex unevaluated constant expressions like `match`es, blocks, function calls, struct literals etc. by pretty-printing them as `_` / `{ _ }` (number and string literals, paths and `()` are still printed as one would expect). Resorting to this placeholder is preferable to printing the full expression verbatim since they can be quite large and verbose resulting in an unreadable mess in the generated documentation. Further, mindlessly printing the const would leak private and `doc(hidden)` struct fields (rust-lang#97933), at least in the current stable & nightly implementations which rely on `span_to_snippet` (!) and `rustc_hir_pretty::id_to_string`. The censoring of _verbose_ expressions is probably going to stay longer term. However, in regards to private and `doc(hidden)` struct fields, I have a more proper fix in mind which I have already partially implemented locally and for which I am going to open a separate PR sometime soon. For that, I was already in contact with `@GuillaumeGomez.` The proper fix involves rustdoc not falling back on pretty-printing unevaluated consts so easily (what this PR is concerned about) and instead preferring to print evaluated consts which contain more information allowing it to selectively hide private and `doc(hidden)` fields, create hyperlinks etc. generally making the output more granular and precise (compared to the brutal `_` placeholder). Unfortunately, I was a bit too late and the issue just hit stable (1.62). Should this be backported to beta or even a potential 1.62.1? r? `@GuillaumeGomez`
…i-obk add more `rustc_pass_by_value` r? ```@oli-obk``` cc rust-lang#98766
…parens, r=oli-obk Fix "wrap closure in parenthesis" suggestion for `async` closure Fixes rust-lang#98023
…f-kind, r=davidtwco incr.comp.: Make split-dwarf commandline options [TRACKED]. This commandline options have an influence on the contents of object files (and .dwo files), so they need to be `[TRACKED]`. r? `@davidtwco`
…lan-DPC Add "no-div-regex" eslint rule r? `@Dylan-DPC`
@bors r+ rollup=never p=8 |
📌 Commit 08d558d has been approved by |
☀️ Test successful - checks-actions |
Finished benchmarking commit (e1d1848): comparison url. Instruction count
Max RSS (memory usage)Results
CyclesResults
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 Footnotes |
Successful merges:
rustc_pass_by_value
#98878 (add morerustc_pass_by_value
)async
closure #98879 (Fix "wrap closure in parenthesis" suggestion forasync
closure)Failed merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup