Commit Graph

262474 Commits

Author SHA1 Message Date
bors 1df0458781 Auto merge of #128528 - workingjubilee:you-dont-need-to-see-this-cpuid-move-along, r=Amanieu
Finish removing `has_cpuid`

The one use of it was guaranteed to be always true.

try-job: test-various
2024-08-03 00:18:15 +00:00
bors fd8d6fbe50 Auto merge of #128361 - Oneirical:testle-deforestation, r=jieyouxu
Migrate `link-cfg` and `rustdoc-default-output` `run-make` tests to rmake

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

try-job: aarch64-apple
try-job: x86_64-msvc
try-job: x86_64-mingw
try-job: x86_64-gnu-llvm-18
try-job: i686-msvc
2024-08-02 18:24:21 +00:00
Oneirical c27fa5c332 rewrite rustdoc-default-output to rmake 2024-08-02 11:50:19 -04:00
bors f82eb4d0a0 Auto merge of #127926 - Oneirical:classical-orctestra, r=jieyouxu
Migrate `foreign-double-unwind`, `issue-36710` and `foreign-exceptions` `run-make` tests to rmake

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

~~This is expected to fail CI, I am getting a weird `core dumped` error on `foreign-double-unwind` locally. Posting this to start a discussion.~~

EDIT: I got it, `foreign_double_unwind` is *supposed* to fail in the execution stage, but this wasn't obvious, because the original test was just piping the stdout to `CGREP` (which silently ignores errors).

try-job: aarch64-apple
try-job: armhf-gnu
try-job: test-various
try-job: x86_64-msvc
try-job: x86_64-gnu-llvm-18
try-job: i686-msvc
try-job: dist-i586-gnu-i586-i686-musl
2024-08-02 15:11:57 +00:00
Oneirical 46b4083e6f rewrite foreign-exceptions to rmake 2024-08-02 10:06:20 -04:00
Oneirical 5b44f800f3 rewrite and rename issue-36710 to rmake 2024-08-02 10:06:07 -04:00
Oneirical 8f641b1b95 rewrite foreign-double-unwind to rmake 2024-08-02 10:05:55 -04:00
bors 5367673014 Auto merge of #128352 - Oneirical:daLTOnist-vision, r=jieyouxu
Migrate `cross-lang-lto` `run-make` test to rmake

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

Please try:

try-job: x86_64-msvc
try-job: i686-mingw
try-job: x86_64-mingw
try-job: armhf-gnu
try-job: test-various
try-job: aarch64-apple
try-job: x86_64-gnu-llvm-18
2024-08-02 10:59:19 +00:00
Jubilee Young 36527d691e rustfmt: Remove `has_cpuid` from test 2024-08-02 02:12:29 -07:00
bors 19326022d2 Auto merge of #128254 - Amanieu:orig-binary-search, r=tgross35
Rewrite binary search implementation

This PR builds on top of #128250, which should be merged first.

This restores the original binary search implementation from #45333 which has the nice property of having a loop count that only depends on the size of the slice. This, along with explicit conditional moves from #128250, means that the entire binary search loop can be perfectly predicted by the branch predictor.

Additionally, LLVM is able to unroll the loop when the slice length is known at compile-time. This results in a very compact code sequence of 3-4 instructions per binary search step and zero branches.

Fixes #53823
Fixes #115271
2024-08-02 08:20:35 +00:00
bors 2cec7a85ed Auto merge of #128529 - matthiaskrgr:rollup-gzq2slo, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #126818 (Better handle suggestions for the already present code and fix some suggestions)
 - #128436 (Update sysinfo version to 0.31.2)
 - #128453 (raw_eq: using it on bytes with provenance is not UB (outside const-eval))
 - #128491 ([`macro_metavar_expr_concat`] Dogfooding)
 - #128494 (MIR required_consts, mentioned_items: ensure we do not forget to fill these lists)
 - #128521 (rustdoc: Remove dead opaque_tys rendering logic)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-08-02 04:53:45 +00:00
Matthias Krüger 1140fd1b8e
Rollup merge of #128521 - aDotInTheVoid:opaque-fallout, r=camelid
rustdoc: Remove dead opaque_tys rendering logic

#127276 removed OpaqueTy from clean, and the code populating AllTypes::opaque_tys, but not this field itself.
2024-08-02 06:43:44 +02:00
Matthias Krüger 66d243f61b
Rollup merge of #128494 - RalfJung:mir-lazy-lists, r=compiler-errors
MIR required_consts, mentioned_items: ensure we do not forget to fill these lists

Bodies initially get created with empty required_consts and mentioned_items, but at some point those should be filled. Make sure we notice when that is forgotten.
2024-08-02 06:43:44 +02:00
Matthias Krüger 55ed05cbac
Rollup merge of #128491 - c410-f3r:unlock-rfc-2011, r=workingjubilee
[`macro_metavar_expr_concat`] Dogfooding

cc #124225

Starts inner usage to test the robustness of the implementation.
2024-08-02 06:43:43 +02:00
Matthias Krüger 67fcb58347
Rollup merge of #128453 - RalfJung:raw_eq, r=saethlin
raw_eq: using it on bytes with provenance is not UB (outside const-eval)

The current behavior of raw_eq violates provenance monotonicity. See https://github.com/rust-lang/rust/pull/124921 for an explanation of provenance monotonicity. It is violated in raw_eq because comparing bytes without provenance is well-defined, but adding provenance makes the operation UB.

So remove the no-provenance requirement from raw_eq. However, the requirement stays in-place for compile-time invocations of raw_eq, that indeed cannot deal with provenance.

Cc `@rust-lang/opsem`
2024-08-02 06:43:43 +02:00
Matthias Krüger 2dabaa01aa
Rollup merge of #128436 - GuillaumeGomez:update-sysinfo, r=clubby789
Update sysinfo version to 0.31.2

I needed to update `memchr` version (which was pinned in 36a16798f7). So let's see if it triggers the linker issue.

try-job: x86_64-mingw
2024-08-02 06:43:42 +02:00
Matthias Krüger d1d57bd104
Rollup merge of #126818 - estebank:suggestions-fix, r=wesleywiser
Better handle suggestions for the already present code and fix some suggestions

When a suggestion part is for code that is already present, skip it. If all the suggestion parts for a suggestion are for code that is already there, do not emit the suggestion.

Fix two suggestions that treat `span_suggestion` as if it were `span_help`.
2024-08-02 06:43:41 +02:00
Jubilee Young 2f0aaaf2b9 std: Remove has_cpuid
The one use of it was guaranteed to be always true.
2024-08-01 20:45:38 -07:00
bors 05e692ae02 Auto merge of #128147 - lolbinarycat:fmt-write-bloat-rmake, r=jieyouxu
migrate fmt-write-bloat to rmake

try-job: aarch64-apple
try-job: x86_64-gnu-llvm-18
try-job: dist-x86_64-linux
2024-08-02 02:28:59 +00:00
Caio b2f7e71f0b Dogfood 2024-08-01 21:32:12 -03:00
bors 425ae69588 Auto merge of #127624 - Oneirical:a-test-of-lime, r=jieyouxu
Migrate and rename `issue-47551`, `issue-35164` and `issue-69368` `run-make` tests to rmake

Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

try-job: dist-x86_64-msvc
2024-08-02 00:03:42 +00:00
Alona Enraght-Moony b72685bcff rustdoc: Remove dead opaque_tys rendering logic 2024-08-01 23:04:56 +00:00
bors 8e86c95671 Auto merge of #127276 - aDotInTheVoid:no-opaque, r=camelid
rustdoc: Remove OpaqueTy

r? `@ghost`

Apparently this works lol?!?

try-job: aarch64-apple
2024-08-01 19:45:25 +00:00
Esteban Küber 8ce8c42e0b Do not underline suggestions for code that is already there
When a suggestion part is for already present code, do not highlight it. If after that there are no highlights left, do not show the suggestion at all.

Fix clippy lint suggestion incorrectly treated as `span_help`.
2024-08-01 18:53:42 +00:00
bors a886938671 Auto merge of #128504 - matthiaskrgr:rollup-pawylnk, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #127490 (Add target page for riscv64gc-unknown-linux-gnu)
 - #128433 (fix(hermit): `deny(unsafe_op_in_unsafe_fn)`)
 - #128482 (interpret: on a signed deref check, mention the right pointer in the error)
 - #128496 (Fix removed `box_syntax` diagnostic if source isn't available)
 - #128497 (fix dropck documentation for `[T;0]` special-case)
 - #128499 (chore: refactor backtrace formatting)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-08-01 16:50:50 +00:00
Matthias Krüger e6b6d04b06
Rollup merge of #128499 - Konippi:refactor-backtrace-formatting, r=tgross35
chore: refactor backtrace formatting

Replace `write_str()` with the `writeln!()` macro, consolidating multiple write operations.
2024-08-01 18:43:42 +02:00
Matthias Krüger ca73b8b7a5
Rollup merge of #128497 - Bryanskiy:fix-dropck-doc, r=lcnr
fix dropck documentation for `[T;0]` special-case

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

r? ``@lcnr``
2024-08-01 18:43:41 +02:00
Matthias Krüger 29cd3103a1
Rollup merge of #128496 - clubby789:box-syntax-multipart, r=compiler-errors
Fix removed `box_syntax` diagnostic if source isn't available

Fix #128442
2024-08-01 18:43:41 +02:00
Matthias Krüger 8671b0bfbd
Rollup merge of #128482 - RalfJung:ptr-signed-offset, r=oli-obk
interpret: on a signed deref check, mention the right pointer in the error

When a negative offset (like `ptr.offset(-10)`) goes out-of-bounds, we currently show an error saying that we expect the *resulting* pointer to be inbounds for 10 bytes. That's confusing, so this PR makes it so that instead we say that we expect the *original* pointer `ptr` to have 10 bytes *to the left*.

I also realized I can simplify the pointer arithmetic logic and handling of "staying inbounds of a target `usize`" quite a bit; the second commit does that.
2024-08-01 18:43:40 +02:00
Matthias Krüger 683f2d3cb2
Rollup merge of #128433 - hermit-os:hermit-unsafe_op_in_unsafe_fn, r=joboet
fix(hermit): `deny(unsafe_op_in_unsafe_fn)`

Tracking issue: https://github.com/rust-lang/rust/issues/127747

r? workingjubilee

CC: ``@stlankes``
2024-08-01 18:43:39 +02:00
Matthias Krüger 93561a1767
Rollup merge of #127490 - ferrocene:hoverbear/add-riscv64gc-unknown-linux-target-page, r=pietroalbini
Add target page for riscv64gc-unknown-linux-gnu

I was reading https://github.com/rust-lang/rust/issues/113739 and realized I knew most of the information necessary to create the `riscv64gc-unknown-linux-gnu` target page.
2024-08-01 18:43:38 +02:00
Alona Enraght-Moony 73ac5e0c6e rustdoc: Remove OpaqueTy 2024-08-01 15:57:45 +00:00
Alona Enraght-Moony 52a49d94c7 rustdoc: Add test for `impl_trait_in_accos_type` 2024-08-01 15:48:22 +00:00
Konippi 45d35ba4fd chore: refactor backtrace formatting 2024-08-02 00:24:29 +09:00
Bryanskiy c8a3cafc0f fix dropck documentation for `[T;0]` special-case 2024-08-01 17:44:14 +03:00
Guillaume Gomez f44958679a Update sysinfo version to 0.31.2 2024-08-01 16:39:55 +02:00
Ralf Jung 6d312d7bd1 MIR required_consts, mentioned_items: ensure we do not forget to fill these lists 2024-08-01 15:49:25 +02:00
bors e60ebb2f2c Auto merge of #128490 - lnicola:sync-from-ra, r=lnicola
Subtree update of `rust-analyzer`

r? `@ghost`
2024-08-01 13:13:38 +00:00
clubby789 e157954cce Fix removed `box_syntax` diagnostic if source isn't available 2024-08-01 13:11:24 +00:00
Ralf Jung db1652e07b fix the way we detect overflow for inbounds arithmetic (and tweak the error message) 2024-08-01 14:38:58 +02:00
Ralf Jung 5d5c97aad7 interpret: simplify pointer arithmetic logic 2024-08-01 14:25:19 +02:00
Ralf Jung de78cb56b2 on a signed deref check, mention the right pointer in the error 2024-08-01 14:25:19 +02:00
bors c0e32983f5 Auto merge of #127543 - carbotaniuman:more_unsafe_attr_verification, r=estebank,traviscross
More unsafe attr verification

This code denies unsafe on attributes such as `#[test]` and `#[ignore]`, while also changing the `MetaItem` parsing so `unsafe` in args like `#[allow(unsafe(dead_code))]` is not accidentally allowed.

Tracking:

- https://github.com/rust-lang/rust/issues/123757
2024-08-01 10:40:45 +00:00
bors 9ec4844925 Auto merge of #17761 - RalfJung:josh-roudntrip-error, r=lnicola
when josh-proxy screws up the roundtrip, say what the involved commits are

Helps debugging https://github.com/rust-lang/rust-analyzer/issues/17733
2024-08-01 10:38:36 +00:00
Martin Kröning 820ec720ff
fix(os/hermit): `deny(unsafe_op_in_unsafe_fn)`
Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
2024-08-01 12:34:43 +02:00
Martin Kröning 4da966c30e
fix(pal/hermit): `deny(unsafe_op_in_unsafe_fn)`
Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
2024-08-01 12:34:43 +02:00
Martin Kröning b21af629ef
refactor(pal/hermit): make `ENV` a non-mutable static
Signed-off-by: Martin Kröning <martin.kroening@eonerc.rwth-aachen.de>
2024-08-01 12:34:43 +02:00
Ralf Jung 70805f9a6b when josh-proxy screws up the roundtrip, say what the involved commits are 2024-08-01 12:28:02 +02:00
bors bf5844ea2d Auto merge of #17756 - Wilfred:fix_adoc_json, r=Veykril
docs: Fix JSON example for rust-analyzer.workspace.discoverConfig

The user does not specify `{arg}` in their JSON, and be pedantic about commas in JSON sample.
2024-08-01 08:15:44 +00:00
bors 97ac52f579 Auto merge of #128481 - matthiaskrgr:rollup-efa706r, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #128416 (android: Remove libstd hacks for unsupported Android APIs)
 - #128437 (improve bootstrap to allow selecting llvm tools individually)
 - #128450 (Create COFF archives for non-LLVM backends)
 - #128458 (Emit an error if `#[optimize]` is applied to an incompatible item)
 - #128477 (Finish blessing `coverage/mcdc` tests after LLVM 19 upgrade)
 - #128478 (Ignore `use` declaration reformatting in `.git-blame-ignore-revs`.)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-08-01 08:09:31 +00:00