Skip to content

Conversation

@matthiaskrgr
Copy link
Member

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

jdonszelmann and others added 30 commits December 17, 2025 14:14
On FreeBSD 15, the error code returned in this situation changed.  It's
now ENETUNREACH.  I think that error code is reasonable, and it's
documented for connect(2), so we should expect that it might be
returned.
`cargotest` can only detect the worst offenders (like tests failing, or
hard compiler errors / ICEs), but regardless, bumping `diesel` to a way
more recent version hopefully contributes slightly towards helping us
not break `diesel` if at all possible.
std supports redirecting stdio file descriptors.
- Make flush a noop since it is only for buffered writers.
- Also forward fsync to datasync. UEFI does not have anything
  separate for metadata sync.

Signed-off-by: Ayush Singh <[email protected]>
Since yesterday, the LLVM `main` branch should have working `f16` on all
platforms that Rust supports; this will be LLVM version 22, so update
how `cfg(target_has_reliable_f16)` is set to reflect this.

Within the rust-lang organization, this currently has no effect. The
goal is to start catching problems as early as possible in external CI
that runs top-of-tree rust against top-of-tree LLVM, and once testing
for the rust-lang bump to LLVM 22 starts. Hopefully this will mean that
we can fix any problems that show up before the bump actually happens,
meaning `f16` will be about ready for stabilization at that point (with
some considerations for the GCC patch at [1] propagating).

References:

* llvm/llvm-project@919021b
* llvm/llvm-project@054ee2f
* llvm/llvm-project@db26ce5
* llvm/llvm-project@549d7c4
* llvm/llvm-project@4903c62

[1]: gcc-mirror/gcc@8b6a18e
- Tested using OVMF on QEMU.

Signed-off-by: Ayush Singh <[email protected]>
stabilize `Peekable::next_if_map` (`#![feature(peekable_next_if_map)]`)

# Stabilization report

## Summary

`#![feature(peekable_next_if_map)]` is a variation  of `next_if` on peekable iterators that can transform the peeked item. This creates a way to take ownership of the next item in an iterator when some condition holds, but put the item back when the condition doesn't hold. This pattern would otherwise have needed unwraps in many cases.

[Tracking issue](rust-lang#143702)

### What is stabilized

```rust
impl<I: Iterator> Peekable<I> {
    pub fn next_if_map<R>(
        &mut self,
        f: impl FnOnce(I::Item) -> Result<R, I::Item>,
    ) -> Option<R> {
        ..
    }
    pub fn next_if_map_mut<R>(
        &mut self,
        f: impl FnOnce(&mut I::Item) -> Option<R>,
    ) -> Option<R> {
        ..
    }
}
```

Example usage adapted from the ACP:

```rust
let mut it = Peekable::new("123".chars());

while let Some(digit) = it.next_if_map(|c| c.to_digit(10).ok_or(c)) {
    codepoint = codepoint * 10 + digit;
}
```

or with `next_if_map_mut`:

```rust
let mut it = Peekable::new("123".chars());

while let Some(digit) = iter.next_if_map_mut(|c| c.to_digit(10)) {
    line_num = line_num * 10 + digit;
}
```

Note that the major difference here is that `next_if_map_mut` does not get owned items from the iterator, but mutable references. With that api, the closure can return an `Option` which avoids an `ok_or`. This may require cloning or copying the iterator elements, so if that is expensive, the owned version, `next_if_map`, may be preferable.

### Nightly use

At the moment, this feature is barely used in nightly, though I've found multiple good uses for it in my own projects, hence my pushing for stabilization. It makes the kind of patterns used in recursive descent parsing super concise and maybe with its stabilization it will find more use.

### Test coverage

Besides a quite comprehensive doctest, this feature is tested (including panicking in the closure) here:

https://github.com/rust-lang/rust/blob/c880acdd3171dfafdb55be8cd9822a857e99348d/library/coretests/tests/iter/adapters/peekable.rs#L275-L359

## History

- ACP: rust-lang/libs-team#613 accepted with rust-lang/libs-team#613 (comment)
- implementation: rust-lang#143725 with tests, and no issues reported since july.

## Acknowledgments

ACP, implementation and tracking issue for this feature all by @kennytm <3
adding Ordering enum to minicore.rs, importing minicore in "tests/assembly-llvm/rust-abi-arg-attr.rs" test file

this adds the `Ordering` enum to `minicore.rs`.

consequently, this updates `tests/assembly-llvm/rust-abi-arg-attr.rs` to import `minicore` directly. previously, this test file contained traits like `Copy` `Clone` `PointeeSized`, which were giving a duplicate lang item error, so replace those by importing `minicore` completely.
…Jung

Unix implementation for stdio set/take/replace

Tracking issue: rust-lang#150667
ACP: rust-lang/libs-team#500
Reword the collect() docs

Update the `Iterator::collect` docs so they explain that the return type, not the iterator itself, determines which collection is built.

Follow up on rust-lang#121140
…acrum

Fix the connect_error test on FreeBSD 15+

On FreeBSD 15, the error code returned in this situation changed.  It's now ENETUNREACH.  I think that error code is reasonable, and it's documented for connect(2), so we should expect that it might be returned.
…ulacrum

Use `rand` crate more idiomatically

Small cleanup, found while working on something else.
We were using `rand` un-idiomatically in a couple of places, and it was bugging me...
…lacrum

Bump `diesel` to the most recent commit in `cargotest`

`cargotest` can only detect the worst offenders (like tests failing, or hard compiler errors / ICEs), but regardless, bumping `diesel` to a way more recent version hopefully contributes slightly towards helping us not break `diesel` if at all possible.

That is, AFAIUI, this will not help catch [#t-compiler/prioritization/alerts > rust-lang#149845 Diesel stops building with nightly-2025-12-10 @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/245100-t-compiler.2Fprioritization.2Falerts/topic/.23149845.20Diesel.20stops.20building.20with.20nightly-2025-12-10/near/566975273) because we cap-lints to `warn` in `cargotest`.

Most recent commit as of the time of this PR anyway.
std: sys: fs: uefi: Implement File::flush

- Also forward fsync and datasync to flush. UEFI does not have anything separate for metadata sync.

@rustbot label +O-UEFI
Reenable GCC CI download

Now that we have the `gcc-dev` artifacts on CI. However, I forgot to bump download-ci-gcc-stamp before 🤦 So I will also have to bump it for this PR.
llvm: Update `reliable_f16` configuration for LLVM22

Since yesterday, the LLVM `main` branch should have working `f16` on all platforms that Rust supports; this will be LLVM version 22, so update how `cfg(target_has_reliable_f16)` is set to reflect this.

Within the rust-lang organization, this currently has no effect. The goal is to start catching problems as early as possible in external CI that runs top-of-tree rust against top-of-tree LLVM, and once testing for the rust-lang bump to LLVM 22 starts. Hopefully this will mean that we can fix any problems that show up before the bump actually happens, meaning `f16` will be about ready for stabilization at that point (with some considerations for the GCC patch at [1] propagating).

References:

* llvm/llvm-project@919021b
* llvm/llvm-project@054ee2f
* llvm/llvm-project@db26ce5
* llvm/llvm-project@549d7c4
* llvm/llvm-project@4903c62

[1]: gcc-mirror/gcc@8b6a18e
std: sys: fs: uefi: Implement File::seek

- Tested using OVMF on QEMU.

@rustbot label +O-UEFI
Remove special case for `AllowedTargets::CrateLevel`

r? @jdonszelmann
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 11, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 11, 2026

📌 Commit 8392406 has been approved by matthiaskrgr

It is now in the queue for this repository.

@matthiaskrgr
Copy link
Member Author

@bors try jobs=x86_64-mingw-1

@rust-bors

This comment has been minimized.

rust-bors bot added a commit that referenced this pull request Jan 11, 2026
Rollup of 14 pull requests

try-job: x86_64-mingw-1
@rust-bors

This comment has been minimized.

@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 11, 2026

☀️ Try build successful (CI)
Build commit: 961e5ee (961e5ee11ea7b2fdc52fbcb2deb3573046cefd80, parent: 9bc8b40bc314b74e1d5e5ab21a0df39c55a34806)

@rust-bors rust-bors bot added the merged-by-bors This PR was explicitly merged by bors. label Jan 11, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 11, 2026

☀️ Test successful - CI
Approved by: matthiaskrgr
Pushing 1279939 to main...

@rust-bors rust-bors bot merged commit 1279939 into rust-lang:main Jan 11, 2026
13 checks passed
@rustbot rustbot added this to the 1.94.0 milestone Jan 11, 2026
@github-actions
Copy link
Contributor

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 08f833a (parent) -> 1279939 (this PR)

Test differences

Show 694 test diffs

Stage 0

  • errors::verify_passes_abi_invalid_attribute_61: [missing] -> pass (J0)
  • errors::verify_passes_abi_invalid_attribute_62: pass -> [missing] (J0)
  • errors::verify_passes_attr_application_enum_73: pass -> [missing] (J0)
  • errors::verify_passes_attr_application_struct_union_75: pass -> [missing] (J0)
  • errors::verify_passes_attr_crate_level_94: pass -> [missing] (J0)
  • errors::verify_passes_cannot_stabilize_deprecated_79: [missing] -> pass (J0)
  • errors::verify_passes_collapse_debuginfo_43: pass -> [missing] (J0)
  • errors::verify_passes_const_stable_not_stable_88: [missing] -> pass (J0)
  • errors::verify_passes_custom_mir_incompatible_dialect_and_phase_108: pass -> [missing] (J0)
  • errors::verify_passes_duplicate_eii_impls_111: [missing] -> pass (J0)
  • errors::verify_passes_eii_without_impl_110: [missing] -> pass (J0)
  • errors::verify_passes_feature_previously_declared_65: pass -> [missing] (J0)
  • errors::verify_passes_feature_stable_twice_64: pass -> [missing] (J0)
  • errors::verify_passes_function_not_found_in_trait_113: [missing] -> pass (J0)
  • errors::verify_passes_function_not_found_in_trait_114: pass -> [missing] (J0)
  • errors::verify_passes_function_not_have_default_implementation_113: pass -> [missing] (J0)
  • errors::verify_passes_layout_abi_54: pass -> [missing] (J0)
  • errors::verify_passes_layout_homogeneous_aggregate_56: [missing] -> pass (J0)
  • errors::verify_passes_layout_invalid_attribute_59: pass -> [missing] (J0)
  • errors::verify_passes_layout_of_57: [missing] -> pass (J0)
  • errors::verify_passes_layout_of_58: pass -> [missing] (J0)
  • errors::verify_passes_link_24: [missing] -> pass (J0)
  • errors::verify_passes_macro_export_on_decl_macro_37: [missing] -> pass (J0)
  • errors::verify_passes_macro_export_on_decl_macro_38: pass -> [missing] (J0)
  • errors::verify_passes_missing_const_err_87: [missing] -> pass (J0)
  • errors::verify_passes_missing_const_stab_attr_83: pass -> [missing] (J0)
  • errors::verify_passes_non_exported_macro_invalid_attrs_38: [missing] -> pass (J0)
  • errors::verify_passes_repr_align_greater_than_target_max_30: [missing] -> pass (J0)
  • errors::verify_passes_rustc_allow_const_fn_unstable_34: [missing] -> pass (J0)
  • errors::verify_passes_rustc_allow_const_fn_unstable_35: pass -> [missing] (J0)
  • errors::verify_passes_rustc_legacy_const_generics_index_26: [missing] -> pass (J0)
  • errors::verify_passes_rustc_legacy_const_generics_index_27: pass -> [missing] (J0)
  • errors::verify_passes_rustc_legacy_const_generics_index_exceed_27: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_adt_with_private_fields_103: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_adt_with_private_fields_104: pass -> [missing] (J0)
  • errors::verify_passes_unexportable_fn_abi_99: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_generic_fn_98: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_priv_item_102: [missing] -> pass (J0)
  • errors::verify_passes_unexportable_type_in_interface_101: [missing] -> pass (J0)
  • errors::verify_passes_unknown_external_lang_item_45: pass -> [missing] (J0)
  • errors::verify_passes_unknown_feature_alias_84: [missing] -> pass (J0)
  • errors::verify_passes_unknown_feature_alias_85: pass -> [missing] (J0)
  • errors::verify_passes_unknown_lang_item_51: [missing] -> pass (J0)
  • errors::verify_passes_unknown_lang_item_52: pass -> [missing] (J0)
  • errors::verify_passes_unrecognized_argument_62: [missing] -> pass (J0)
  • errors::verify_passes_unrecognized_argument_63: pass -> [missing] (J0)
  • errors::verify_passes_unstable_attr_for_already_stable_feature_80: [missing] -> pass (J0)
  • errors::verify_passes_unstable_attr_for_already_stable_feature_81: pass -> [missing] (J0)
  • errors::verify_passes_unused_multiple_41: [missing] -> pass (J0)

Stage 1

  • errors::verify_passes_abi_of_59: [missing] -> pass (J1)
  • errors::verify_passes_attr_application_enum_73: pass -> [missing] (J1)
  • errors::verify_passes_attr_application_struct_enum_union_75: [missing] -> pass (J1)
  • errors::verify_passes_attr_crate_level_94: pass -> [missing] (J1)
  • errors::verify_passes_both_ffi_const_and_pure_22: [missing] -> pass (J1)
  • errors::verify_passes_both_ffi_const_and_pure_23: pass -> [missing] (J1)
  • errors::verify_passes_const_stable_not_stable_88: [missing] -> pass (J1)
  • errors::verify_passes_custom_mir_incompatible_dialect_and_phase_107: [missing] -> pass (J1)
  • errors::verify_passes_custom_mir_phase_requires_dialect_107: pass -> [missing] (J1)
  • errors::verify_passes_debug_visualizer_unreadable_34: pass -> [missing] (J1)
  • errors::verify_passes_deprecated_attribute_78: pass -> [missing] (J1)
  • errors::verify_passes_duplicate_eii_impls_111: [missing] -> pass (J1)
  • errors::verify_passes_extern_main_66: [missing] -> pass (J1)
  • errors::verify_passes_extern_main_67: pass -> [missing] (J1)
  • errors::verify_passes_feature_previously_declared_65: pass -> [missing] (J1)
  • errors::verify_passes_function_not_have_default_implementation_112: [missing] -> pass (J1)
  • errors::verify_passes_functions_names_duplicated_115: pass -> [missing] (J1)
  • errors::verify_passes_inline_ignored_for_exported_70: [missing] -> pass (J1)
  • errors::verify_passes_lang_item_fn_with_target_feature_50: pass -> [missing] (J1)
  • errors::verify_passes_lang_item_fn_with_track_caller_49: pass -> [missing] (J1)
  • errors::verify_passes_lang_item_on_incorrect_target_50: [missing] -> pass (J1)
  • errors::verify_passes_lang_item_on_incorrect_target_51: pass -> [missing] (J1)
  • errors::verify_passes_layout_abi_53: [missing] -> pass (J1)
  • errors::verify_passes_layout_abi_54: pass -> [missing] (J1)
  • errors::verify_passes_macro_export_on_decl_macro_37: [missing] -> pass (J1)
  • errors::verify_passes_may_dangle_40: pass -> [missing] (J1)
  • errors::verify_passes_missing_panic_handler_45: [missing] -> pass (J1)
  • errors::verify_passes_panic_unwind_without_std_46: [missing] -> pass (J1)
  • errors::verify_passes_proc_macro_bad_sig_89: [missing] -> pass (J1)
  • errors::verify_passes_repr_align_should_be_align_104: [missing] -> pass (J1)
  • errors::verify_passes_repr_align_should_be_align_static_105: [missing] -> pass (J1)
  • errors::verify_passes_repr_align_should_be_align_static_106: pass -> [missing] (J1)
  • errors::verify_passes_repr_conflicting_29: [missing] -> pass (J1)
  • errors::verify_passes_rustc_force_inline_coro_36: [missing] -> pass (J1)
  • errors::verify_passes_rustc_legacy_const_generics_index_26: [missing] -> pass (J1)
  • errors::verify_passes_rustc_legacy_const_generics_only_26: pass -> [missing] (J1)
  • errors::verify_passes_sanitize_attribute_not_allowed_94: [missing] -> pass (J1)
  • errors::verify_passes_trait_impl_const_stable_83: [missing] -> pass (J1)
  • errors::verify_passes_trait_impl_const_stable_84: pass -> [missing] (J1)
  • errors::verify_passes_transparent_incompatible_77: pass -> [missing] (J1)
  • errors::verify_passes_unexportable_adt_with_private_fields_104: pass -> [missing] (J1)
  • errors::verify_passes_unexportable_fn_abi_100: pass -> [missing] (J1)
  • errors::verify_passes_unexportable_generic_fn_99: pass -> [missing] (J1)
  • errors::verify_passes_unexportable_item_98: pass -> [missing] (J1)
  • errors::verify_passes_unexportable_type_in_interface_101: [missing] -> pass (J1)
  • errors::verify_passes_unknown_external_lang_item_45: pass -> [missing] (J1)
  • errors::verify_passes_unknown_lang_item_52: pass -> [missing] (J1)
  • errors::verify_passes_unnecessary_partial_stable_feature_91: [missing] -> pass (J1)
  • errors::verify_passes_unnecessary_stable_feature_90: [missing] -> pass (J1)
  • errors::verify_passes_unstable_attr_for_already_stable_feature_80: [missing] -> pass (J1)
  • errors::verify_passes_useless_stability_79: pass -> [missing] (J1)

(and 274 additional test diffs)

Additionally, 320 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 1279939b38db460bd3844a6ca44e94961a48333d --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. dist-apple-various: 4026.1s -> 3529.7s (-12.3%)
  2. dist-aarch64-msvc: 5690.0s -> 6388.3s (+12.3%)
  3. dist-x86_64-apple: 6278.2s -> 6920.3s (+10.2%)
  4. x86_64-gnu-gcc: 3775.8s -> 3394.5s (-10.1%)
  5. dist-aarch64-apple: 6579.6s -> 7183.5s (+9.2%)
  6. aarch64-msvc-1: 6730.9s -> 7308.4s (+8.6%)
  7. x86_64-gnu-miri: 4921.4s -> 4537.2s (-7.8%)
  8. aarch64-msvc-2: 6014.7s -> 6445.6s (+7.2%)
  9. dist-x86_64-msvc-alt: 8638.2s -> 9218.1s (+6.7%)
  10. x86_64-msvc-1: 8581.5s -> 9112.1s (+6.2%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#148941 stabilize Peekable::next_if_map (`#![feature(peekable_nex… 5dbbc52058d9f41ff27e42b3a7fcf829798bfb63 (link)
#150368 adding Ordering enum to minicore.rs, importing minicore in … 96089d0e20c0e826e11bfaab860154dbb46a391c (link)
#150668 Unix implementation for stdio set/take/replace 6d1f4814401f31523e21b0d851e0d6a1445255c1 (link)
#150743 Reword the collect() docs c482025290f15633ce58bcd92adc67477557e8a5 (link)
#150776 Fix the connect_error test on FreeBSD 15+ 217ec9e8ff41c748076a15d109108f13223b83e8 (link)
#150781 Use rand crate more idiomatically f1bee6d44c3e2adff3725af1de7e5c6c381c7650 (link)
#150812 Bump diesel to the most recent commit in cargotest 4dfe37fe952111d9f6e98a73079f9362e404be72 (link)
#150862 std: sys: fs: uefi: Implement File::flush 888d21fa029220cd35a3c433e5fd51f6174cdf4a (link)
#150873 Reenable GCC CI download 3824ee9d8a5770d756488c860e3201c59e7dbe46 (link)
#150908 llvm: Update reliable_f16 configuration for LLVM22 e7672f7ef572ded64d9b311ae680428c7274e6b9 (link)
#150918 std: sys: fs: uefi: Implement File::seek 3586a8c3e6cb5badf1b854952b4794ced349626a (link)
#150922 Subscribe myself to attr parsing 8d0be97be94358ec504241ad9dde4702b46b7668 (link)
#150930 Remove special case for AllowedTargets::CrateLevel 2bd58ffd01f796c1e44788cf999a33283b582707 (link)
#150942 Port #[rustc_has_incoherent_inherent_impls] to attribute … 40856d8da1a6f43772f0e440c5af8df9db359f9a (link)

previous master: 08f833aa17

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (1279939): comparison URL.

Overall result: ❌ regressions - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
0.1% [0.1%, 0.2%] 4
Regressions ❌
(secondary)
0.4% [0.1%, 1.0%] 20
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [0.1%, 0.2%] 4

Max RSS (memory usage)

Results (primary 1.6%, secondary 0.7%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
1.6% [1.3%, 1.9%] 2
Regressions ❌
(secondary)
2.4% [0.7%, 3.7%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.0% [-3.3%, -0.6%] 2
All ❌✅ (primary) 1.6% [1.3%, 1.9%] 2

Cycles

Results (primary 2.2%, secondary -0.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.2% [2.2%, 2.2%] 1
Regressions ❌
(secondary)
6.2% [6.2%, 6.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-6.3% [-6.3%, -6.3%] 1
All ❌✅ (primary) 2.2% [2.2%, 2.2%] 1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 474.227s -> 473.69s (-0.11%)
Artifact size: 391.32 MiB -> 391.41 MiB (0.02%)

@Mark-Simulacrum
Copy link
Member

Kicked off two perf runs (#150930 (comment), #150942 (comment)). I doubt there's much to be done about the regression if it is attribute parsing related though.

@JonathanBrouwer
Copy link
Contributor

@rustbot label: +perf-regression-triaged
Explained by #150930

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Jan 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.