Commit graph

298901 commits

Author SHA1 Message Date
Guillaume Gomez
a94abae911 Clarify docs of CONFUSING_METHOD_TO_NUMERIC_CAST 2025-05-07 21:42:21 +02:00
Guillaume Gomez
06fa0452eb Rename lint into confusing_method_to_numeric_cast 2025-05-07 21:38:38 +02:00
Josh Triplett
38e3fa61f6 style: Never break within a nullary function call func() or a unit literal () 2025-05-07 20:36:06 +01:00
Daniel Paoliello
75ca6c621e [win][arm64] Disable MSVC Linker 'Arm Hazard' warning 2025-05-07 12:02:14 -07:00
Alona Enraght-Moony
aeb70c710a rustdoc-json: Remove newlines from attributes 2025-05-07 18:45:58 +00:00
Michael Goulet
f03d246db9 Better error message for late/early lifetime param mismatch 2025-05-07 18:12:54 +00:00
Daniel Paoliello
0cacc05531 [win][arm64] Disable FS tests that require symlinks 2025-05-07 11:12:11 -07:00
Daniel Paoliello
036b5fcb02 [win] Update LLVM toolchain used to build LLVM to 20 2025-05-07 11:05:27 -07:00
lcnr
e7979eab89 detect additional uses of opaques after writeback 2025-05-07 17:59:51 +00:00
lcnr
fc0ef54fd9 opaque_type_storage to InferCtxtLike 2025-05-07 17:58:20 +00:00
Daniel Paoliello
742aaf9b69 [arm64] Pointer auth test should link with C static library statically 2025-05-07 10:52:18 -07:00
Daniel Paoliello
3286d4aad7 [win][arm64] Disable various DebugInfo tests that don't work on Arm64 Windows 2025-05-07 10:49:54 -07:00
Daniel Paoliello
6dabf7ea3a [Arm64EC] Only decorate functions with # 2025-05-07 10:36:12 -07:00
Michael Goulet
3799d8427a Review 2025-05-07 17:29:12 +00:00
Michael Goulet
b27d630f89 Point out region bound mismatches in check_region_bounds_on_impl_item 2025-05-07 17:13:39 +00:00
Michael Goulet
a910329c67 Use MaybeCause::or to allow constraints from overflows if they are combined with ambiguity 2025-05-07 17:12:15 +00:00
Kivooeo
3cd065d3d3 macro expansion issue 2025-05-07 21:51:41 +05:00
Michael Goulet
fd37906477 Only include associated type bounds for Self:Sized associated types if they are provided 2025-05-07 16:36:55 +00:00
dswij
f88f9a9dc5
Fix manual_let_else FN when diverges on simple enum variant (#14732)
Closes rust-lang/rust-clippy#14598

Implemented checks for simple enum variants when checking if match arms
are disjointed.

changelog: [`manual_let_else`] fix FN when diverges on simple enum
variant
2025-05-07 16:33:07 +00:00
Michael Goulet
df47958894 Remove manual WF hack 2025-05-07 16:29:59 +00:00
Michael Goulet
8a21d1b495 Review 2025-05-07 16:29:49 +00:00
Samuel Tardieu
50cff118d8
Make let_with_type_underscore help message into a suggestion (#14749)
changelog: none
2025-05-07 16:26:54 +00:00
Guillaume Gomez
5e5043d733
Rollup merge of #140745 - jchecahi:run-make-support-cargo-rustc-dylib, r=jieyouxu
run-make-support: set rustc dylib path for cargo wrapper

Some run-make tests invoke Cargo via run_make_support::cargo(), but fail to execute correctly when rustc is built without rpath. In these setups, runtime loading of rustc’s shared libraries fails unless the appropriate dynamic library path is set manually.

This commit updates the cargo() wrapper to call set_host_compiler_dylib_path(), aligning its behavior with the existing rustc() wrapper: f76c7367c6/src/tools/run-make-support/src/external_deps/rustc.rs (L39-L43)

This ensures that Cargo invocations during tests inherit the necessary dylib paths, avoiding errors related to missing shared libraries in rpath-less builds.

Fixes part of #140738
2025-05-07 18:19:09 +02:00
Guillaume Gomez
2f0a19adf1
Rollup merge of #140741 - husqvarnagroup:af/armv5te-target-maintainer, r=jieyouxu
add armv5te-unknown-linux-gnueabi target maintainer

My employer is interested in having this target maintained and we already have some tests in our CI running for it.

armv5te-unknown-linux-gnueabi can be ticket off in #113739.
2025-05-07 18:19:08 +02:00
Guillaume Gomez
5152ab2f5e
Rollup merge of #140734 - ivmarkov:master, r=joboet
Fix regression from #140393 for espidf / horizon / nuttx / vita

#140393 introduced changes to the layout of the `std::sys::process` code.
As a result, the Tier 3 ESP-IDF (and I suspect Horizon, Nuttx and Vita targets as well) no longer build.

A `pub use unsupported::output` is all that was missing - for the above OSes specifically. This explicit `pub use` is now necessary, because #140393 moved the `output` function to module-level, where it was previously part of `Command` and was thus re-exported automatically, as part of the `imp::Command` re-export further down the file containing the one-liner fix.

Note that - with the change introduced by #140393 - we **can't** anymore just do an unconditional `pub use imp::output` as this function simply does not exist anymore anywhere else but in the `unsupported` module.

r? `@joboet`
2025-05-07 18:19:08 +02:00
Guillaume Gomez
83e3d0e17b
Rollup merge of #140706 - GuillaumeGomez:fix-missing-temp-dir-cleanup, r=notriddle
[rustdoc] Ensure that temporary doctest folder is correctly removed even if doctests failed

Fixes #139899.

The bug was due to the fact that if any doctest fails for any reason, we call `exit` (or it's called inside `libtest` if not edition 2024), meaning that `TempDir`'s destructor isn't called, and therefore the temporary folder isn't cleaned up.

Took me a while to figure out how to reproduce but finally I was able to reproduce the bug with:

`````rust
#![doc(test(attr(deny(warnings))))]

//! ```
//! let a = 12;
//! ```
`````

And then I ensured that panicking doctests were cleaned up as well:

`````rust
//! ```
//! panic!();
//! ```
`````

And finally I checked if it was fixed for merged doctests too (`--edition 2024`).

To make this work, I needed to add a new public function in `libtest` too which would call a function once all tests have been run.

So only issue is: I have absolutely no idea how we can add a regression test for this fix. If anyone has an idea...

r? `@notriddle`
2025-05-07 18:19:07 +02:00
Guillaume Gomez
7d372aec2f
Rollup merge of #140700 - Kivooeo:new-fix-six, r=davidtwco,fmease
Don't crash on error codes passed to `--explain` which exceed our internal limit of 9999

removed panic in case where we do `--explain > 9999` and added check for it

now error looks like this instead of ICE
```
$ rustc.exe --explain E10000
error: E10000 is not a valid error code
```
fixes #140647
r? `@fmease`
2025-05-07 18:19:06 +02:00
Guillaume Gomez
32325e1dec
Rollup merge of #140671 - xizheyin:issue-140169, r=petrochenkov
Parser: Recover error from named params while parse_path

Fixes #140169

I added test to the first commit and the second added the code and changes to test.

r? `@petrochenkov`
2025-05-07 18:19:06 +02:00
Guillaume Gomez
f7a9c672f0
Rollup merge of #140614 - yuk1ty:fix-invalid-module-name-visibility, r=davidtwco
Correct warning message in restricted visibility

Fixes #131220
2025-05-07 18:19:05 +02:00
Guillaume Gomez
82c99c41c0
Rollup merge of #140234 - nnethercote:separate-Analysis-and-Results, r=davidtwco
Separate dataflow analysis and results

`Analysis` gets put into `Results` with `EntryStates`, by `iterate_to_fixpoint`. This has two problems:
- `Results` is passed various places where only `Analysis` is needed.
- `EntryStates` is passed around mutably everywhere even though it is immutable.

This commit mostly separates `Analysis` from `Results` and fixes these two problems.

r? `@davidtwco`
2025-05-07 18:19:04 +02:00
Guillaume Gomez
c680419425 Add UI test for primitive_method_to_numeric_cast 2025-05-07 18:18:06 +02:00
Guillaume Gomez
be40534457 Add primitive_method_to_numeric_cast lint 2025-05-07 18:18:04 +02:00
Michael Goulet
303c4ecfdd Require T: TypeFoldable in Binder<T> visit 2025-05-07 16:00:21 +00:00
Michael Goulet
1f774d74b3 Only prefer param-env candidates if they remain non-global after norm 2025-05-07 16:00:21 +00:00
Michael Goulet
df13f7c1fa Require T: TypeFoldable in Binder<T> visit 2025-05-07 16:00:21 +00:00
Guillaume Gomez
390fc73ae7 Fix new clippy lints 2025-05-07 17:32:31 +02:00
Jason Newcomb
34cd9486c9
Fix diagnostic paths printed by dogfood test (#14746)
Where you would previously see

```
error: some lint
   --> src/lib.rs:1:2
```

it will now print

```
error: some lint
   --> clippy_lints/src/lib.rs:1:2
```

Ensuring you can click the link in the terminal

A workaround for us not being in a workspace

changelog: none
2025-05-07 15:24:46 +00:00
xizheyin
bd88f3e3e3
Check & before suggest remove deref when trait_selection
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-05-07 23:23:25 +08:00
Guillaume Gomez
0bdf0726cf Mark back::lto::optimize_thin_module and back::write::codegen` functions as safe 2025-05-07 17:20:25 +02:00
Alex Macleod
8c045221b5 Make let_with_type_underscore help message into a suggestion 2025-05-07 15:19:40 +00:00
Guillaume Gomez
7f2f0d2ec1 Update tests to 2024 edition 2025-05-07 17:12:22 +02:00
Guillaume Gomez
dcfd5c30d4 Remove unneeded let_chains feature 2025-05-07 17:12:22 +02:00
Guillaume Gomez
8e9a84011d Migrate build system to 2024 edition 2025-05-07 17:12:22 +02:00
xizheyin
b922da3586 Use parse_param_general when parsing (T, U)->R in parse_path_segment
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>

Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
2025-05-07 22:56:14 +08:00
Guillaume Gomez
3278cb5545 Migrate to 2024 edition 2025-05-07 16:34:32 +02:00
Jesus Checa Hidalgo
cd2dc67ead run-make-support: set rustc dylib path for cargo wrapper
Some run-make tests invoke Cargo via run_make_support::cargo(), but fail to
execute correctly when rustc is built without rpath. In these setups, runtime
loading of rustc’s shared libraries fails unless the appropriate dynamic library
path is set manually.

This commit updates the cargo() wrapper to call set_host_compiler_dylib_path(),
aligning its behavior with the existing rustc() wrapper:
f76c7367c6/src/tools/run-make-support/src/external_deps/rustc.rs (L39)

This ensures that Cargo invocations during tests inherit the necessary dylib
paths, avoiding errors related to missing shared libraries in rpath-less builds.

Fixes part of #140738
2025-05-07 16:32:46 +02:00
Alex Macleod
772ea35935 Fix diagnostic paths printed by dogfood test 2025-05-07 14:32:23 +00:00
Manish Goregaokar
ca6281628e
Replace Symbol::as_str usage in match expressions (#14745)
We could do with a way to make matching on the `assert_*` macro kind
easier, this came up a bunch here. I'll take a look at that as a follow
up

changelog: none
2025-05-07 14:09:53 +00:00
Guillaume Gomez
442ae63257 Add regression test for #139899 2025-05-07 16:08:54 +02:00
bjorn3
2f8f464390 Fix mini_core on Windows and macOS 2025-05-07 14:08:11 +00:00