Commit Graph

283832 Commits

Author SHA1 Message Date
bors
aaa2d47dae Auto merge of - nnethercote:rm-NtItem-NtStmt, r=petrochenkov
Remove `NtItem` and `NtStmt`

Another piece of .

r? `@petrochenkov`
2025-03-12 14:18:36 +00:00
bors
0998d4095b Auto merge of - Kobzol:bootstrap-2024, r=onur-ozkan
Update bootstrap to edition 2024

The stage0 compiler now supports edition 2024, so we can update bootstrap to it. I manually reviewed all the changes from `cargo fix --edition` and reverted most of them (`if let` -> `matches` changes and two unneeded usages of `use <>`).

r? `@onur-ozkan`

try-job: dist-x86_64-msvc
2025-03-12 11:05:40 +00:00
bors
57a4736e9f Auto merge of - matthiaskrgr:rollup-kbax8sz, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 -  (Add PeekMut::refresh)
 -  (Elaborate trait assumption in `receiver_is_dispatchable`)
 -  (Update books)
 -  (Reduce `kw::Empty` usage, part 2)
 -  (Fix false-positive in `expr_or_init` and in the `invalid_from_utf8` lint)
 -  (Refactor `pick2_mut` & `pick3_mut` to use `get_disjoint_mut`)
 -  (Item-related cleanups)
 -  (Remove unnecessary lifetime from `PatInfo`.)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-03-12 08:00:53 +00:00
Matthias Krüger
76f9cda260
Rollup merge of - nnethercote:rustc_hir_typeck, r=compiler-errors
Remove unnecessary lifetime from `PatInfo`.

r? ```@jackh726```
2025-03-12 08:06:51 +01:00
Matthias Krüger
4c6edb1df8
Rollup merge of - nnethercote:hir-ItemKind-ident-precursors, r=compiler-errors
Item-related cleanups

I have been looking at `hir::Item` closely and found a few minor cleanup opportunities.

r? ```@spastorino```
2025-03-12 08:06:51 +01:00
Matthias Krüger
2bdb10f164
Rollup merge of - Eclips4:issue-138196, r=scottmcm
Refactor `pick2_mut` & `pick3_mut` to use `get_disjoint_mut`

Closes 
2025-03-12 08:06:50 +01:00
Matthias Krüger
b849aa9f61
Rollup merge of - Urgau:fix-fp-expr_or_init, r=wesleywiser
Fix false-positive in `expr_or_init` and in the `invalid_from_utf8` lint

This PR fixes the logic for finding initializer in the `expr_or_init` and `expr_or_init_with_outside_body` functions.

If the binding were to be mutable (`let mut`), the logic wouldn't consider that the initializer expression could have been modified and would return the init expression even-trough multiple subsequent assignments could have been done.

Example:
```rust
let mut a = [99, 108, 130, 105, 112, 112]; // invalid, not UTF-8
loop {
    a = *b"clippy"; // valid
    break;
}
std::str::from_utf8_mut(&mut a); // currently warns, with this PR it doesn't
```

This PR modifies the logic to excludes mutable let bindings.

Found when using `expr_or_init` in https://github.com/rust-lang/rust/pull/119220.

r? compiler
2025-03-12 08:06:50 +01:00
Matthias Krüger
5833dfa78a
Rollup merge of - nnethercote:less-kw-Empty-2, r=compiler-errors
Reduce `kw::Empty` usage, part 2

A few small `kw::Empty` removals, or steps toward removals.

r? fmease
2025-03-12 08:06:49 +01:00
Matthias Krüger
53e4e6f0cc
Rollup merge of - rustbot:docs-update, r=jieyouxu
Update books

## rust-lang/book

11 commits in 4a01a9182496f807aaa5f72d93a25ce18bcbe105..81a976a237f84b8392c4ce1bd5fd076eb757a2eb
2025-02-27 22:10:41 UTC to 2025-02-24 18:36:27 UTC

- Ch. 10: Make social media discussion generic. ()
- Another Ch. 17 -> 18 fix ()
- Ch. 05: further tweak to wording about `user1` availability ()
- Ch. 02: Fix rand version mistake (from testing) ()
- Ch. 19: Correct the discussion of `fn` type and closures ()
- Edition maintenance: scripting the updates for future work ()
- Ch. 17: fresh-eyes edits ()
- Ch. 17: drop lifetime not required in 2024 Edition ()
- Appendix B, Operators: Replace “member access” with “field access” and “method call”. ()
- Update to Rust 1.85 and 2024 Edition! ()
- Chapter 1: fix 'four things' now that spacing is not emphasized ()

## rust-lang/edition-guide

2 commits in daa4b763cd848f986813b5cf8069e1649f7147af..1e27e5e6d5133ae4612f5cc195c15fc8d51b1c9c
2025-03-04 22:02:00 UTC to 2025-02-26 12:47:41 UTC

- Mention both `rustfmt.toml` and `.rustfmt.toml` ()
- Fix a typo ()

## rust-lang/nomicon

1 commits in 8f5c7322b65d079aa5b242eb10d89a98e12471e1..b4448fa406a6dccde62d1e2f34f70fc51814cdcc
2025-03-01 04:48:05 UTC to 2025-03-01 04:48:05 UTC

- Update to 2024 edition ()

## rust-lang/reference

8 commits in 615b4cec60c269cfc105d511c93287620032d5b0..dda31c85f2ef2e5d2f0f2f643c9231690a30a626
2025-03-09 14:25:25 UTC to 2025-02-25 16:07:17 UTC

- Rework note blocks and change admonition rendering ()
- Add more information on rules and tests ()
- Mention `explicit_builtin_cfgs_in_flags` lint cfg chapter ()
- fixup test links ()
- Fix diagnostics typo: `do_no_recommend` -> `do_not_recommend` ()
- panic runtime and C-unwind documentation ()
- Closures: fix example of desugaring ()
- Update boolean.md, Comment breaks paragraph format ()

## rust-lang/rust-by-example

1 commits in 66543bbc5b7dbd4e679092c07ae06ba6c73fd912..6f69823c28ae8d929d6c815181c73d3e99ef16d3
2025-03-09 13:12:24 UTC to 2025-03-09 13:12:24 UTC

- Update mdbook to 0.4.46 ()

try-job: x86_64-gnu-distcheck
2025-03-12 08:06:48 +01:00
Matthias Krüger
143eb4f03e
Rollup merge of - compiler-errors:elaborate-unsize-self-pred, r=BoxyUwU
Elaborate trait assumption in `receiver_is_dispatchable`

Fixes . See comment on the linked test.

Probably not a fix for the general problem, bc I think this may still be incomplete for other weird `where` clauses on the receiver. But 🤷, supertraits seems like an obvious one to fix.
2025-03-12 08:06:47 +01:00
Matthias Krüger
4198902e9a
Rollup merge of - HeroicKatora:heap-peek-mut-refresh, r=dtolnay
Add PeekMut::refresh

I'm not sure if this should go through ACP or not. BinaryHeap is not the most critical data structure in the standard library and it would be understandable if maintainer throughput is thus too limited to accept this PR without a proper design phase that ensures the required understanding of consequence over a longer time period.

This aims to improve the useability of heaps for priority-based work queues. In certain scenarios, modifications on the most relevant or critical items are performed until a condition that determines the work items have been sufficiently addressed. For instance the criticality could be a deadline that is relaxed whenever some part of a work item is completed. Such a loop will repeatedly access the most critical item and put it back in a sorted position when it is complete. Crucially, due to the ordering invariant we know that all necessary work was performed when the completed item remains the most critical. Getting this information from the heap position avoids a (potentially more costly) check on the item state itself.

A customized `drop` with boolean result would avoid up to two more comparisons performed in both the last no-op refresh and Drop code but this occurs once in each execution of the above scenario whereas refresh occurs any number of times. Also note that the comparison overhead of Drop is only taken if the element is mutably inspected to determine the end condition, i.e. not when refresh itself is the break condition.
2025-03-12 08:06:46 +01:00
bors
a21d9789e2 Auto merge of - lqd:lld-linker-messages, r=jieyouxu
strip `-Wlinker-messages` wrappers from `rust-lld` rmake test

The `tests/run-make/rust-lld` rmake test is failing locally on my M1, due to linker messages being in a different shape than the test expects: it asserts that the LLD version is the first linker message, which is seemingly not always the case on osx I guess.

```console
thread 'main' panicked at /Users/lqd/rust/lqd-rust/tests/run-make/rust-lld/rmake.rs:24:5:
the LLD version string should be present in the output logs:
warning: linker stderr: rust-lld: directory not found for option -L/usr/local/lib
         LLD 20.1.0 (https://github.com/rust-lang/llvm-project.git 1c3bb96fdb6db7b8e8f24edb016099c223fdd27e)
         Library search paths:
             /Users/lqd/rust/lqd-rust/build/aarch64-apple-darwin/test/run-make/rust-lld/rmake_out
             /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib
         Framework search paths:
             /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks
```

This PR normalizes away the `-Wlinker-messages` wrappers around the linker output, to remove the requirement that the linker version is the first linker message / is prefixed with the warning wrapper in the regex.

(also another strange thing to explain the pre-existing regex: it seems the LLD version is sometimes output on stderr sometimes on stdout cool stuff)

We could do this for the other lld rmake tests, but they're only enabled on x64 linux so less likely to have random linker messages appearing without anyone noticing.
2025-03-12 03:32:13 +00:00
Nicholas Nethercote
c0cee43af5 Remove unnecessary lifetime from PatInfo. 2025-03-12 13:03:18 +11:00
bors
d2b52c5c48 Auto merge of - Jarcho:idx_opt, r=davidtwco
Allow bounds checks when enumerating `IndexSlice` to be elided

Without this hint, each loop iteration has to separately bounds check the index. See https://godbolt.org/z/zrfPY4Ten for an example.

This is technically a behaviour change, but only in cases where the compiler is going to crash anyways.
2025-03-12 00:30:16 +00:00
Nicholas Nethercote
ee9ef82795 Factor out some repeated code in parse_item_impl. 2025-03-12 09:55:29 +11:00
Nicholas Nethercote
ed10418363 Inline and remove State::print_item_type.
It has a single call site. The removal of the closure argument is a nice
touch.
2025-03-12 09:55:15 +11:00
Nicholas Nethercote
d7029d7e2d Remove unused OwnerNode::ident method. 2025-03-12 09:54:25 +11:00
Kirill Podoprigora
7398b39a0b Make panic's more specific 2025-03-12 00:35:16 +02:00
Nicholas Nethercote
4eadaff184 Convert a kw::Empty occurrence to sym::dummy.
`adjust_ident_and_get_scope` returns the symbol it receives unchanged,
and the call site ignores the returned symbol, so this symbol is unused.
2025-03-12 09:35:13 +11:00
Nicholas Nethercote
0b2d7062c4 Introduce sym::dummy and Ident::dummy.
The idea is to identify cases of symbols/identifiers that are not
expected to be used. There isn't a perfectly sharp line between "dummy"
and "not dummy", but I think it's useful nonetheless.
2025-03-12 09:35:11 +11:00
Nicholas Nethercote
fe04460f6f Remove an unnecessary kw::Empty check.
Replace it with an assert for now, just in case it is reachable.
2025-03-12 09:34:21 +11:00
Nicholas Nethercote
763db5dcd9 Convert a delayed bug to a bug.
This is never hit in the test suite.

At some point the check should be removed entirely. There are a million
places in the compiler where an empty symbol doesn't make sense, so a
check of this nature has almost zero value. But I'll leave it in place
for now just in case it gets hit by fuzzing or in the wild.
2025-03-12 09:34:21 +11:00
bors
c625102320 Auto merge of - matthiaskrgr:rollup-cn16m7q, r=matthiaskrgr
Rollup of 10 pull requests

Successful merges:

 -  (Allow int literals for pattern types with int base types)
 -  (Disable CFI for weakly linked syscalls)
 -  (Add support for downloading GCC from CI)
 -  (Prevent ICE in autodiff validation by emitting user-friendly errors)
 -  (stabilize `ci_rustc_if_unchanged_logic` test for local environments)
 -  (Do not feed anon const a type that references generics that it does not have)
 -  (Do not write user type annotation for const param value path)
 -  (Remove `AdtFlags::IS_ANONYMOUS` and `Copy`/`Clone` condition for anonymous ADT)
 -  (miri native_calls: ensure we actually expose *mutable* provenance to the memory FFI can access)
 -  (remove redundant `body`  arguments)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-03-11 21:17:18 +00:00
Kirill Podoprigora
64d143326f Refactor pick2_mut & pick3_mut to use get_disjoint_mut 2025-03-11 22:57:01 +02:00
Urgau
faa5b3f7de Fix false-positive in expr_or_init and in the invalid_from_utf8 lint 2025-03-11 21:56:53 +01:00
Matthias Krüger
4c1a1867c7
Rollup merge of - lcnr:goodbye-TypeVerifier, r=compiler-errors
remove redundant `body`  arguments

it's already stored in the `TypeChecker` itself
2025-03-11 19:35:35 +01:00
Matthias Krüger
4feb86684d
Rollup merge of - RalfJung:miri-native-calls-exposed, r=oli-obk
miri native_calls: ensure we actually expose *mutable* provenance to the memory FFI can access

In native call mode, the interpreter memory itself is accessed directly by external code via pointers created from integers and passed via libffi, so we have to ensure the provenance in Miri itself (on the meta level) is sufficiently exposed. So far we only exposed the provenance for read-only accesses. This may we enough as that may actually be the same provenance as for mutable accesses, but it's hard to be sure, and anyway there's no reason to do such a gambit -- we have this function, `prepare_for_native_call`, which iterates all memory the call can access. let's just also (re-)expose Miri's own allocations there. We expose the read-only provenance for all of them and the mutable provenance for the mutable allocations.

r? ``@oli-obk``
2025-03-11 19:35:34 +01:00
Matthias Krüger
954b88ed2a
Rollup merge of - compiler-errors:deanonymous, r=lcnr
Remove `AdtFlags::IS_ANONYMOUS` and `Copy`/`Clone` condition for anonymous ADT

cc , which removed anonymous ADTs from the compiler

I forgot more stuff I guess.
2025-03-11 19:35:33 +01:00
Matthias Krüger
16ff824133
Rollup merge of - compiler-errors:const-param-ty-annotation, r=BoxyUwU
Do not write user type annotation for const param value path

As I noted in the code comment, `DefKind::ConstParam` isn't actually *generic* over its own args, we just use the identity args from the body when lowering the value path so we have something to plug into the `EarlyBinder` we get back from `type_of` for the const param. So skip over it in `write_user_type_annotation_from_args`.

Somewhat unrelated, but I left an explanation for a somewhat mysterious quirk in the THIR lowering of user type annotations for patterns having to do with ctors and their `type_of` not actually being the type of the pattern node it's ascribing.

Fixes 

r? ``@BoxyUwU``
2025-03-11 19:35:32 +01:00
Matthias Krüger
4ff58c9103
Rollup merge of - compiler-errors:anon-const-ty, r=BoxyUwU
Do not feed anon const a type that references generics that it does not have

Fixes 

See the comment I left in the code. We could alternatively give these anon consts the generics from the parent, but that would be moving in a GCE-esque direction that we may not want. Open to tweaks here.

r? BoxyUwU
2025-03-11 19:35:31 +01:00
Matthias Krüger
55abd7fc82
Rollup merge of - onur-ozkan:ci-rustc-test-fix, r=jieyouxu
stabilize `ci_rustc_if_unchanged_logic` test for local environments

Fixes 
2025-03-11 19:35:31 +01:00
Matthias Krüger
caa2d008f9
Rollup merge of - Sa4dUs:autodiff-ice, r=ZuseZ4
Prevent ICE in autodiff validation by emitting user-friendly errors

This PR moves `valid_ret_activity` and `valid_input_activity` checks to the macro expansion phase in compiler/rustc_builtin_macros/src/autodiff.rs, replacing the following internal compiler error (ICE):
```
error: internal compiler error:
compiler/rustc_codegen_ssa/src/codegen_attrs.rs:935:13:
Invalid input activity Dual for Reverse mode
```
with a more user-friendly message.

The issue specifically affected the test file `tests/ui/autodiff/autodiff_illegal.rs`, impacting the functions `f5` and `f6`.

The ICE can be reproduced by following [Enzyme's Rustbook](https://enzymead.github.io/rustbook/installation.html) installation guide.

Additionally, this PR adds tests for invalid return activity in `autodiff_illegal.rs`, which previously triggered an unnoticed ICE before these fixes.

r? ``@oli-obk``
2025-03-11 19:35:29 +01:00
Matthias Krüger
c007d0af6a
Rollup merge of - Kobzol:download-ci-gcc, r=onur-ozkan
Add support for downloading GCC from CI

This PR adds a new bootstrap config section called `gcc` and implements a single config `download-ci-gcc`. Its behavior is similar to `download-ci-llvm`. Since https://github.com/rust-lang/rust/pull/137667, we distribute a CI component that contains the prebuilt `libgccjit.so` library on x64 Linux. With `download-ci-gcc`, this component is downloaded from CI to avoid building GCC locally.

This is an MVP of this functionality, designed for local usage. This PR does not enable this functionality on the LLVM 18 PR CI job which builds `cg_gcc`, and does not implement more complex detection logic. It simply uses `false` (build locally) or `true` (download from CI if you're on the right target, if CI download fails, then bootstrap fails).

The original LLVM CI download functionality has a lot of features and complexity, which we don't need for GCC (yet). I don't like how the LLVM CI stuff is threaded through multiple parts of bootstrap, so with GCC I would like to take a more centralized approach, where the `build::Gcc` step handles download from CI internally. This means that:
- For the rest of bootstrap, it should be transparent whether GCC was built locally or downloaded from CI.
- GCC is not downloaded eagerly unless you actually requested GCC (either you requested `x build gcc` or you asked to build/test the GCC backend).

This approach will require some modifications once we extend this feature, but so far I like this approach much more than putting this stuff into `Config[::parse]`, which already does a ton of stuff that it arguably shouldn't (but it's super difficult to extract its logic out).

This PR is an alternative to https://github.com/rust-lang/rust/pull/130749, which did a more 1:1 copy of the `download-ci-llvm` logic.

r? ``@onur-ozkan``
2025-03-11 19:35:29 +01:00
Matthias Krüger
9746ac5c2f
Rollup merge of - 1c3t3a:fix-std-cfi-violation, r=rcvalle
Disable CFI for weakly linked syscalls

Currently, when enabling CFI via -Zsanitizer=cfi and executing e.g. std::sys::random::getrandom, we can observe a CFI violation. This is the case for all consumers of the std::sys::pal::weak::syscall macro, as it is defining weak functions which don't show up in LLVM IR metadata. CFI fails for all these functions.

Similar to other such cases in
https://github.com/rust-lang/rust/issues/115199, this change stops emitting the CFI typecheck for consumers of the macro via the `#[no_sanitize(cfi)]` attribute.

r? ``````@rcvalle``````
2025-03-11 19:35:28 +01:00
Matthias Krüger
8a2e3acb45
Rollup merge of - oli-obk:pattern-type-literals, r=BoxyUwU
Allow int literals for pattern types with int base types

r? ``@BoxyUwU``

I also added an error at layout computation time for layouts that contain wrapping ranges (happens at monomorphization time). This is obviously hacky, but at least prevents such types from making it to codegen for now. It made writing the tests for int literals easier as I didn't have to think about that edge case

Basically this PR allows you to stop using transmutes for creating pattern types and instead just use literals:

```rust
let x: pattern_type!(u32 is 5..10) = 7;
```

works, and if the literal is out of range you get a type mismatch because it just stays at the base type and the base type can't be coerced to the pattern type.

cc ``@joshtriplett`` ``@scottmcm``
2025-03-11 19:35:27 +01:00
bors
6650252439 Auto merge of - oli-obk:defines, r=lcnr
Add `#[define_opaques]` attribute and require it for all type-alias-impl-trait sites that register a hidden type

Instead of relying on the signature of items to decide whether they are constraining an opaque type, the opaque types that the item constrains must be explicitly listed.

A previous version of this PR used an actual attribute, but had to keep the resolved `DefId`s in a side table.

Now we just lower to fields in the AST that have no surface syntax, instead a builtin attribute macro fills in those fields where applicable.

Note that for convenience referencing opaque types in associated types from associated methods on the same impl will not require an attribute. If that causes problems `#[defines()]` can be used to overwrite the default of searching for opaques in the signature.

One wart of this design is that closures and static items do not have generics. So since I stored the opaques in the generics of functions, consts and methods, I would need to add a custom field to closures and statics to track this information. During a T-types discussion we decided to just not do this for now.

fixes 
2025-03-11 18:13:31 +00:00
Eric Huss
6133999719 Fix cargo vendor not working without rustc installed
This fixes an issue where vendoring would fail if `rustc` is not in
PATH. This happens with the update of some workspaces to the 2024
edition which need to run `rustc -Vv` to determine which rust version is
in use.
2025-03-11 09:43:39 -07:00
Michael Goulet
c170d0f12f Elaborate param-env built for checking DispatchFromDyn for dyn compat 2025-03-11 16:32:56 +00:00
bors
f2d69d5a7c Auto merge of - Kobzol:rollup-4kj94rq, r=Kobzol
Rollup of 10 pull requests

Successful merges:

 -  (Clarify iterator by_ref docs)
 -  ([AIX] Fix hangs during testing)
 -  (Improve `-Zunpretty=hir` for parsed attrs)
 -  (Add maintainers for powerpc64le-unknown-linux-gnu)
 -  (Document -Z crate-attr)
 -  (add tracking issue for unqualified_local_imports)
 -  (Allow specifying glob patterns for try jobs)
 -  (use next_back() instead of last() on DoubleEndedIterator)
 -  (Remove unnecessary `[lints.rust]` sections.)
 -  (Fix post-merge workflow)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-03-11 15:08:43 +00:00
Aurelia Molzer
436959e3f7 Add PeekMut::refresh
This improves the useability of heaps for priority-based work queues. In
certain scenarios, modifications on the most relevant or critical items are
performed until a condition that determines the work items have been
sufficiently addressed. The loop will repeatedly access the most critical
item and put it back in a sorted position when it is complete. Crucially,
due to the ordering invariant we know that all work was performed when the
completed item remains the most critical. Getting this information from the
heap position avoids a (potentially more costly) check on the item state
itself.

A customized `drop` with boolean result would avoid up to two more
comparisons performed in both the last no-op refresh and Drop code but this
occurs once in each execution of the above scenario whereas refresh occurs
any number of times. Also note that the comparison overhead of Drop is only
taken if the element is mutably inspected to determine the end condition,
i.e. not when refresh itself is the break condition.
2025-03-11 15:58:00 +01:00
Jakub Beránek
75a69a48f3
Do not download GCC in tests 2025-03-11 15:33:56 +01:00
lcnr
ba6c406854 let the bodies hit the floor
remove unnecessary `body`  arguments
2025-03-11 15:30:39 +01:00
Ralf Jung
3846f94230 miri native_calls: ensure we actually expose *mutable* provenance to the memory FFI can access 2025-03-11 14:34:21 +01:00
Jakub Beránek
64c6ec5bef
Rollup merge of - jieyouxu:fix-citool, r=marcoieni
Fix post-merge workflow

The command is called `post-merge-report` not `post-merge-analysis`. See 90384941aa/src/ci/citool/src/main.rs (L379)

Noticed it failing in https://github.com/rust-lang/rust/pull/138310#issuecomment-2711917033.

r? ``@Kobzol`` (or ``@marcoieni)``
2025-03-11 13:30:57 +01:00
Jakub Beránek
7e4c08b82b
Rollup merge of - nnethercote:rm-lints-rust-sections, r=jieyouxu
Remove unnecessary `[lints.rust]` sections.

`bootstrap` and `llvm_enzyme` are now both in the extra `check-cfg` list in bootstrap, so they doesn't need to be handled explicitly in `Cargo.toml` files.

r? ```@jieyouxu```
2025-03-11 13:30:56 +01:00
Jakub Beránek
03a79a77ac
Rollup merge of - matthiaskrgr:nextback, r=fmease
use next_back() instead of last() on DoubleEndedIterator
2025-03-11 13:30:55 +01:00
Jakub Beránek
3e67637c13
Rollup merge of - Kobzol:citool-alias, r=marcoieni
Allow specifying glob patterns for try jobs

This PR modifies the `try-job` lookup logic to allow glob patterns. So you can e.g. request all MSVC-related jobs with `try-job: *msvc*`.

Best reviewed commit by commit.

r? ``````@marcoieni``````

try-job: `*msvc*`
2025-03-11 13:30:54 +01:00
Jakub Beránek
07f33e22bf
Rollup merge of - RalfJung:unqualified-local-imports, r=jieyouxu
add tracking issue for unqualified_local_imports

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

r? ``````@jieyouxu``````
2025-03-11 13:30:53 +01:00
Jakub Beránek
79fa56a026
Rollup merge of - jyn514:crate-attr, r=Noratrieb
Document -Z crate-attr

and also add a bunch of tests
2025-03-11 13:30:53 +01:00
Jakub Beránek
09cc57e3f8
Rollup merge of - daltenty:patch-1, r=jieyouxu
Add maintainers for powerpc64le-unknown-linux-gnu

The instructions are similar to `powerpc64le-unknown-linux-musl`
2025-03-11 13:30:52 +01:00