Commit graph

298901 commits

Author SHA1 Message Date
Ben Kimock
f501775ec8 Indicate that the warning on black_box is a general property of Rust
And note that the same limitation applies to all LLVM-based compilers

Co-authored-by: Ralf Jung <post@ralfj.de>
2025-05-08 09:03:57 -04:00
Urgau
f959039994 Rework -Zremap-path-scope macro test with dependency check 2025-05-08 15:02:58 +02:00
Jakub Beránek
082777e088
Do not deny warnings for fast try builds 2025-05-08 14:52:38 +02:00
Urgau
fc0f0a8add Add tests for -Zremap-path-scope and paths in diagnostics with deps 2025-05-08 14:24:31 +02:00
Matthias Krüger
7fc43e50c7
Rollup merge of #140759 - dpaoliello:symlink, r=workingjubilee
[win][arm64] Disable std::fs tests that require symlinks

While trying to get the aarch64-msvc build working correctly (#140136), various tests in `std::fs` were failing as the Arm64 Windows runner image we are using does not have Developer Mode enabled, thus it cannot create symlinks.

I've [filed a request to get Developer Mode enabled](https://github.com/actions/partner-runner-images/issues/94), but in the meantime I've disabled the relevant tests on Arm64 Windows.
2025-05-08 13:55:46 +02:00
Matthias Krüger
54f1da4486
Rollup merge of #140758 - dpaoliello:armhazard, r=jieyouxu
[win][arm64] Disable MSVC Linker 'Arm Hazard' warning

While trying to get the aarch64-msvc build working correctly (#140136), I observed the following test failure:

From <https://github.com/rust-lang/rust/pull/140136#issuecomment-2848179657>

```
  = note: main.main.d17f5fbe6225cf88-cgu.0.rcgu.o : fatal error LNK1322: cannot avoid potential ARM hazard (Cortex-A53 MPCore processor bug #843419) in section 0x57; please consider using compiler option /Gy if it was not used
```

This is warning of a code sequence that triggers a bug in Cortex-A53 processors: <https://developer.arm.com/documentation/epm048406/latest>

However, since Windows 10 isn't supported on the Cortex-A53, this warning is not required, so it can be suppressed using the undocumented `/arm64hazardfree` flag.
2025-05-08 13:55:45 +02:00
Matthias Krüger
12d6a47bda
Rollup merge of #140756 - dpaoliello:paclink, r=jieyouxu
[arm64] Pointer auth test should link with C static library statically

While trying to get the aarch64-msvc build working correctly (#140136), the `pointer-auth-link-with-c` test was failing.

The pointer auth test builds its C library statically:
3ef8e64ce9/tests/run-make/pointer-auth-link-with-c/rmake.rs (L15)

However, the Rust code did not indicate the link kind, so it defaulted to dynamic which then fails on Windows.
2025-05-08 13:55:45 +02:00
Matthias Krüger
13ad11821e
Rollup merge of #140755 - dpaoliello:arm64windebuginfo, r=jieyouxu
[win][arm64] Disable various DebugInfo tests that don't work on Arm64 Windows

While trying to get the aarch64-msvc build working correctly (#140136), various DebugInfo related tests were failing.

I've added comments to each test to indicate why it is disabled and linked to appropriate bugs.

* `tests/debuginfo/step-into-match.rs`: Stepping at the end of a function on goes to the callsite, not the instruction after it.
* `tests/debuginfo/type-names.rs`: Arm64 Windows cdb doesn't support JavaScript extensions. Followed up with the Microsoft Debugger Tools team to fix this.
* `tests/ui/runtime/backtrace-debuginfo.rs`: Backtraces are truncated due to #140489
2025-05-08 13:55:44 +02:00
Matthias Krüger
4ed13189ec
Rollup merge of #140736 - xizheyin:issue-140166, r=petrochenkov
trait selection: check `&` before suggest remove deref

FIxes #140166

r? compiler
2025-05-08 13:55:44 +02:00
bors
e964ccafed Auto merge of #140732 - onur-ozkan:use-in-tree-rustfmt, r=Kobzol
make it possible to run in-tree rustfmt with `x run rustfmt`

Currently, there is no way to run in-tree `rustfmt` using `x fmt` or `x test tidy` commands. This PR implements `rustfmt` on `x run`, which allows bootstrap to run the in-tree `rustfmt`.

Fixes #140723
2025-05-08 11:53:39 +00:00
Philipp Krones
e04158caed
triagebot: canonicalize-issue-linksissue-links (#14751)
The feature [has been
renamed](https://forge.rust-lang.org/triagebot/canonicalize-issue-links.html).

changelog: none
2025-05-08 11:45:29 +00:00
Samuel Tardieu
38d2387f69 Simplify is_simple_break_expr
This is shorter, and also avoids overloading the `peel_blocks()` from
`clippy_utils` with different semantics.
2025-05-08 13:26:50 +02:00
Boxy
f31bf4a94e
Merge pull request #2323 from smanilov/patch-2
Align advice to discourage issue-number-only names
2025-05-08 12:26:35 +01:00
Alexey Semenyuk
1fbfbb59e9 Fix integer_division false negative for NonZero denominators 2025-05-08 16:12:47 +05:00
Stan Manilov
d87763dc4f Remark test naming exception 2025-05-08 14:05:31 +03:00
xizheyin
4101d90818
std: Explain prefer TryInto over TryFrom when specifying traits bounds on generic function
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-05-08 18:12:05 +08:00
xizheyin
b6c2a429ef
std: Make consistence between From and Into
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-05-08 18:09:29 +08:00
Nicholas Nethercote
d22461c9b7 Remove associated type InvocationCollectorNode::AttrsTy
It's always equal to `ast::AttrVec`, so just use that directly.
2025-05-08 19:59:48 +10:00
Chayim Refael Friedman
321a6d66ac
Merge pull request #19764 from ChayimFriedman2/too-many-asterisks-dbg
fix: Fix postfix snippets duplicating derefs
2025-05-08 09:55:35 +00:00
Chayim Refael Friedman
322451c7d2 Fix postfix snippets duplicating derefs 2025-05-08 11:44:38 +03:00
Tshepang Mbambo
f52e1be695
Merge pull request #2375 from smanilov/patch-4
Fix minor typo in serialization.md
2025-05-08 10:39:05 +02:00
Lukas Wirth
4c69f8d0a7
Merge pull request #19763 from ChayimFriedman2/ws-completions
fix: Still complete parentheses & method call arguments if there are existing parentheses, but they are after a newline
2025-05-08 08:23:52 +00:00
Lukas Wirth
99be5d4d8e perf: Request cancellation while processing changed files 2025-05-08 10:18:17 +02:00
Jakub Beránek
34495f5895
Migrate opt-dist to edition 2024 2025-05-08 10:18:17 +02:00
Jakub Beránek
52fcf33ed7
Remove unused dependency from opt-dist 2025-05-08 10:17:21 +02:00
Stan Manilov
47cd0e733c
Fix minor typo in serialization.md 2025-05-08 11:13:50 +03:00
Chayim Refael Friedman
db9c18e44e Still complete parentheses & method call arguments if there are existing parentheses, but they are after a newline 2025-05-08 11:05:39 +03:00
Luca Versari
ae25c39f22 Update documentation of OnceLock::get_or_init.
Explicitly point out that if the function panics the init function might
be called multiple times.
2025-05-08 09:33:38 +02:00
onur-ozkan
e85d014244 add change-entry for x run rustfmt
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-08 10:18:17 +03:00
onur-ozkan
1a18da5674 implement x run rustfmt
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-08 10:18:05 +03:00
Tshepang Mbambo
b2de3f4611
Merge pull request #2374 from rust-lang/rustc-pull
Rustc pull update
2025-05-08 09:18:01 +02:00
The rustc-dev-guide Cronjob Bot
659f0b606d Merge from rustc 2025-05-08 07:16:31 +00:00
The rustc-dev-guide Cronjob Bot
046bfb3e8c Preparing for merge from rustc 2025-05-08 07:16:18 +00:00
bors
1973872013 Auto merge of #140781 - matthiaskrgr:rollup-90sig9g, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #140260 (Only prefer param-env candidates if they remain non-global after norm)
 - #140523 (Better error message for late/early lifetime param mismatch)
 - #140579 (Remove estebank from automated review assignment)
 - #140641 (detect additional uses of opaques after writeback)
 - #140711 (Do not discard constraints on overflow if there was candidate ambiguity)
 - #140762 (rustdoc-json: Remove newlines from attributes)
 - #140764 (style: Never break within a nullary function call `func()` or a unit literal `()`)
 - #140769 (Add `DefPathData::OpaqueLifetime` to avoid conflicts for remapped opaque lifetimes)
 - #140773 (triagebot: Better message for changes to `tests/rustdoc-json`)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-05-08 06:52:42 +00:00
Matthias Krüger
526923ad05
Rollup merge of #140773 - aDotInTheVoid:rdj-triagdfsadgs, r=dtolnay
triagebot: Better message for changes to `tests/rustdoc-json`

Followup to #140689 / #140606

Adds a message to changes to `tests/rustdoc-json`, instead of just pinging me. Hopefully this makes the significance of these tests clearer to people who otherwise wouldn't have context, so hopefully we can avoid that happening again. It's annoyingly hard to know how well this works, because the real test is seeing if it doesn't get ignored.

Predrag has [kindly offered](https://github.com/rust-lang/rust/issues/140689#issuecomment-2855602664) to also get pinged here.

cc ``@jyn514`` ``@obi1kenobi``

r? ``@GuillaumeGomez``
2025-05-08 08:14:21 +02:00
Matthias Krüger
34feb216e6
Rollup merge of #140769 - Zoxc:fix-140731, r=oli-obk
Add `DefPathData::OpaqueLifetime` to avoid conflicts for remapped opaque lifetimes

This adds `DefPathData::OpaqueLifetime` to ensure the def paths for remapped opaque lifetimes remain unique.

Fixes https://github.com/rust-lang/rust/issues/140731.

r? ``@oli-obk``
2025-05-08 08:14:20 +02:00
Matthias Krüger
b330d04b2d
Rollup merge of #140764 - joshtriplett:style-nullary-functions, r=traviscross
style: Never break within a nullary function call `func()` or a unit literal `()`

Implements https://github.com/rust-lang/style-team/issues/210
2025-05-08 08:14:19 +02:00
Matthias Krüger
cd235bdec8
Rollup merge of #140762 - aDotInTheVoid:popnl, r=GuillaumeGomez
rustdoc-json: Remove newlines from attributes

Fixes #140689

Not sure if this needs to bump `FORMAT_VERSION` or not.

r? ``@GuillaumeGomez``

cc ``@obi1kenobi``
2025-05-08 08:14:19 +02:00
Matthias Krüger
74b79aee60
Rollup merge of #140711 - compiler-errors:combine-maybes, r=lcnr
Do not discard constraints on overflow if there was candidate ambiguity

Fixes https://github.com/rust-lang/trait-system-refactor-initiative/issues/201.

There's a pretty chunky justification in the test.

r? lcnr
2025-05-08 08:14:18 +02:00
Matthias Krüger
aace48811b
Rollup merge of #140641 - lcnr:opaque-type-storage-entries, r=compiler-errors
detect additional uses of opaques after writeback

Based on #140607. It's a lot harder to encounter in practice than I though 😅 😁 I've still added it with the expectation that somebody will encounter it at some point.

Also modifies the `EvalCtxt` to use the same impl to detect newly added opaque types.

r? ``@compiler-errors``
2025-05-08 08:14:18 +02:00
Matthias Krüger
1521f2cff3
Rollup merge of #140579 - jieyouxu:temp-remove, r=wesleywiser
Remove estebank from automated review assignment

First of all, Esteban thanks for all the reviews 💙

I think you've been quite busy IRL recently, so I'm proposing to remove you from the *automated* review assignment to prevent randomly rolling compiler PRs to you until you have more availability. If this is just temporary, please close this PR!

This is [just a way to improve our fairness when assigning reviews, trying to find a balance between leaving time to Rust contributors review on their terms and availability and avoid having PRs waiting for too long](https://github.com/rust-lang/compiler-team/issues/856).

> [!NOTE]
>
> This only prevents randomly-rolled compiler PRs from being auto assigned to you, it does not prevent explicit `r?` assignments.

**Please feel free to re-add yourself back to the active review rotation once you have more availability (if you feel like it).**

- If you want, it's also possible to only opt-out of the *general* compiler review rotation (`r? compiler`) but keep e.g. `r? diagnostics` rolls.

r? compiler_leads
2025-05-08 08:14:17 +02:00
Matthias Krüger
a810f8ac89
Rollup merge of #140523 - compiler-errors:late-early-mismatch, r=jackh726
Better error message for late/early lifetime param mismatch

Rework the way we report early-/late-bound lifetime param mismatches to equate the trait and impl signatures using region variables, so that we can detect when a late-bound param is present in the signature in place of an early-bound param, or vice versa.

The diagnostic is a bit more technical, but it's more obviously clear to see what the problem is, even if it's not great at explaining how to fix it. I think this could be improved further, but I still think it's much better than what exists today.

Note to reviewer(s): I'd appreciate if we didn't bikeshed *too* much about this verbiage, b/c I hope it's clear that the old message sucked a lot. I'm happy to file bugs for interested new contributors to improve the messaging further.

Edit(fmease): Fixes https://github.com/rust-lang/rust/issues/33624.
2025-05-08 08:14:16 +02:00
Matthias Krüger
8a3ab85e7d
Rollup merge of #140260 - compiler-errors:only-global-post-norm, r=lcnr
Only prefer param-env candidates if they remain non-global after norm

Introduce `CandidateSource::GlobalParamEnv`, and dynamically compute the `CandidateSource` based on whether the predicate contains params *post-normalization*.

This code needs some cleanup and documentation. I'm just putting this up for review.

cc https://github.com/rust-lang/trait-system-refactor-initiative/issues/179

r? lcnr
2025-05-08 08:14:16 +02:00
bors
7e552b46af Auto merge of #140106 - dianne:deref-pat-usefulness, r=Nadrieril
allow deref patterns to participate in exhaustiveness analysis

Per [this proposal](https://hackmd.io/4qDDMcvyQ-GDB089IPcHGg#Exhaustiveness), this PR allows deref patterns to participate in exhaustiveness analysis. Currently all deref patterns enforce `DerefPure` bounds on their scrutinees, so this assumes all patterns it's analyzing are well-behaved. This also doesn't support [mixed exhaustiveness](https://hackmd.io/4qDDMcvyQ-GDB089IPcHGg#Mixed-exhaustiveness), and instead emits an error if deref patterns are used together with normal constructors. I think mixed exhaustiveness would be nice to have (especially if we eventually want to support arbitrary `Deref` impls[^1]), but it'd require more work to get reasonable diagnostics[^2].

Tracking issue for deref patterns: #87121

r? `@Nadrieril`

[^1]: Regardless of whether we support limited exhaustiveness checking for untrusted `Deref` or always require other arms to be exhaustive, I think it'd be useful to allow mixed matching for user-defined smart pointers. And it'd be strange if it worked there but not for `Cow`.

[^2]: I think listing out witnesses of non-exhaustiveness can be confusing when they're not necessarily disjoint, and when you only need to cover some of them, so we'd probably want special formatting and/or explanatory subdiagnostics. And if it's implemented similarly to unions, we'd probably also want some way of merging witnesses; the way witnesses for unions can appear duplicated is pretty unfortunate. I'm not sure yet how the diagnostics should look, especially for deeply nested patterns.
2025-05-08 02:16:45 +00:00
bors
ae3e8c6191 Auto merge of #140751 - GuillaumeGomez:rollup-eahw4ta, r=GuillaumeGomez
Rollup of 8 pull requests

Successful merges:

 - #140234 (Separate dataflow analysis and results)
 - #140614 (Correct warning message in restricted visibility)
 - #140671 (Parser: Recover error from named params while parse_path)
 - #140700 (Don't crash on error codes passed to `--explain` which exceed our internal limit of 9999 )
 - #140706 ([rustdoc] Ensure that temporary doctest folder is correctly removed even if doctests failed)
 - #140734 (Fix regression from #140393 for espidf / horizon / nuttx / vita)
 - #140741 (add armv5te-unknown-linux-gnueabi target maintainer)
 - #140745 (run-make-support: set rustc dylib path for cargo wrapper)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-05-07 23:03:25 +00:00
Samuel Tardieu
d17eeb5d83 triagebot: canonicalize-issue-linksissue-links
The feature has been renamed in triagebot
(https://forge.rust-lang.org/triagebot/canonicalize-issue-links.html).
2025-05-08 00:04:38 +02:00
Alona Enraght-Moony
1799f5f8a9 triagebot: Better message for changes to tests/rustdoc-json 2025-05-07 21:33:04 +00:00
onur-ozkan
34c42c8f31 do not allow stage > 0 on x fmt
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-07 23:37:30 +03:00
John Kåre Alsaker
5913e55dfc Add DefPathData::OpaqueLifetime to avoid conflicts for remapped opaque lifetimes 2025-05-07 22:17:29 +02:00
bors
e9f8103f93 Auto merge of #140590 - lcnr:closure-in-dead-code, r=compiler-errors
borrowck nested items in dead code

fixes https://github.com/rust-lang/rust/issues/140583

r? `@compiler-errors`
2025-05-07 19:49:36 +00:00