Commit graph

272909 commits

Author SHA1 Message Date
Chayim Refael Friedman
2950325f37 Properly handle different defaults for severity of lints
Previously all lints were assumed to be `#[warn]`, and we had a hand-coded list of `#[allow]` exceptions. Now the severity is autogenerated from rustdoc output.

Also support lints that change status between editions, and the `warnings` lint group.
2024-12-11 20:48:41 +02:00
Lukas Wirth
a18e38e6e2
Merge pull request #18663 from Veykril/push-syoklzkntykn
fix: Swallow rustfmt parsing panics
2024-12-11 10:06:28 +00:00
Laurențiu Nicola
81720881ae
Merge pull request #18662 from lnicola/sync-from-rust
internal: Sync from downstream
2024-12-11 10:05:39 +00:00
Lukas Wirth
e6fbb5c8e6 fix: Swallow rustfmt parsing panics 2024-12-11 10:52:04 +01:00
Laurențiu Nicola
884f57f9fc Bump rustc crates 2024-12-11 11:50:19 +02:00
Laurențiu Nicola
5db2aa865c Merge from rust-lang/rust 2024-12-11 11:49:08 +02:00
Laurențiu Nicola
1649eb6dd7 Preparing for merge from rust-lang/rust 2024-12-11 11:48:46 +02:00
Lukas Wirth
536eea39e8
Merge pull request #18458 from Giga-Bowser/master
feat: Add diagnostic fix to remove unnecessary wrapper in type mismatch
2024-12-11 07:09:15 +00:00
Lukas Wirth
e1a27b8708
Merge pull request #18653 from SomeoneToIgnore/hash-completions
Hash completion items to properly match them during /resolve
2024-12-11 07:08:33 +00:00
Lukas Wirth
b20d1b80bb
Merge pull request #18657 from Giga-Bowser/generate-enum-variant
minor: Migrate `generate_enum_variant` to `SyntaxEditor`
2024-12-11 07:07:22 +00:00
Lukas Wirth
611c72f2f0
Merge pull request #18656 from roife/fix-issue-18639
feat: preserve order of parameters in extract_functions
2024-12-11 07:00:17 +00:00
bors
5a6036a180 Auto merge of #134137 - fmease:rollup-u1p7swx, r=fmease
Rollup of 9 pull requests

Successful merges:

 - #133583 (Fix type (exit → exist))
 - #134042 (Add the `power8-crypto` target feature)
 - #134094 (Tweak wording of non-const traits used as const bounds)
 - #134100 (Remove rustc_const_stable attribute on const NOOP)
 - #134103 (Don't ICE when encountering never in range pattern)
 - #134113 (run-make: Fix `assert_stderr_not_contains_regex`)
 - #134115 (rustc_target: ppc64 target string fixes for LLVM 20)
 - #134116 (stabilize const_nonnull_new)
 - #134120 (Remove Felix from ping groups and review rotation)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-12-11 05:31:46 +00:00
León Orell Valerian Liehr
e60f6cdd3d
Rollup merge of #134120 - oli-obk:push-vryonyoqmonv, r=oli-obk
Remove Felix from ping groups and review rotation
2024-12-10 20:16:07 +01:00
León Orell Valerian Liehr
e822dfc415
Rollup merge of #134116 - RalfJung:const_nonnull_new, r=jhpratt
stabilize const_nonnull_new

FCP passed in https://github.com/rust-lang/rust/issues/93235

Closes #93235
2024-12-10 20:16:06 +01:00
León Orell Valerian Liehr
6d17cb833d
Rollup merge of #134115 - durin42:ppc64-target-string, r=jieyouxu
rustc_target: ppc64 target string fixes for LLVM 20

LLVM continues to clean these up, and we continue to make this consistent. This is similar to 9caced7bad, e985396145, and
a10e744faf.

```@rustbot``` label: +llvm-main
2024-12-10 20:16:05 +01:00
León Orell Valerian Liehr
0b9e74af2e
Rollup merge of #134113 - jyn514:run-make-contains, r=jieyouxu
run-make: Fix `assert_stderr_not_contains_regex`

It asserted on **stdout**, not stderr.

r? ``@jieyouxu``
2024-12-10 20:16:04 +01:00
León Orell Valerian Liehr
c5a83862a2
Rollup merge of #134103 - compiler-errors:never-pat-range, r=oli-obk
Don't ICE when encountering never in range pattern

Fixes #133947

r? oli-obk
2024-12-10 20:16:04 +01:00
León Orell Valerian Liehr
f621be4ecc
Rollup merge of #134100 - eholk:noop-rustc-const-stable, r=dtolnay
Remove rustc_const_stable attribute on const NOOP

This was accidentally reintroduced while editing #133089.

r? dtolnay
2024-12-10 20:16:03 +01:00
León Orell Valerian Liehr
185440a375
Rollup merge of #134094 - estebank:const-trait-errors, r=compiler-errors
Tweak wording of non-const traits used as const bounds

Use verbose suggestions and add additional labels/notes.

r? ``@compiler-errors``
2024-12-10 20:16:02 +01:00
León Orell Valerian Liehr
0064e731a6
Rollup merge of #134042 - sayantn:power8-crypto, r=jieyouxu
Add the `power8-crypto` target feature

Add the `power8-crypto` target feature. This will enable adding some new PPC intrinsics in stdarch (specifically AES, SHA and CLMUL intrinsics). The implied target feature is from [here](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/PowerPC/PPC.td)

```@rustbot``` label A-target-feature O-PowerPC
2024-12-10 20:16:01 +01:00
León Orell Valerian Liehr
5bd9602e33
Rollup merge of #133583 - tbu-:pr_fix_typo2, r=compiler-errors
Fix type (exit → exist)
2024-12-10 20:16:00 +01:00
roife
0b121ef846 feat: preserve order of parameters in extract_functions 2024-12-11 02:26:58 +08:00
Giga Bowser
3b781667eb minor: Migrate generate_enum_variant to SyntaxEditor 2024-12-10 13:11:33 -05:00
Giga Bowser
26e7e4f748 minor: Add ty_infer constructor to SyntaxFactory 2024-12-10 12:33:32 -05:00
Giga Bowser
d9bb8fcab1 minor: Add whitespace constructor to SyntaxFactory 2024-12-10 12:25:13 -05:00
Giga Bowser
3bc26ba4aa minor: Add item_enum constructor to SyntaxFactory
I recursively added all constructors it depends on. I also changed the old `make::` constructors to support more of the grammar.
2024-12-10 11:12:44 -05:00
Oli Scherer
e1689e6807
Remove Felix from ping groups and review rotation 2024-12-10 17:06:45 +01:00
Tobias Bucher
bab1fcb30c Fix type (exit → exist) 2024-12-10 16:20:29 +01:00
bors
33c245b9e9 Auto merge of #134125 - fmease:rollup-u38o3ob, r=fmease
Rollup of 11 pull requests

Successful merges:

 - #133478 (jsondocck: Parse, don't validate commands.)
 - #133967 ([AIX] Pass -bnoipath when adding rust upstream dynamic crates)
 - #133970 ([AIX] Replace sa_sigaction with sa_union.__su_sigaction for AIX)
 - #133980 ([AIX] Remove option "-n" from AIX "ln" command)
 - #134008 (Make `Copy` unsafe to implement for ADTs with `unsafe` fields)
 - #134017 (Don't use `AsyncFnOnce::CallOnceFuture` bounds for signature deduction)
 - #134023 (handle cygwin environment in `install::sanitize_sh`)
 - #134041 (Use SourceMap to load debugger visualizer files)
 - #134065 (Move `write_graphviz_results`)
 - #134106 (Add compiler-maintainers who requested to be on review rotation)
 - #134123 (bootstrap: Forward cargo JSON output to stdout, not stderr)

Failed merges:

 - #134120 (Remove Felix from ping groups and review rotation)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-12-10 13:16:09 +00:00
León Orell Valerian Liehr
c42c248009
Rollup merge of #134123 - Zalathar:json-output, r=jieyouxu,clubby789
bootstrap: Forward cargo JSON output to stdout, not stderr

This fixes the RA errors I've been seeing on proc-macros after the re-landing of #134040.

r? clubby789
2024-12-10 13:51:14 +01:00
León Orell Valerian Liehr
0f1b827881
Rollup merge of #134106 - wesleywiser:update_compiler_review_queue_maintainers, r=jieyouxu
Add compiler-maintainers who requested to be on review rotation

r? ``@davidtwco``

cc ``@Noratrieb`` ``@SparrowLii``
2024-12-10 13:51:13 +01:00
León Orell Valerian Liehr
06107a20e3
Rollup merge of #134065 - nnethercote:mv-write_graphviz_results, r=tmiasko
Move `write_graphviz_results`

r? ``@tmiasko``
2024-12-10 13:51:12 +01:00
León Orell Valerian Liehr
599ff4d248
Rollup merge of #134041 - clubby789:debugvis-sourcemap, r=jieyouxu
Use SourceMap to load debugger visualizer files
2024-12-10 13:51:12 +01:00
León Orell Valerian Liehr
8e9953fc5c
Rollup merge of #134023 - onur-ozkan:132507, r=jieyouxu
handle cygwin environment in `install::sanitize_sh`

Resolves #132507
2024-12-10 13:51:11 +01:00
León Orell Valerian Liehr
193a95d30b
Rollup merge of #134017 - compiler-errors:call-once-deduction, r=jieyouxu
Don't use `AsyncFnOnce::CallOnceFuture` bounds for signature deduction

We shouldn't be using `AsyncFnOnce::CallOnceFuture` projection bounds to deduce anything about the return type of an async closure, **only** `AsyncFnOnce::Output`. This was accidental b/c all we were looking at was the def id of the trait, rather than the projection. This PR fixes that.

This doesn't affect stable code, since `CallOnceFuture` bounds cannot be written on stable.

Fixes #134015
2024-12-10 13:51:10 +01:00
León Orell Valerian Liehr
3eaa785daa
Rollup merge of #134008 - jswrenn:unsafe-fields-copy, r=compiler-errors
Make `Copy` unsafe to implement for ADTs with `unsafe` fields

As a rule, the application of `unsafe` to a declaration requires that use-sites of that declaration also entail `unsafe`. For example, a field declared `unsafe` may only be read in the lexical context of an `unsafe` block.

For nearly all safe traits, the safety obligations of fields are explicitly discharged when they are mentioned in method definitions. For example, idiomatically implementing `Clone` (a safe trait) for a type with unsafe fields will require `unsafe` to clone those fields.

Prior to this commit, `Copy` violated this rule. The trait is marked safe, and although it has no explicit methods, its implementation permits reads of `Self`.

This commit resolves this by making `Copy` conditionally safe to implement. It remains safe to implement for ADTs without unsafe fields, but unsafe to implement for ADTs with unsafe fields.

Tracking: #132922

r? ```@compiler-errors```
2024-12-10 13:51:10 +01:00
León Orell Valerian Liehr
ceaca6be47
Rollup merge of #133980 - xingxue-ibm:ln-option-aix, r=jieyouxu
[AIX] Remove option "-n" from AIX "ln" command

The option `-n` for the AIX `ln` command has a different purpose than it does on Linux. On Linux, the `-n` option is used to treat the destination path as normal file if it is a symbolic link to a directory, which is the default behavior of the AIX `ln` command.
2024-12-10 13:51:09 +01:00
León Orell Valerian Liehr
0ff8ee6d7e
Rollup merge of #133970 - xingxue-ibm:sigaction, r=nnethercote
[AIX] Replace sa_sigaction with sa_union.__su_sigaction for AIX

On AIX, the `sa_sigaction` member of `struct sigaction` is accessed as the union member `sa_union.__su_sigaction`.
2024-12-10 13:51:08 +01:00
León Orell Valerian Liehr
7459a4fdf1
Rollup merge of #133967 - daltenty:daltenty/bnoipath, r=jieyouxu
[AIX] Pass -bnoipath when adding rust upstream dynamic crates

Unlike ELF linkers, AIX doesn't feature `DT_SONAME` to override
the dependency name when outputing a shared library, which is something
we rely on for dylib crates.

See for reference:
bc145cec45/compiler/rustc_codegen_ssa/src/back/linker.rs (L464))

Thus, `ld` on AIX will use the full path to shared libraries as the dependency if passed it
by default unless `noipath` is passed, so pass it here so we don't end up with full path dependencies
for dylib crates.
2024-12-10 13:51:08 +01:00
León Orell Valerian Liehr
54165018af
Rollup merge of #133478 - aDotInTheVoid:finally, r=fmease
jsondocck: Parse, don't validate commands.

Centralizes knowledge of jsondocck syntax into the parser, so the checker doesn't need to know what the indexes are.

[Vaguely related zulip discussion](https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/jsondocck.20rewrite)

I'm very happy this is negative LoC, despite adding a big, documented enum!

r? ``@fmease``
2024-12-10 13:51:07 +01:00
Zalathar
604ba9214d bootstrap: Forward cargo JSON output to stout, not stderr 2024-12-10 23:09:00 +11:00
Kirill Bulatov
1ce15606f2 Address the feedback from pascalkuthe
* Use Base64 to minify the hash representation in the JSON data
* Do hash checks only for items with similar labels
2024-12-10 13:01:23 +02:00
Augie Fackler
0680155a17 rustc_target: ppc64 target string fixes for LLVM 20
LLVM continues to clean these up, and we continue to make this
consistent. This is similar to 9caced7bad,
e985396145, and
a10e744faf.

`@rustbot` label: +llvm-main
2024-12-10 05:54:08 -05:00
Kirill Bulatov
f94953d732 Address the feedback from Veykril
* Exclude documentation field from hashing
* Do less cloning during initial completion list generation
2024-12-10 12:33:30 +02:00
Ralf Jung
a8d11ea20e stabilize const_nonnull_new 2024-12-10 11:29:01 +01:00
bors
4996052717 Auto merge of #134108 - fmease:rollup-tbtwm6j, r=fmease
Rollup of 10 pull requests

Successful merges:

 - #131558 (Lint on combining `#[no_mangle]` and `#[export_name]`)
 - #133184 (wasi/fs: Improve stopping condition for <ReadDir as Iterator>::next)
 - #133456 (Add licenses + Run `cargo update`)
 - #133472 (Run TLS destructors for wasm32-wasip1-threads)
 - #133853 (use vendor sources by default on dist tarballs)
 - #133946 (coverage: Prefer to visit nodes whose predecessors have been visited)
 - #134010 (fix ICE on type error in promoted)
 - #134029 (coverage: Use a query to find counters/expressions that must be zero)
 - #134071 (Configure renovatebot)
 - #134102 (Miscellaneous fixes for nix-dev-shell)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-12-10 10:25:38 +00:00
jyn
9a6deba8af run-make: Fix assert_stderr_not_contains_regex
It asserted on **stdout**, not stderr.
2024-12-10 04:35:20 -05:00
León Orell Valerian Liehr
8434a6e2bb
Rollup merge of #134102 - WaffleLapkin:nix-dev-shell-fixups-2024-12-10, r=Noratrieb
Miscellaneous fixes for nix-dev-shell

this makes it so files in `src/nix-dev-shell` are *not* ignored, as they
should not be. note that `flake.lock` is still ignored globally.

r? `@Noratrieb`

See individual commits for more info.

cc #131176 (it added gitignore entries I'm changing).
2024-12-10 08:56:01 +01:00
León Orell Valerian Liehr
79a824cdeb
Rollup merge of #134071 - Kobzol:ci-renovatebot, r=MarcoIeni
Configure renovatebot

This PR adds a basic Renovatebot configuration. We would mostly like to use the bot for updating lockfiles. First, I want to try out if the built-in lockFileMaintenance will work for that. I'm a bit skeptical, because it is not very configurable, but it's worth a try. I set the schedule for Tuesday, so that we can test what happens tomorrow.

I also enabled the dependency dashboard, as I think it could be useful for us, to see a global state of our dependencies.

r? ```@MarcoIeni```
2024-12-10 08:56:00 +01:00
León Orell Valerian Liehr
bb8a20678c
Rollup merge of #134029 - Zalathar:zero, r=oli-obk
coverage: Use a query to find counters/expressions that must be zero

As of #133446, this query (`coverage_ids_info`) determines which counter/expression IDs are unused. So with only a little extra work, we can take the code that was using that information to determine which coverage counters/expressions must be zero, and move that inside the query as well.

There should be no change in compiler output.
2024-12-10 08:55:59 +01:00