Commit graph

3360 commits

Author SHA1 Message Date
Jana Dönszelmann
26c28ee2ef
Rollup merge of #144726 - jdonszelmann:move-attr-data-structures, r=lcnr
merge rustc_attr_data_structures into rustc_hir

this move was discussed on zulip: [#t-compiler > attribute parsing rework @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/attribute.20parsing.20rework/near/528530091)

Many PRs in the attribute rework depend on this move.
2025-07-31 17:19:40 +02:00
Jana Dönszelmann
e1d3ad89c7
remove rustc_attr_data_structures 2025-07-31 14:19:27 +02:00
Nicholas Nethercote
1901dde97b Deduplicate IntTy/UintTy/FloatTy.
There are identical definitions in `rustc_type_ir` and `rustc_ast`. This
commit removes them and places a single definition in `rustc_ast_ir`.
This requires adding `rust_span` as a dependency of `rustc_ast_ir`, but
means a bunch of silly conversion functions can be removed.

The one annoying wrinkle is that the old version had differences in
their `Debug` impls, e.g. one printed `u32` while the other printed
`U32`. Some compiler error messages rely on the former (yuk), and some
clippy output depends on the latter. So the commit also changes clippy
to not rely on `Debug` and just implement what it needs itself.
2025-07-31 19:56:11 +10:00
Stuart Cook
f034a4fa14
Rollup merge of #144623 - RalfJung:miri, r=RalfJung
miri subtree update

Subtree update of `miri` to fc4d9a2720.

Created using https://github.com/rust-lang/josh-sync.

r? `@ghost`
2025-07-29 20:19:53 +10:00
Ralf Jung
dc33eb6c42 update lockfile and bless tidy 2025-07-29 08:10:55 +02:00
bors
cdccba87bf Auto merge of #144524 - rust-lang:cargo_update, r=clubby789
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.
r? dep-bumps

The following is the output from `cargo update`:

```txt

compiler & tools dependencies:
     Locking 3 packages to latest compatible versions
    Updating ipc-channel v0.20.0 -> v0.20.1
    Updating rand v0.9.1 -> v0.9.2
    Updating redox_syscall v0.5.13 -> v0.5.16
note: pass `--verbose` to see 37 unchanged dependencies behind latest

library dependencies:
     Locking 1 package to latest compatible version
    Updating rand v0.9.1 -> v0.9.2
note: pass `--verbose` to see 2 unchanged dependencies behind latest

rustbook dependencies:
     Locking 1 package to latest compatible version
    Updating redox_syscall v0.5.13 -> v0.5.16
```
2025-07-28 22:44:00 +00:00
Matthias Krüger
df6f530ff7
Rollup merge of #144495 - klensy:cargo_metadata, r=lqd
bump cargo_metadata

Bumps cargo_metadata. Change that required fixes is: e3373d02e7
2025-07-28 01:16:39 +02:00
klensy
ad4b8694df bump cargo_metadata 2025-07-27 12:47:39 +03:00
github-actions
75420b62ff cargo update
compiler & tools dependencies:
     Locking 3 packages to latest compatible versions
    Updating ipc-channel v0.20.0 -> v0.20.1
    Updating rand v0.9.1 -> v0.9.2
    Updating redox_syscall v0.5.13 -> v0.5.16
note: pass `--verbose` to see 37 unchanged dependencies behind latest

library dependencies:
     Locking 1 package to latest compatible version
    Updating rand v0.9.1 -> v0.9.2
note: pass `--verbose` to see 2 unchanged dependencies behind latest

rustbook dependencies:
     Locking 1 package to latest compatible version
    Updating redox_syscall v0.5.13 -> v0.5.16
2025-07-27 00:27:04 +00:00
Jonathan Brouwer
a2b3d81034
Call is_parsed_attribute rather than keeping track of a list of parsed attributes manually 2025-07-24 22:53:09 +02:00
León Orell Valerian Liehr
2a8bb6eda1
Rollup merge of #144218 - Noratrieb:target-spec-json-de-jank, r=fee1-dead
Use serde for target spec json deserialize

The previous manual parsing of `serde_json::Value` was a lot of complicated code and extremely error-prone. It was full of janky behavior like sometimes ignoring type errors, sometimes erroring for type errors, sometimes warning for type errors, and sometimes just ICEing for type errors (the icing on the top).

Additionally, many of the error messages about allowed values were out of date because they were in a completely different place than the FromStr impls. Overall, the system caused confusion for users.

I also found the old deserialization code annoying to read. Whenever a `key!` invocation was found, one had to first look for the right macro arm, and no go to definition could help.

This PR replaces all this manual parsing with a 2-step process involving serde.
First, the string is parsed into a `TargetSpecJson` struct. This struct is a 1:1 representation of the spec JSON. It already parses all the enums and is very simple to read and write.
Then, the fields from this struct are copied into the actual `Target`. The reason for this two-step process instead of just serializing into a `Target` is because of a few reasons

 1. There are a few transformations performed between the two formats
 2. The default logic is implemented this way. Otherwise all the default field values would have to be spelled out again, which is suboptimal. With this logic, they fall out naturally, because everything in the json struct is an `Option`.

Overall, the mapping is pretty simple, with the vast majority of fields just doing a 1:1 mapping that is captured by two macros. I have deliberately avoided making the macros generic to keep them simple.

All the `FromStr` impls now have the error message right inside them, which increases the chance of it being up to date. Some "`from_str`" impls were turned into proper `FromStr` impls to support this.

The new code is much less involved, delegating all the JSON parsing logic to serde, without any manual type matching.

This change introduces a few breaking changes for consumers. While it is possible to use this format on stable, it is very much subject to change, so breaking changes are expected. The hope is also that because of the way stricter behavior, breaking changes are easier to deal with, as they come with clearer error messages.

1. Invalid types now always error, everywhere. Previously, they would sometimes error, and sometimes just be ignored (which meant the users JSON was still broken, just silently!)
2. This now makes use of `deny_unknown_fields` instead of just warning on unused fields, which was done previously. Serde doesn't make it easy to get such warning behavior, which was the primary reason that this now changed. But I think error behavior is very reasonable too. If someone has random stale fields in their JSON, it is likely because these fields did something at some point but no longer do, and the user likely wants to be informed of this so they can figure out what to do.

   This is also relevant for the future. If we remove a field but someone has it set, it probably makes sense for them to take a look whether they need this and should look for alternatives, or whether they can just delete it. Overall, the JSON is made more explicit.

This is the only expected breakage, but there could also be small breakage from small mistakes. All targets roundtrip though, so it can't be anything too major.

fixes rust-lang/rust#144153
2025-07-24 15:08:22 +02:00
Noratrieb
dad96b107c Use serde for target spec json deserialize
The previous manual parsing of `serde_json::Value` was a lot of
complicated code and extremely error-prone. It was full of janky
behavior like sometimes ignoring type errors, sometimes erroring for
type errors, sometimes warning for type errors, and sometimes just
ICEing for type errors (the icing on the top).

Additionally, many of the error messages about allowed values were out
of date because they were in a completely different place than the
FromStr impls. Overall, the system caused confusion for users.

I also found the old deserialization code annoying to read. Whenever a
`key!` invocation was found, one had to first look for the right macro
arm, and no go to definition could help.

This PR replaces all this manual parsing with a 2-step process involving
serde.
First, the string is parsed into a `TargetSpecJson` struct. This struct
is a 1:1 representation of the spec JSON. It already parses all the
enums and is very simple to read and write.
Then, the fields from this struct are copied into the actual `Target`.
The reason for this two-step process instead of just serializing into a
`Target` is because of a few reasons

 1. There are a few transformations performed between the two formats
 2. The default logic is implemented this way. Otherwise all the default
    field values would have to be spelled out again, which is
    suboptimal. With this logic, they fall out naturally, because
    everything in the json struct is an `Option`.

Overall, the mapping is pretty simple, with the vast majority of fields
just doing a 1:1 mapping that is captured by two macros. I have
deliberately avoided making the macros generic to keep them simple.

All the `FromStr` impls now have the error message right inside them,
which increases the chance of it being up to date. Some "`from_str`"
impls were turned into proper `FromStr` impls to support this.

The new code is much less involved, delegating all the JSON parsing
logic to serde, without any manual type matching.

This change introduces a few breaking changes for consumers. While it is
possible to use this format on stable, it is very much subject to
change, so breaking changes are expected. The hope is also that because
of the way stricter behavior, breaking changes are easier to deal with,
as they come with clearer error messages.

1. Invalid types now always error, everywhere. Previously, they would
   sometimes error, and sometimes just be ignored (which meant the users
   JSON was still broken, just silently!)
2. This now makes use of `deny_unknown_fields` instead of just warning
   on unused fields, which was done previously. Serde doesn't make it
   easy to get such warning behavior, which was the primary reason that
   this now changed. But I think error behavior is very reasonable too.
   If someone has random stale fields in their JSON, it is likely
   because these fields did something at some point but no longer do,
   and the user likely wants to be informed of this so they can figure
   out what to do.

   This is also relevant for the future. If we remove a field but
   someone has it set, it probably makes sense for them to take a look
   whether they need this and should look for alternatives, or whether
   they can just delete it. Overall, the JSON is made more explicit.

This is the only expected breakage, but there could also be small
breakage from small mistakes. All targets roundtrip though, so it can't
be anything too major.
2025-07-21 19:32:44 +02:00
Jacob Pratt
b9701de4b1
Rollup merge of #144229 - RalfJung:miri-sync, r=RalfJung
Miri subtree update

r? `@ghost`
2025-07-20 23:11:23 -04:00
Ralf Jung
7bf2dd6295 update lockfile 2025-07-20 22:27:43 +02:00
github-actions
3e5cf9ab86 cargo update
compiler & tools dependencies:
     Locking 15 packages to latest compatible versions
    Updating chrono-tz v0.10.3 -> v0.10.4
    Removing chrono-tz-build v0.4.1
    Updating clap v4.5.40 -> v4.5.41
    Updating clap_builder v4.5.40 -> v4.5.41
    Updating clap_derive v4.5.40 -> v4.5.41
    Updating crc32fast v1.4.2 -> v1.5.0
    Updating derive_setters v0.1.7 -> v0.1.8
    Updating libredox v0.1.4 -> v0.1.6
    Updating measureme v12.0.1 -> v12.0.3
    Removing parse-zoneinfo v0.3.1
      Adding phf v0.12.1
      Adding phf_shared v0.12.1
    Updating rustix v1.0.7 -> v1.0.8
    Updating serde_json v1.0.140 -> v1.0.141
    Updating sysinfo v0.36.0 -> v0.36.1
    Updating wasi-preview1-component-adapter-provider v34.0.1 -> v34.0.2
    Updating winnow v0.7.11 -> v0.7.12
note: pass `--verbose` to see 39 unchanged dependencies behind latest

library dependencies:
     Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 3 unchanged dependencies behind latest

rustbook dependencies:
     Locking 13 packages to latest compatible versions
    Updating ammonia v4.1.0 -> v4.1.1
    Updating cc v1.2.29 -> v1.2.30
    Updating clap v4.5.40 -> v4.5.41
    Updating clap_builder v4.5.40 -> v4.5.41
    Updating clap_complete v4.5.54 -> v4.5.55
    Updating clap_derive v4.5.40 -> v4.5.41
    Updating crc32fast v1.4.2 -> v1.5.0
    Updating html5ever v0.31.0 -> v0.35.0
    Updating markup5ever v0.16.2 -> v0.35.0
    Updating match_token v0.1.0 -> v0.35.0
    Updating rustix v1.0.7 -> v1.0.8
    Updating serde_json v1.0.140 -> v1.0.141
    Updating winnow v0.7.11 -> v0.7.12
2025-07-20 00:27:45 +00:00
Matthias Krüger
465ae94328
Rollup merge of #143631 - hkBst:update-escaper-2, r=compiler-errors
update to literal-escaper-0.0.5

Quoting from the changelog, this version brings:
- Use `NonZero<char/u8>` in `unescape_c_str` and `check_raw_c_str` to statically exclude nuls
- Add `#[inline]` to small functions for improved performance
2025-07-17 10:41:45 +02:00
Samuel Tardieu
f03a56f706
Rollup merge of #143630 - jieyouxu:drop-suggest, r=Mark-Simulacrum
Drop `./x suggest`

This PR removes the current `./x suggest` implementation (rust-lang/rust#109933, rust-lang/rust#106249) and associated docs for several reasons:

1. Primarily, `./x suggest` is another "flow" in bootstrap that incurs extra complexity and more invariants that bootstrap has to maintain. This causes more friction when trying to investigate and fix staging problems. As far as I know, this flow has not been actively maintained in quite a while, and I'm not aware of interest in maintaining it. Bootstrap really could use less implementation complexity with a very limited maintenance bandwidth.
2. The current `./x suggest` implementation "bypasses" the usual stage defaults for the various check/build/test/etc. flows, and it's not really possible to have a stage default because `./x suggest --run` produces a *sequence* of suggestions like [`./x check`, `./x test library/std`, ..] and then tries to run all of them in sequence, based on which files are modified.
3. We've not seen a lot of interest both in using it or extending static/dynamic test suggestions. Last extensions were rust-lang/rust#117961 and rust-lang/rust#120763. I'm not convinced the extra implementation complexity is worth it. This was discussed in:
    - [#t-infra/bootstrap > Dropping the current &#96;./x suggest&#96; flow implementation](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Dropping.20the.20current.20.60.2E.2Fx.20suggest.60.20flow.20implementation/with/527456699)
    - [#t-compiler > Dropping current &#96;./x suggest&#96; implementation](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Dropping.20current.20.60.2E.2Fx.20suggest.60.20implementation/with/527528696)

Closes rust-lang/rust#109933 (the current implementation is being removed).
Closes rust-lang/rust#143569 (by removing `./x suggest` altogether).
2025-07-15 12:52:37 +02:00
bors
a001497644 Auto merge of #143745 - flip1995:clippy-subtree-update, r=Manishearth
Clippy subtree update

r? `@Manishearth`

Cargo.lock update due to `ui_test` bump and restructure.
2025-07-14 19:53:18 +00:00
Jieyou Xu
91d064b442
Remove current implementation of ./x suggest
This is quite a bit of implementation complexity, yet it is quite
broken, and we don't have the maintenance bandwidth to address.

Remove the current implementation if only to reduce bootstrap's
implementation complexity; the `suggest` flow comes with its own set of
hacks.
2025-07-15 00:46:33 +08:00
Makai
6598c61725 rename stable_mir to rustc_public, and rustc_smir to rustc_public_bridge 2025-07-14 09:25:54 +00:00
León Orell Valerian Liehr
b0e559a976
Rollup merge of #143796 - JonathanBrouwer:fix-builtin-attribute-prefix, r=jdonszelmann
Fix ICE for parsed attributes with longer path not handled by CheckAttribute

Fixes https://github.com/rust-lang/rust/issues/137590
Fixes https://github.com/rust-lang/rust/issues/143789

r? ```@jdonszelmann```
2025-07-13 07:21:21 +02:00
Ralf Jung
a0a8e80604 fix clippy_test_deps workspace handling 2025-07-12 12:10:04 +02:00
Jonathan Brouwer
2f05fa6fff
Fix ICE for parsed attributes with longer path not handled by CheckAttrVisitor
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-11 17:02:57 +02:00
Guillaume Gomez
1a28fb8b7b Update sysinfo version to 0.36.0 2025-07-11 15:51:42 +02:00
Philipp Krones
69fca569eb
Update Cargo.lock 2025-07-10 20:34:42 +02:00
Jieyou Xu
ed520af279
Don't attempt to version run-make-support
Purely internal test support library.
2025-07-09 20:05:13 +08:00
Marijn Schouten
d44dcd4513 update to literal-escaper-0.0.5 2025-07-08 10:16:44 +00:00
bors
1b0bc594a7 Auto merge of #143582 - jieyouxu:rollup-8t9mhfj, r=jieyouxu
Rollup of 11 pull requests

Successful merges:

 - rust-lang/rust#143130 (doc(std): clarify `NonZero<T>` usage limitation in doc comment)
 - rust-lang/rust#143415 (Get rid of build-powerpc64le-toolchain.sh)
 - rust-lang/rust#143464 (Make tests/ui/abi/debug.rs cross-compile)
 - rust-lang/rust#143482 (Fix short linker error output)
 - rust-lang/rust#143524 (Move `stable_mir` back to its own crate)
 - rust-lang/rust#143528 (interpret: rename StackPopCleanup)
 - rust-lang/rust#143551 (Dont resolve instance of root in `mir_callgraph_cyclic`)
 - rust-lang/rust#143558 (mbe: Refactors and function extractions in `compile_declarative_macro`)
 - rust-lang/rust#143563 (std: fix typo in `std::path`)
 - rust-lang/rust#143564 (compiler: Deduplicate `must_emit_unwind_tables()` comments)
 - rust-lang/rust#143577 (Disable download-rustc for library profile)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-07-07 14:20:33 +00:00
许杰友 Jieyou Xu (Joe)
02aa4ff12f
Rollup merge of #143524 - makai410:smir-move-back, r=oli-obk
Move `stable_mir` back to its own crate

We've finished the refactoring, so it's time to move `stable_mir` back to its own crate.

This PR leaves an empty `rustc_internal` module with a `#[deprecated]` attribute in `rustc_smir` to let users know we just moved it to `stable_mir`.
2025-07-07 19:45:40 +08:00
bors
25cf7d13c9 Auto merge of #143035 - ywxt:less-work-steal, r=oli-obk
Only work-steal in the main loop for rustc_thread_pool

This PR is a replica of <https://github.com/rust-lang/rustc-rayon/pull/12> that only retained work-steal in the main loop for rustc_thread_pool.

r? `@oli-obk`

cc `@SparrowLii` `@Zoxc` `@cuviper`

Updates rust-lang/rust#113349
2025-07-07 11:16:16 +00:00
Josh Triplett
8ee1e9817c mbe: Change unused_macro_rules to a DenseBitSet
Now that it only contains indexes, and no other information, a bitset
provides a more compact and simpler representation.
2025-07-06 12:02:23 -07:00
bors
3c95364c4a Auto merge of #143515 - rust-lang:cargo_update, r=clubby789
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.
r? dep-bumps

The following is the output from `cargo update`:

```txt

compiler & tools dependencies:
     Locking 6 packages to latest compatible versions
      Adding io-uring v0.7.8
    Updating jsonpath-rust v1.0.2 -> v1.0.3
    Updating libffi v4.1.0 -> v4.1.1
    Updating libffi-sys v3.3.1 -> v3.3.2
    Updating tokio v1.45.1 -> v1.46.1
    Updating wasm-component-ld v0.5.14 -> v0.5.15
note: pass `--verbose` to see 41 unchanged dependencies behind latest

library dependencies:
     Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 4 unchanged dependencies behind latest

rustbook dependencies:
     Locking 1 package to latest compatible version
    Updating cc v1.2.27 -> v1.2.29
```
2025-07-06 13:53:52 +00:00
Makai
c42a9ac602 move stable_mir back to its own crate and move rustc_internal to thestable_mir crate
As part of this reorganization, some traits need to be moved from `rustc_smir::context::traits` to `stable_mir::unstable::internal_cx`. These traits are specifically designed for `InternalCx` to clarify the behavior of different functions that share the same name. This move is necessary to avoid orphan rule violations.
2025-07-06 12:25:42 +00:00
github-actions
31ea5f90c7 cargo update
compiler & tools dependencies:
     Locking 6 packages to latest compatible versions
      Adding io-uring v0.7.8
    Updating jsonpath-rust v1.0.2 -> v1.0.3
    Updating libffi v4.1.0 -> v4.1.1
    Updating libffi-sys v3.3.1 -> v3.3.2
    Updating tokio v1.45.1 -> v1.46.1
    Updating wasm-component-ld v0.5.14 -> v0.5.15
note: pass `--verbose` to see 41 unchanged dependencies behind latest

library dependencies:
     Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 4 unchanged dependencies behind latest

rustbook dependencies:
     Locking 1 package to latest compatible version
    Updating cc v1.2.27 -> v1.2.29
2025-07-06 00:26:38 +00:00
Ralf Jung
a1f4172afa update lockfile 2025-07-05 10:39:03 +02:00
bors
e3843659e9 Auto merge of #114669 - cjgillot:metadata-wp, r=petrochenkov
Make metadata a workproduct and reuse it

This PR aims to skip the generation of metadata by reusing the infrastructure that already exists for compiled codegen-units, namely "workproducts".

This can yield substantial gains (~10%) when we can demonstrate that metadata does not change between an incremental session and the next. This is the case if the crate is unchanged, or if all the changes are in upstream crates and have no effect on it. This latter case is most interesting, as it arises regularly for users with several crates in their workspace.

TODO:
- [x] Materialize the fact that metadata encoding relies on the relative order of definitions;
- [x] Refactor the handling of doc links.
2025-07-04 18:06:20 +00:00
Camille GILLOT
761d366415 Reuse metadata file from work products. 2025-07-04 14:02:17 +00:00
klensy
e631555a48 bump termize dep 2025-07-04 11:43:43 +03:00
bors
48aee7e383 Auto merge of #142857 - rust-lang:cargo_update, r=clubby789
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.

The following is the output from `cargo update`:

```txt

compiler & tools dependencies:
     Locking 23 packages to latest compatible versions
    Updating anstyle-svg v0.1.8 -> v0.1.9
    Updating autocfg v1.4.0 -> v1.5.0
    Updating bumpalo v3.18.1 -> v3.19.0
    Updating derive-where v1.4.0 -> v1.5.0
    Updating errno v0.3.12 -> v0.3.13
    Updating indexmap v2.9.0 -> v2.10.0
    Updating libredox v0.1.3 -> v0.1.4
    Updating owo-colors v4.2.1 -> v4.2.2
    Updating pest v2.8.0 -> v2.8.1
    Updating pest_derive v2.8.0 -> v2.8.1
    Updating pest_generator v2.8.0 -> v2.8.1
    Updating pest_meta v2.8.0 -> v2.8.1
    Updating r-efi v5.2.0 -> v5.3.0
    Updating rustc-build-sysroot v0.5.8 -> v0.5.9
    Updating slab v0.4.9 -> v0.4.10
    Updating syn v2.0.103 -> v2.0.104
      Adding toml v0.8.23
      Adding toml_edit v0.22.27
      Adding toml_write v0.1.2
    Updating tracing-attributes v0.1.29 -> v0.1.30
    Updating xattr v1.5.0 -> v1.5.1
    Updating zerocopy v0.8.25 -> v0.8.26
    Updating zerocopy-derive v0.8.25 -> v0.8.26
note: pass `--verbose` to see 39 unchanged dependencies behind latest

library dependencies:
     Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 3 unchanged dependencies behind latest

rustbook dependencies:
     Locking 21 packages to latest compatible versions
    Updating autocfg v1.4.0 -> v1.5.0
    Updating bumpalo v3.18.1 -> v3.19.0
    Updating errno v0.3.12 -> v0.3.13
    Updating indexmap v2.9.0 -> v2.10.0
    Updating markup5ever v0.16.1 -> v0.16.2
    Updating pest v2.8.0 -> v2.8.1
    Updating pest_derive v2.8.0 -> v2.8.1
    Updating pest_generator v2.8.0 -> v2.8.1
    Updating pest_meta v2.8.0 -> v2.8.1
    Updating r-efi v5.2.0 -> v5.3.0
    Updating syn v2.0.103 -> v2.0.104
      Adding windows-sys v0.60.2
      Adding windows-targets v0.53.2
      Adding windows_aarch64_gnullvm v0.53.0
      Adding windows_aarch64_msvc v0.53.0
      Adding windows_i686_gnu v0.53.0
      Adding windows_i686_gnullvm v0.53.0
      Adding windows_i686_msvc v0.53.0
      Adding windows_x86_64_gnu v0.53.0
      Adding windows_x86_64_gnullvm v0.53.0
      Adding windows_x86_64_msvc v0.53.0
```
2025-07-03 16:57:14 +00:00
github-actions
5737b856d6 cargo update
compiler & tools dependencies:
     Locking 23 packages to latest compatible versions
    Updating anstyle-svg v0.1.8 -> v0.1.9
    Updating autocfg v1.4.0 -> v1.5.0
    Updating bumpalo v3.18.1 -> v3.19.0
    Updating derive-where v1.4.0 -> v1.5.0
    Updating errno v0.3.12 -> v0.3.13
    Updating indexmap v2.9.0 -> v2.10.0
    Updating libredox v0.1.3 -> v0.1.4
    Updating owo-colors v4.2.1 -> v4.2.2
    Updating pest v2.8.0 -> v2.8.1
    Updating pest_derive v2.8.0 -> v2.8.1
    Updating pest_generator v2.8.0 -> v2.8.1
    Updating pest_meta v2.8.0 -> v2.8.1
    Updating r-efi v5.2.0 -> v5.3.0
    Updating rustc-build-sysroot v0.5.8 -> v0.5.9
    Updating slab v0.4.9 -> v0.4.10
    Updating syn v2.0.103 -> v2.0.104
      Adding toml v0.8.23
      Adding toml_edit v0.22.27
      Adding toml_write v0.1.2
    Updating tracing-attributes v0.1.29 -> v0.1.30
    Updating xattr v1.5.0 -> v1.5.1
    Updating zerocopy v0.8.25 -> v0.8.26
    Updating zerocopy-derive v0.8.25 -> v0.8.26
note: pass `--verbose` to see 39 unchanged dependencies behind latest

library dependencies:
     Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 3 unchanged dependencies behind latest

rustbook dependencies:
     Locking 21 packages to latest compatible versions
    Updating autocfg v1.4.0 -> v1.5.0
    Updating bumpalo v3.18.1 -> v3.19.0
    Updating errno v0.3.12 -> v0.3.13
    Updating indexmap v2.9.0 -> v2.10.0
    Updating markup5ever v0.16.1 -> v0.16.2
    Updating pest v2.8.0 -> v2.8.1
    Updating pest_derive v2.8.0 -> v2.8.1
    Updating pest_generator v2.8.0 -> v2.8.1
    Updating pest_meta v2.8.0 -> v2.8.1
    Updating r-efi v5.2.0 -> v5.3.0
    Updating syn v2.0.103 -> v2.0.104
      Adding windows-sys v0.60.2
      Adding windows-targets v0.53.2
      Adding windows_aarch64_gnullvm v0.53.0
      Adding windows_aarch64_msvc v0.53.0
      Adding windows_i686_gnu v0.53.0
      Adding windows_i686_gnullvm v0.53.0
      Adding windows_i686_msvc v0.53.0
      Adding windows_x86_64_gnu v0.53.0
      Adding windows_x86_64_gnullvm v0.53.0
      Adding windows_x86_64_msvc v0.53.0
2025-07-03 17:30:33 +01:00
Jonathan Brouwer
3d5d72b761
Port #[target_feature] to the new attribute parsing infrastructure
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-03 07:54:19 +02:00
Trevor Gross
18a621abe4 Upgrade dependencies in run-make-support
The main purpose of this is to upgrade `object` and `gimli`, which will
allow us to drop outdated versions once backtrace also updates.
The only semver breakage in `object`'s is in `elf::R_RISCV_GNU_*` and
`pe::IMAGE_WEAK_EXTERN_*` constants, as well as Mach-O dyld, which don't
appear to be used here. `gimli` is similar, there is only minor breakage
related to dyld.

These version upgrades were also done in the library.

`bstr`, `similar`, and `regex` are also upgraded to the latest minor
version here to match what the lockfile already uses. The `regex`
comment about `memchr` version hasn't been relevant to this lockfile
since e95d15a115 ("Pin memchr to 2.5.0 in the library rather than
rustc_ast") and is no longer relevant in the library lockfile either.

Object Changelog: https://github.com/gimli-rs/object/blob/master/CHANGELOG.md#0370
Gimli changelog: https://github.com/gimli-rs/gimli/blob/master/CHANGELOG.md#0320
2025-06-30 15:46:36 -05:00
Ralf Jung
85357d1e5c update lockfile 2025-06-28 13:33:12 +02:00
ywxt
0ff1fb27d3 Restore to HashSet
Co-authored-by: Zoxc <zoxc32@gmail.com>
2025-06-28 17:58:21 +08:00
ywxt
0ceac216c9 Only work-steal in the main loop for rustc_thread_pool
Co-authored-by: Zoxc <zoxc32@gmail.com>
2025-06-28 17:58:20 +08:00
Philipp Krones
1b5420a8be
Update Cargo.lock 2025-06-27 12:21:14 +02:00
Jana Dönszelmann
64a1a98f47
encode_cross_crate for hir attributes 2025-06-25 22:10:40 +02:00
bors
a17780db7b Auto merge of #142997 - workingjubilee:rollup-6lxec87, r=workingjubilee
Rollup of 15 pull requests

Successful merges:

 - rust-lang/rust#135731 (Implement parsing of pinned borrows)
 - rust-lang/rust#138780 (Add `#[loop_match]` for improved DFA codegen)
 - rust-lang/rust#142453 (Windows: make `read_dir` stop iterating after the first error is encountered)
 - rust-lang/rust#142633 (Error on invalid signatures for interrupt ABIs)
 - rust-lang/rust#142768 (Avoid a bitcast FFI call in transmuting)
 - rust-lang/rust#142825 (Port `#[track_caller]` to the new attribute system)
 - rust-lang/rust#142844 (Enable short-ice for Windows)
 - rust-lang/rust#142934 (Tweak `-Zmacro-stats` measurement.)
 - rust-lang/rust#142955 (Couple of test suite fixes for cg_clif)
 - rust-lang/rust#142977 (rustdoc: Don't mark `#[target_feature]` functions as ⚠)
 - rust-lang/rust#142980 (Reduce mismatched-lifetime-syntaxes suggestions to MaybeIncorrect)
 - rust-lang/rust#142982 (Corrected spelling mistake in c_str.rs)
 - rust-lang/rust#142983 (Taint body on invalid call ABI)
 - rust-lang/rust#142988 (Update wasm-component-ld to 0.5.14)
 - rust-lang/rust#142993 (Update cargo)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-25 04:05:47 +00:00
Jubilee
1d4955461b
Rollup merge of #142988 - alexcrichton:update-wasm-component-ld, r=Mark-Simulacrum
Update wasm-component-ld to 0.5.14

This brings in a few updates to the bundled `wasm-component-ld` dependency used by the `wasm32-wasip2` target. This primarily includes support for upcoming component model async/WASIp3 support which will be convenient to have native support for a few months from now.
2025-06-24 19:45:36 -07:00
Jubilee
2ad6272649
Rollup merge of #142825 - jdonszelmann:track-caller, r=oli-obk
Port `#[track_caller]` to the new attribute system

r? ``@oli-obk``

depends on https://github.com/rust-lang/rust/pull/142493

Closes rust-lang/rust#142783

(didn't add a test for this, this situation should simply never come up again, the code was simply wrong. lmk if I should add it, but it won't test something very useful)
2025-06-24 19:45:32 -07:00