264001 Commits

Author SHA1 Message Date
Zalathar
9952e4d4c8 Remove PatKind::Constant 2024-08-11 19:57:30 +10:00
Zalathar
283243ac5a Remove PatKind::Ref 2024-08-11 19:57:30 +10:00
Zalathar
15cc0e1b5c Remove PatKind::Box 2024-08-11 19:57:30 +10:00
Zalathar
ed3e38f336 Remove PatKind::StructLike 2024-08-11 19:57:30 +10:00
Zalathar
92eb159d04 Remove PatKind::Wild 2024-08-11 19:57:30 +10:00
Zalathar
f53eb2724d Add print::PatKind::Print
This will allow for the gradual removal of all other variants.
2024-08-11 19:57:30 +10:00
Zalathar
0a777090d8 Avoid matching on PatKind::Wild in write_struct_like 2024-08-11 19:57:30 +10:00
Rémy Rakic
dcd6170c89 use rfs in rustdoc io rmake test 2024-08-11 09:45:47 +00:00
bors
c9bd03cb72 Auto merge of #128959 - matthiaskrgr:rollup-6jdqi3l, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #120314 (core: optimise Debug impl for ascii::Char)
 - #128536 (Preliminary cleanup of `WitnessPat` hoisting/printing)
 - #128592 (Promote aarch64-apple-darwin to Tier 1)
 - #128762 (Use more slice patterns inside the compiler)
 - #128875 (rm `import.used`)
 - #128882 (make LocalWaker::will_wake consistent with Waker::will_wake)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-08-11 05:54:39 +00:00
Matthias Krüger
2c88eb9805
Rollup merge of #128882 - RalfJung:local-waker-will-wake, r=cuviper
make LocalWaker::will_wake consistent with Waker::will_wake

This mirrors https://github.com/rust-lang/rust/pull/119863 for `LocalWaker`. Looks like that got missed in the initial `LocalWaker` PR (https://github.com/rust-lang/rust/pull/118960).
2024-08-11 07:51:52 +02:00
Matthias Krüger
eff9120b7c
Rollup merge of #128875 - bvanjoi:cleanup-import-used, r=petrochenkov
rm `import.used`

By the way, `import_used_map` will only be used during `build_reduced_graph` and `finalize`, so it can be split from `Resolver` in the future.

r? ``@petrochenkov``
2024-08-11 07:51:52 +02:00
Matthias Krüger
32e0fe129d
Rollup merge of #128762 - fmease:use-more-slice-pats, r=compiler-errors
Use more slice patterns inside the compiler

Nothing super noteworthy. Just replacing the common 'fragile' pattern of "length check followed by indexing or unwrap" with slice patterns for legibility and 'robustness'.

r? ghost
2024-08-11 07:51:51 +02:00
Matthias Krüger
bd7075c69e
Rollup merge of #128592 - evelynharthbrooke:master, r=Mark-Simulacrum
Promote aarch64-apple-darwin to Tier 1

This promotes aarch64-apple-darwin to Tier 1 status as per rust-lang/rfcs#3671 and tracking issue #73908. Not sure what else is necessary for this to impement the aforementioned RFC, however I figured I'd try. I did read in previous issues and PRs that the necessary infrastructure was already in place for the aarch64-apple-darwin target, and the RFC mentions the same. So this should be all thats necessary in order for the target to be promoted.

This is a recreation of my previous PR because I accidentally did an incorrect git rebase which caused unnecessary changes to various commit SHAs. So this PR is a recreation of my previous PR without said stumble. My bad.
2024-08-11 07:51:51 +02:00
Matthias Krüger
853255e28d
Rollup merge of #128536 - Zalathar:print-cleanup, r=Nadrieril
Preliminary cleanup of `WitnessPat` hoisting/printing

Follow-up to #128430.

The eventual goal is to remove `print::Pat` entirely, but in the course of working towards that I made so many small improvements that it seems wise to let those be reviewed/merged on their own first.

Best reviewed commit-by-commit, most of which should be pretty simple and straightforward.

r? ``@Nadrieril``
2024-08-11 07:51:50 +02:00
Matthias Krüger
e8f6819db7
Rollup merge of #120314 - mina86:i, r=Mark-Simulacrum
core: optimise Debug impl for ascii::Char

Rather than writing character at a time, optimise Debug implementation
for core::ascii::Char such that it writes the entire representation
with a single write_str call.

With that, add tests for Display and Debug.

Issue: https://github.com/rust-lang/rust/issues/110998
2024-08-11 07:51:49 +02:00
John Kåre Alsaker
b22253c454 Keep rustc's std copy 2024-08-11 05:43:32 +02:00
许杰友 Jieyou Xu (Joe)
960e7b55e1 tests: tidy up dump-ice-to-disk and make assertion failures extremely verbose 2024-08-11 03:42:38 +00:00
John Kåre Alsaker
dd3f7578ee Exclude just std from rustc deps 2024-08-11 04:16:53 +02:00
John Kåre Alsaker
56beb1d744 Update the unstable book 2024-08-11 04:16:53 +02:00
John Kåre Alsaker
486864f235 Don't statically link std into rustc_driver for windows-gnu 2024-08-11 04:16:53 +02:00
John Kåre Alsaker
736a249954 Ask the user to use feature(rustc_private) when linking to rustc_driver 2024-08-11 04:16:53 +02:00
John Kåre Alsaker
3ee43259ac Link std statically in rustc_driver 2024-08-11 04:16:53 +02:00
Orson Peters
a04a1e464f Fix stability annotation and expand comment 2024-08-11 01:28:30 +02:00
Orson Peters
ba62034430 Hash Ipv*Addr as an integer 2024-08-10 23:52:35 +02:00
bors
730d5d4095 Auto merge of #128572 - compiler-errors:fix-elaborate-box-derefs-on-debug, r=saethlin
Fix `ElaborateBoxDerefs` on debug varinfo

Slightly simplifies the `ElaborateBoxDerefs` pass to fix cases where it was applying the wrong projections to debug var infos containing places that deref boxes.

From what I can tell[^1], we don't actually have any tests (or code anywhere, really) that exercise `debug x => *(...: Box<T>)`, and it's very difficult to trigger this in surface Rust, so I wrote a custom MIR test.

What happens is that the pass was turning `*(SOME_PLACE: Box<T>)` into `*(*((((SOME_PLACE).0: Unique<T>).0: NonNull<T>).0: *const T))` in debug var infos. In particular, notice the *double deref*, which was wrong.

This is the root cause of #128554, so this PR fixes #128554 as well. The reason that async closures was affected is because of the way that we compute the [`ByMove` body](https://github.com/rust-lang/rust/blob/master/compiler/rustc_mir_transform/src/coroutine/by_move_body.rs), which resulted in `*(...: Box<T>)` in debug var info. But this really has nothing to do with async closures.

[^1]: Validated by literally replacing the `if elem == PlaceElem::Deref && base_ty.is_box() { ... }` innards with a `panic!()`, which compiled all of stage2 without panicking.
2024-08-10 21:24:25 +00:00
bors
04dff01740 Auto merge of #128400 - petrochenkov:nowhole3, r=bjorn3
linker: Remove the "`--whole-archive` in test mode" backcompat hack

Fixes https://github.com/rust-lang/rust/issues/116910.
2024-08-10 18:57:58 +00:00
Pavel Grigorenko
e94a4ee219 Refactor: diagnostic_outside_of_impl, untranslatable_diagnostic
1. Decouple them.
2. Make logic around `diagnostic_outside_of_impl`'s early exits simpler.
3. Make `untranslatable_diagnostic` run one loop instead of two
   and not allocate an intermediate vec.
4. Overall, reduce the amount of code executed
   when the lints do not end up firing.
2024-08-10 21:53:01 +03:00
bjorn3
d63a067bfd Add fixme for removing LlvmArchiveBuilder in the future 2024-08-10 18:49:36 +00:00
Rémy Rakic
f4cb0de44e remove other warnings from rmake tests 2024-08-10 18:16:15 +00:00
Rémy Rakic
141d9dc3a5 remove unused imports from rmake tests 2024-08-10 18:06:10 +00:00
Ben Kimock
03b6c2f2d4 Fix and enable disabled codegen-units tests 2024-08-10 14:03:27 -04:00
bjorn3
c1f5350df5 Use ArArchiveBuilder with the LLVM backend too
All regressions that were blocking usage of ArArchiveBuilder should now
be fixed.
2024-08-10 17:45:39 +00:00
bjorn3
a57f73d320 Add test for thin archive reading support 2024-08-10 17:43:22 +00:00
bjorn3
4f8042e22e Support reading thin archives in ArArchiveBuilder 2024-08-10 17:42:56 +00:00
Pavel Grigorenko
3cc2a6fdcb untranslatable_diagnostic lint: point at the untranslated thing
and not the function/method call
2024-08-10 20:36:33 +03:00
Pavel Grigorenko
10ef6661bc Add more test cases for untranslatable_diagnostic lint 2024-08-10 20:19:41 +03:00
bors
ec03068320 Auto merge of #17844 - Veykril:find-path-std-fix, r=Veykril
fix: Fix find_path not respecting non-std preference config correctly

Fixes https://github.com/rust-lang/rust-analyzer/issues/17840
2024-08-10 15:47:18 +00:00
bors
04ba50e823 Auto merge of #128927 - GuillaumeGomez:rollup-ei2lr0f, r=GuillaumeGomez
Rollup of 8 pull requests

Successful merges:

 - #128273 (Improve `Ord` violation help)
 - #128807 (run-make: explaing why fmt-write-bloat is ignore-windows)
 - #128903 (rustdoc-json-types `Discriminant`: fix typo)
 - #128905 (gitignore: Add Zed and Helix editors)
 - #128908 (diagnostics: do not warn when a lifetime bound infers itself)
 - #128909 (Fix dump-ice-to-disk for RUSTC_ICE=0 users)
 - #128910 (Differentiate between methods and associated functions in diagnostics)
 - #128923 ([rustdoc] Stop showing impl items for negative impls)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-08-10 15:13:38 +00:00
bors
2e0f5f6336 Auto merge of #17849 - Veykril:rust-analyzer-crate, r=Veykril
internal: Move some main crate stuff
2024-08-10 15:07:37 +00:00
Lukas Wirth
01262d972a Add comments regarding workspace structure change querying 2024-08-10 17:04:38 +02:00
Lukas Wirth
e219ac64c0 Move some stuff 2024-08-10 16:46:53 +02:00
Guillaume Gomez
893b9f3a5a
Rollup merge of #128923 - GuillaumeGomez:negative-impls-items, r=fmease
[rustdoc] Stop showing impl items for negative impls

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

As discussed with `@fmease,` they have a broader patch in progress, so this (small) PR will at least allow for them to have a regression test. :)

r? `@fmease`
2024-08-10 16:23:55 +02:00
Guillaume Gomez
50e9fd1a1d
Rollup merge of #128910 - estebank:assoc-fn, r=compiler-errors
Differentiate between methods and associated functions in diagnostics

Accurately refer to assoc fn without receiver as assoc fn instead of methods. Add `AssocItem::descr` method to centralize where we call methods and associated functions.
2024-08-10 16:23:55 +02:00
Guillaume Gomez
48fd9fdd42
Rollup merge of #128909 - saethlin:run-make-ice-yes, r=jieyouxu
Fix dump-ice-to-disk for RUSTC_ICE=0 users

Before this change, the test fails if you run it with `RUSTC_ICE=0`.
2024-08-10 16:23:54 +02:00
Guillaume Gomez
0d0265c1f0
Rollup merge of #128908 - notriddle:notriddle/self-inferred-lifetime-bounds, r=compiler-errors
diagnostics: do not warn when a lifetime bound infers itself

Fixes #119228
2024-08-10 16:23:53 +02:00
Guillaume Gomez
ac27536258
Rollup merge of #128905 - mrkajetanp:gitignore-editors, r=jieyouxu
gitignore: Add Zed and Helix editors

Just adding two extra code editors to .gitignore.

Reference:
https://helix-editor.com/
https://zed.dev/
2024-08-10 16:23:53 +02:00
Guillaume Gomez
6d3f764332
Rollup merge of #128903 - kraktus:patch-3, r=aDotInTheVoid
rustdoc-json-types `Discriminant`: fix typo

"when to complex" should obviously be "too complex"
2024-08-10 16:23:52 +02:00
Guillaume Gomez
a7e188a8f6
Rollup merge of #128807 - ChrisDenton:bloat, r=jieyouxu
run-make: explaing why fmt-write-bloat is ignore-windows

The trouble here is that libc doesn't exist on Windows. Well it kinda does but it isn't called that so we substitute a name that works. Ideally finding necessary libs for the platform would be done at a higher level but until then this should work.

try-job: x86_64-msvc
try-job: x86_64-mingw
try-job: i686-msvc
try-job: i686-mingw
2024-08-10 16:23:52 +02:00
Guillaume Gomez
65875b2f5a
Rollup merge of #128273 - Voultapher:improve-ord-violation-help, r=workingjubilee
Improve `Ord` violation help

Recent experience in #128083 showed that the panic message when an Ord violation is detected by the new sort implementations can be confusing. So this PR aims to improve it, together with minor bug fixes in the doc comments for sort*, sort_unstable* and select_nth_unstable*.

Is it possible to get these changes into the 1.81 release? It doesn't change behavior and would greatly help when users encounter this panic for the first time, which they may after upgrading to 1.81.

Tagging `@orlp`
2024-08-10 16:23:51 +02:00
Guillaume Gomez
5baf7c21cf Add regression tests for negative impls not showing their items 2024-08-10 15:03:43 +02:00