Commit graph

253604 commits

Author SHA1 Message Date
Ralf Jung
62e84d5ca0 move read_byte_slice to general helpers file, next to read_c_str 2024-04-18 10:58:49 +02:00
Lukas Wirth
6bfdd38c69 Render matched macro arm on hover of macro calls 2024-04-18 10:51:58 +02:00
bors
68b1a2861f Auto merge of #17095 - Veykril:contributing.md, r=Veykril
Add CONTRIBUTING.md

I'm not great with these kinds of documents, but the main point I want to be able to raise is that feature implementations should have an issue raised first for discussion.
2024-04-18 08:30:42 +00:00
bors
0f44382bca Auto merge of #3483 - RalfJung:drop, r=RalfJung
add test for Drop terminator on non-drop type

Fixes https://github.com/rust-lang/miri/issues/2737
2024-04-18 08:25:06 +00:00
Lukas Wirth
d12bad650b Add CONTRIBUTING.md 2024-04-18 10:24:40 +02:00
Ralf Jung
5c352a4e75 add test for Drop terminator on non-drop type 2024-04-18 10:23:22 +02:00
bors
062e1b9b81 Auto merge of #17093 - Wilfred:vfs_ignore_symlink_cycles, r=Veykril
fix: VFS should not walk circular symlinks

As of #6246, rust-analyzer follows symlinks. This can introduce an infinite loop if symlinks point to parent directories.

Considering that #6246 was added in 2020 without many bug reports, this is clearly a rare occurrence. However, I am observing rust-analyzer hang on projects that have symlinks of the form:

```
test/a_symlink -> ../../
```

Ignore symlinks that only point to the parent directories, as this is more robust but still allows typical symlink usage patterns.
2024-04-18 07:38:32 +00:00
bors
ecd45472f8 Auto merge of #124111 - matthiaskrgr:rollup-cmmkryf, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - #124041 (Fix copy path button)
 - #124047 (Match ergonomics 2024: miscellaneous code cleanups)
 - #124064 (Move confusing comment about otherwise blocks in `lower_match_tree`)
 - #124090 (llvm: update riscv target feature to match LLVM 19)
 - #124100 (fix: make `str::from_raw_parts_mut` `mut`)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-04-18 07:26:15 +00:00
donno2048
e2ab540e37 add rustc-hash 2024-04-18 06:57:43 +00:00
donno2048
ca67fd6d19 fix lockfile 2024-04-18 06:51:55 +00:00
Matthias Krüger
5543da9aec
Rollup merge of #124100 - dev-ardi:master, r=workingjubilee
fix: make `str::from_raw_parts_mut` `mut`

`str::from_raw_parts_mut` wasn't actually `mut`
#119206
2024-04-18 08:37:50 +02:00
Matthias Krüger
90013ff5ad
Rollup merge of #124090 - durin42:llvm-19-riscv-feature, r=cuviper
llvm: update riscv target feature to match LLVM 19

In llvm/llvm-project@9067070d91 they ended up largely reverting
llvm/llvm-project@e817966718. This means the change we did in
rust-lang/rust@b378059e6b is now only corrct for LLVM 18...so we have to adjust again.

``@rustbot`` label: +llvm-main
2024-04-18 08:37:49 +02:00
Matthias Krüger
2c7ef79065
Rollup merge of #124064 - Zalathar:otherwise-block, r=Nadrieril
Move confusing comment about otherwise blocks in `lower_match_tree`

This comment was historically inside a block guarded by `if let Some(otherwise_block) = otherwise`.

When #120978 made the “otherwise block” non-optional, it also flattened that region of code. Doing so left this comment awkwardly stranded above an unrelated line of code, without its original context.

We can restore that context by moving it above the declaration of `otherwise`.

r? ``@Nadrieril``
2024-04-18 08:37:49 +02:00
Matthias Krüger
7add0bdf7e
Rollup merge of #124047 - Jules-Bertholet:match-ergonomics-cleanups, r=Nadrieril
Match ergonomics 2024: miscellaneous code cleanups

- Store `ByRef` instead of `BindingAnnotation` in `PatInfo`
- Rename `BindingAnnotation` to `BindingMode`

r? ``@Nadrieril``

cc #123076

``@rustbot`` label A-patterns
2024-04-18 08:37:48 +02:00
Matthias Krüger
56f4ac308b
Rollup merge of #124041 - GuillaumeGomez:fix-copy-path-button, r=notriddle
Fix copy path button

Currently, on all nightly docs, clicking on the "copy path" button triggers a JS error. It's because changes in https://github.com/rust-lang/rust/pull/123706 forgot to update the JS (it contained an image before but not anymore).

I had to make some small changes in the CSS to fix the display when the button was clicked as well.

r? ``@notriddle``
2024-04-18 08:37:48 +02:00
beetrees
cc12a1b511
Fix negating f16 and f128 constants 2024-04-18 06:43:44 +01:00
Nicholas Nethercote
0d97669a17 Simplify static_assert_sizes.
We want to run them on all 64-bit platforms.
2024-04-18 15:36:25 +10:00
bors
b1248bc60d Auto merge of #124046 - matthiaskrgr:one_or_two_more_tests____some_on_top, r=jieyouxu
crashes: add even more tests?!?

adds more tests that were not already added with https://github.com/rust-lang/rust/pull/124038 from the past 10 months or so.
Need a couple more passes through the tracker to filter out more missing ice /fixed tests but we're slowly getting there.
2024-04-18 05:23:09 +00:00
Elisha Hollander
fa6444b050
reset lockfile to head 2024-04-18 08:00:35 +03:00
Matthias Krüger
06335c6532 crashes: add even more tests?!? 2024-04-18 06:13:47 +02:00
bors
5260893724 Auto merge of #122684 - oli-obk:delay_interning_errors_to_after_validaiton, r=RalfJung
Delay interning errors to after validation

fixes https://github.com/rust-lang/rust/issues/122398
fixes #122548

This improves diagnostics since validation errors are usually more helpful compared with interning errors that just make broad statements about the entire constant

r? `@RalfJung`
2024-04-18 02:34:04 +00:00
Michael Goulet
ffb4206577 Don't repeatedly duplicate TAIT lifetimes for each subsequently nested TAIT 2024-04-17 22:29:59 -04:00
Michael Goulet
6abf1aae24 has_typeck_results doesnt need to be a query 2024-04-17 22:18:27 -04:00
David Tolnay
fdf93bbde0
Improve std::fs::Metadata Debug representation
Before:

    Metadata {
        file_type: FileType(
            FileType {
                mode: 0o100600 (-rw-------),
            },
        ),
        is_dir: false,
        is_file: true,
        permissions: Permissions(
            FilePermissions {
                mode: 0o100600 (-rw-------),
            },
        ),
        modified: Ok(
            SystemTime {
                tv_sec: 1713402981,
                tv_nsec: 682983531,
            },
        ),
        accessed: Ok(
            SystemTime {
                tv_sec: 1713402983,
                tv_nsec: 206999623,
            },
        ),
        created: Ok(
            SystemTime {
                tv_sec: 1713402981,
                tv_nsec: 682983531,
            },
        ),
        ..
    }

After:

    Metadata {
        file_type: FileType {
            is_dir: false,
            is_file: true,
            is_symlink: false,
            ..
        },
        permissions: Permissions(
            FilePermissions {
                mode: 0o100600 (-rw-------),
            },
        ),
        len: 2096,
        modified: SystemTime {
            tv_sec: 1713402981,
            tv_nsec: 682983531,
        },
        accessed: SystemTime {
            tv_sec: 1713402983,
            tv_nsec: 206999623,
        },
        created: SystemTime {
            tv_sec: 1713402981,
            tv_nsec: 682983531,
        },
        ..
    }
2024-04-17 18:43:29 -07:00
bors
9f432d7b44 Auto merge of #124044 - DianQK:update-llvm-18, r=cuviper
Update LLVM to 1deeee3

Fixes #123772.

Diff: af8f9eb61a...5399a24c66
Diff (From 18.1.2): 0af6c732ec...5399a24c66

r? `@cuviper`
2024-04-18 00:04:09 +00:00
ardi
9cc9ba5cae fix: make str::from_raw_parts_mut mut 2024-04-18 01:46:49 +02:00
Wilfred Hughes
bd133eecda fix: VFS should not walk circular symlinks
As of #6246, rust-analyzer follows symlinks. This can introduce an
infinite loop if symlinks point to parent directories.

Considering that #6246 was added in 2020 without many bug reports,
this is clearly a rare occurrence. However, I am observing
rust-analyzer hang on projects that have symlinks of the form:

```
test/a_symlink -> ../../
```

Ignore symlinks that only point to the parent directories, as this is
more robust but still allows typical symlink usage patterns.
2024-04-17 14:40:01 -07:00
bors
becebb3158 Auto merge of #123978 - alexcrichton:update-wasi-toolchain, r=Mark-Simulacrum
Update how WASI toolchains are used in CI and bootstrap

This commit updates how the WASI targets are configured with their toolchain. Long ago a `config.toml` option of `wasi-root` was added to enable building with the WASI files produced by wasi-libc. Additionally for CI testing and release building the Rust toolchain has been using a hard-coded commit of wasi-libc which is bundled with the release of the `wasm32-wasip1` target, for example.

Nowadays though the wasi-sdk project, the C/C++ toolchain for WASI, is the go-to solution for compiling/linking WASI code and contains the more-or-less official releases of wasi-libc. This commit migrates CI to using wasi-sdk releases and additionally updates `bootstrap` to recognize when this is configured. This means that with `$WASI_SDK_PATH` configured there's no further configuration necessary to get a working build. Notably this also works better for the new targets of WASI as well, such as `wasm32-wasip2` and `wasm32-wasip1-threads` where the wasi-sdk release now has libraries for all targets bundled within it.
2024-04-17 21:05:48 +00:00
Elisha Hollander
72edac0eb2
allow the tests to pass tidy 2024-04-17 23:33:51 +03:00
Augie Fackler
22b704bac4 llvm: update riscv target feature to match LLVM 19
In llvm/llvm-project@9067070d91 they ended
up largely reverting
llvm/llvm-project@e817966718. This means
the change we did in
rust-lang/rust@b378059e6b is now only
corrct for LLVM 18...so we have to adjust again.

@rustbot label: +llvm-main
2024-04-17 16:15:24 -04:00
Elisha Hollander
e6b386ba2b
add tests 2024-04-17 22:57:57 +03:00
Elisha Hollander
9d27cbfaac
fix value 2024-04-17 22:56:03 +03:00
Elisha Hollander
473af625db
configure for testing 2024-04-17 22:50:05 +03:00
bors
d261b53081 Auto merge of #3481 - RalfJung:rustup, r=RalfJung
Rustup
2024-04-17 19:21:44 +00:00
Ralf Jung
7c3c2716ff fmt 2024-04-17 21:20:25 +02:00
Elisha Hollander
e06f90fc51
format style.rs 2024-04-17 22:16:59 +03:00
Elisha Hollander
8d0870899c
separate regex generation 2024-04-17 21:58:52 +03:00
Ralf Jung
3d3550ffa0 Merge from rustc 2024-04-17 20:38:23 +02:00
Ralf Jung
6a108a7477 Preparing for merge from rustc 2024-04-17 20:38:15 +02:00
bors
38104f3a88 Auto merge of #123936 - Mark-Simulacrum:zst-no-alloc, r=oli-obk
Codegen ZSTs without an allocation

This makes sure that &[] is equivalent to unsafe code (from_raw_parts(dangling, 0)). No new stable guarantee is intended about whether or not we do this, this is just an optimization.

This regressed in #67000 (no comments I can see about that regression in the PR, though it did change the test modified here). We had previously performed this optimization since #63635.
2024-04-17 18:31:10 +00:00
Daria Sukhonina
80c0b7e90f Use non-exhaustive matches for TyKind
Also no longer export noop async_drop_in_place_raw
2024-04-17 20:49:53 +03:00
Elisha Hollander
da35c19311
use a function to generate the regex
mainly for testing
2024-04-17 20:40:48 +03:00
bors
46702ffc1a Auto merge of #17087 - davidbarsky:david/fix-some-tracing-spans, r=Veykril
chore: fix a few spans without `.entered()`
2024-04-17 16:59:33 +00:00
bors
b256807c3e Auto merge of #17092 - Veykril:per-queries, r=Veykril
minor: Update `per_query_memory_usage` query listing
2024-04-17 16:46:21 +00:00
Lukas Wirth
011c2127c8 Update per_query_memory_usage query listing 2024-04-17 18:44:50 +02:00
David Barsky
5ba37f3f8e chore: fix a few spans without .entered() 2024-04-17 12:44:49 -04:00
许杰友 Jieyou Xu (Joe)
ca945e9ed8 tests: update cross-lang-lto-riscv-abi to use command wrappers 2024-04-17 16:28:49 +00:00
许杰友 Jieyou Xu (Joe)
255bee1777 run-make-support: add clang and llvm-readobj command wrappers 2024-04-17 16:28:49 +00:00
bors
c45dee5efd Auto merge of #124084 - matthiaskrgr:rollup-h42psbx, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #116957 (meta: notify #t-rustdoc Zulip stream on backport nominations)
 - #122201 (Document overrides of `clone_from()` in core/std)
 - #122723 (Use same file permissions for ar_archive_writer as the LLVM archive writer)
 - #124030 (interpret: pass MemoryKind to adjust_alloc_base_pointer)
 - #124037 (Don't ascend into parent bodies when collecting stmts for possible return suggestion)
 - #124049 (Stabilize `const_io_structs`)
 - #124062 (Add another expression to weird-exprs.rs)
 - #124066 (Don't error on subtyping of equal types)
 - #124073 (Remove libc from rust_get_test_int uses)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-04-17 16:27:58 +00:00
Matthias Krüger
abbe0d0e47
Rollup merge of #124073 - saethlin:rust-get-test-int, r=wesleywiser
Remove libc from rust_get_test_int uses

`rust_test_helpers.c` has a few unfortunate signatures which have made some of our UI tests _technically_ need the `libc` crate. This is my attempt to evict the need of `libc` for `rust_get_test_int`.

I've deleted `tests/ui/abi/foreign/foreign-no-abi.rs` because the test was originally written to check that `native mod` will compile without an ABI specifier. `native mod` was removed years before 1.0 and the test hasn't checked for anything for a long time.
2024-04-17 18:01:41 +02:00