Compare commits

...
Sign in to create a new pull request.

33 commits

Author SHA1 Message Date
bors
172dc09412 Auto merge of #152721 - ehuss:beta-revert-target-spec, r=jackh726
[beta] Revert destabilise target-spec-json

This reverts https://github.com/rust-lang/rust/pull/150151 in order to deal with https://github.com/rust-lang/rust/issues/151729 where the destabilization caused a problem with building rustc itself with JSON target specs. There's a fix at https://github.com/rust-lang/rust/pull/152677, but we would prefer to not backport that, and instead give ourselves more time to work out the kinks. Also, the destabilization was incomplete, and the rest of the changes are in 1.95 (https://github.com/rust-lang/rust/pull/151534 and https://github.com/rust-lang/cargo/pull/16557), so it would be nice to keep all the changes together in one release.

This reverts commit a89683dd95, reversing changes made to 2f1bd3f378.
2026-02-18 17:12:50 +00:00
Eric Huss
6de57ea1ec [beta] Revert destabilise target-spec-json
This reverts https://github.com/rust-lang/rust/pull/150151 in order to
deal with https://github.com/rust-lang/rust/issues/151729 where the
destabilization caused a problem with building rustc itself with JSON
target specs. There's a fix at
https://github.com/rust-lang/rust/pull/152677, but we would prefer to
not backport that, and instead give ourselves more time to work out the
kinks. Also, the destabilization was incomplete, and the rest of the
changes are in 1.95 (https://github.com/rust-lang/rust/pull/151534 and
https://github.com/rust-lang/cargo/pull/16557), so it would be nice to
keep all the changes together in one release.

This reverts commit a89683dd95, reversing
changes made to 2f1bd3f378.
2026-02-16 09:07:31 -08:00
bors
2e10913d41 Auto merge of #152187 - cuviper:beta-next, r=cuviper
[beta] backports, plus stable versions in stdarch

- Replace `stdarch` version placeholders with 1.94
- Parse ident with allowing recovery when trying to diagnose rust-lang/rust#151249
- Revert enabling `outline-atomics` on various platforms rust-lang/rust#151896
- Revert doc attribute parsing errors to future warnings rust-lang/rust#151952
- Remove the 4 failing tests from rustdoc-gui rust-lang/rust#152194
- Remove rustdoc GUI flaky test rust-lang/rust#152116
- Align `ArrayWindows` trait impls with `Windows` rust-lang/rust#151613
- Fix suppression of `unused_assignment` in binding of `unused_variable` rust-lang/rust#151556
- layout: handle rigid aliases without params rust-lang/rust#151814
- Fix missing unused_variables lint when using a match guard rust-lang/rust#151990
- Partially revert "resolve: Update `NameBindingData::vis` in place" rust-lang/rust#152498
- [BETA]: parse array lengths without stripping const blocks rust-lang/rust#152237

r? cuviper
2026-02-12 23:54:59 +00:00
Boxy
9cc698e8d6 parse array lengths without mgca shenanigans
(cherry picked from commit 01703e30c0)
2026-02-12 09:07:19 -08:00
Vadim Petrochenkov
a096799b4a Partially revert "resolve: Update NameBindingData::vis in place"
(cherry picked from commit 324267ccaa)
2026-02-12 09:07:10 -08:00
Vadim Petrochenkov
bcfdf1bf97 Add tests for issues 152004, 151124 and 152347
(cherry picked from commit 0cd0840243)
2026-02-12 09:07:10 -08:00
Alan Egerton
1087b41a83 Fix missing unused_variables lint when using a match guard
Within a binding pattern match guard, only real reads of a bound local
impact its liveness analysis - not the fake read that is injected.

(cherry picked from commit 5aba6b1635)
2026-02-12 09:06:20 -08:00
lcnr
8ac1f9d27d fix rustdoc test
(cherry picked from commit 337abba988)
2026-02-12 09:06:14 -08:00
lcnr
25c0e0569c prevent incorrect layout error
aliases may be rigid even if they don't reference params. If the alias isn't well-formed, trying to normalize it as part of the input should have already failed

(cherry picked from commit 39a532445a)
2026-02-12 09:06:14 -08:00
lcnr
4dbbfa3087 add regression test
(cherry picked from commit d4454e59d3)
2026-02-12 09:06:14 -08:00
Alan Egerton
01268919a5 Fix suppression of unused_assignment in binding of unused_variable
Unused assignments to an unused variable should trigger only the
`unused_variables` lint and not also the `unused_assignments` lint.
This was previously implemented by checking whether the span of the
assignee was within the span of the binding pattern, however that failed
to capture situations was imported from elsewhere (eg from the input
tokenstream of a proc-macro that generates the binding pattern).

By comparing the span of the assignee to those of the variable
introductions instead, a reported stable-to-stable regression is
resolved.

This fix also impacted some other preexisting tests, which had
(undesirably) been triggering both the `unused_variables` and
`unused_assignments` lints on the same initializing assignment; those
tests have therefore now been updated to expect only the former lint.

(cherry picked from commit 22b3f59882)
2026-02-12 09:06:11 -08:00
Josh Stone
e1dd1bb6cb impl TrustedRandomAccess for ArrayWindows
(cherry picked from commit 129d552d3f)
2026-02-09 16:30:51 -08:00
Josh Stone
8011d42521 impl TrustedLen for ArrayWindows
(cherry picked from commit 8f7d556c75)
2026-02-09 16:30:51 -08:00
Josh Stone
622cdb3575 impl FusedIterator for ArrayWindows
(cherry picked from commit 08cd2ac33d)
2026-02-09 16:30:51 -08:00
Josh Stone
90e99bdd32 Manually impl Clone for ArrayWindows
This implementation doesn't need the derived `T: Clone`.

(cherry picked from commit 90521553e6)
2026-02-09 16:30:51 -08:00
Josh Stone
f5ccb92483 Remove derive(Copy) on ArrayWindows
The derived `T: Copy` constraint is not appropriate for an iterator by
reference, but we generally do not want `Copy` on iterators anyway.

(cherry picked from commit 2bae85ec52)
2026-02-09 16:30:51 -08:00
Guillaume Gomez
dbfbf2df54 Remove rustdoc GUI flaky test
(cherry picked from commit 607ac4bb84)
2026-02-06 08:38:33 -08:00
Jonathan Brouwer
322be0cdee Remove the 4 failing tests from rustdoc-gui
(cherry picked from commit bce8c00e2f)
2026-02-06 08:34:18 -08:00
Guillaume Gomez
34f6f4827d Move remaining doc attribute parsing errors to warnings
(cherry picked from commit c910511cab)
2026-02-05 11:44:34 -08:00
Guillaume Gomez
d8ac42edd1 Make more doc attribute parsing error into future warnings
(cherry picked from commit 6d713489d0)
2026-02-05 11:38:02 -08:00
Guillaume Gomez
9126c7a0b7 Emit a future error warning for duplicate doc attribute
(cherry picked from commit 7dbbab63e2)
2026-02-05 11:36:45 -08:00
Trevor Gross
dcea3c7ea3 Revert "Enable outline-atomics by default on AArch64 Windows platforms"
This reverts commit 1ed1b6e267.

(cherry picked from commit 9fb68d60ef)
2026-02-05 11:36:35 -08:00
Trevor Gross
4afad17828 Revert "Enable outline-atomics by default on AArch64 Android"
This reverts commit c455903978.

(cherry picked from commit 1173034b7b)
2026-02-05 11:36:35 -08:00
Trevor Gross
b5e2de23c2 Revert "Enable outline-atomics by default on AArch64 Fuchsia"
This reverts commit 21525f862d.

(cherry picked from commit a9da102e20)
2026-02-05 11:36:35 -08:00
Trevor Gross
610c87797c Revert "Enable outline-atomics by default on AArch64 OpenBSD"
This reverts commit 66c150c1fa.

(cherry picked from commit 63e16520a2)
2026-02-05 11:36:35 -08:00
Trevor Gross
e9a79f3f76 Revert "Enable outline-atomics by default on AArch64 FreeBSD"
This reverts commit 383053e016.

(cherry picked from commit 54f88be3cd)
2026-02-05 11:36:35 -08:00
mu001999
c226970869 Parse ident with allowing recovery when trying to recover in diagnosing
(cherry picked from commit 3713512217)
2026-02-05 11:36:26 -08:00
Josh Stone
b90149755a Replace stdarch version placeholders with 1.94 2026-02-05 11:30:41 -08:00
bors
23a44d3c70 Auto merge of #151605 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
[beta] Switch to released 1.93 artifacts

Last part of 1.93 release.

https://forge.rust-lang.org/release/process.html#beta-stage0-update-friday

r? @Mark-Simulacrum
2026-01-25 06:38:02 +00:00
Mark Rousskov
8065524b58 Switch to released 1.93 artifacts 2026-01-24 13:47:14 -05:00
bors
9b1f8ff42d Auto merge of #151370 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum
[beta] prepare 1.94 beta

https://forge.rust-lang.org/release/process.html#beta-pr

r? @Mark-Simulacrum
2026-01-19 19:45:12 +00:00
Mark Rousskov
9118d50436 Set channel to beta 2026-01-19 09:27:26 -05:00
Mark Rousskov
5d1cb2526b Replace version placeholders with 1.94 2026-01-19 09:26:42 -05:00
134 changed files with 2667 additions and 3047 deletions

View file

@ -70,6 +70,42 @@ fn check_attr_crate_level<S: Stage>(cx: &mut AcceptContext<'_, '_, S>, span: Spa
true true
} }
// FIXME: To be removed once merged and replace with `cx.expected_name_value(span, _name)`.
fn expected_name_value<S: Stage>(
cx: &mut AcceptContext<'_, '_, S>,
span: Span,
_name: Option<Symbol>,
) {
cx.emit_lint(
rustc_session::lint::builtin::INVALID_DOC_ATTRIBUTES,
AttributeLintKind::ExpectedNameValue,
span,
);
}
// FIXME: remove this method once merged and use `cx.expected_no_args(span)` instead.
fn expected_no_args<S: Stage>(cx: &mut AcceptContext<'_, '_, S>, span: Span) {
cx.emit_lint(
rustc_session::lint::builtin::INVALID_DOC_ATTRIBUTES,
AttributeLintKind::ExpectedNoArgs,
span,
);
}
// FIXME: remove this method once merged and use `cx.expected_no_args(span)` instead.
// cx.expected_string_literal(span, _actual_literal);
fn expected_string_literal<S: Stage>(
cx: &mut AcceptContext<'_, '_, S>,
span: Span,
_actual_literal: Option<&MetaItemLit>,
) {
cx.emit_lint(
rustc_session::lint::builtin::INVALID_DOC_ATTRIBUTES,
AttributeLintKind::MalformedDoc,
span,
);
}
fn parse_keyword_and_attribute<S: Stage>( fn parse_keyword_and_attribute<S: Stage>(
cx: &mut AcceptContext<'_, '_, S>, cx: &mut AcceptContext<'_, '_, S>,
path: &OwnedPathParser, path: &OwnedPathParser,
@ -78,12 +114,12 @@ fn parse_keyword_and_attribute<S: Stage>(
attr_name: Symbol, attr_name: Symbol,
) { ) {
let Some(nv) = args.name_value() else { let Some(nv) = args.name_value() else {
cx.expected_name_value(args.span().unwrap_or(path.span()), path.word_sym()); expected_name_value(cx, args.span().unwrap_or(path.span()), path.word_sym());
return; return;
}; };
let Some(value) = nv.value_as_str() else { let Some(value) = nv.value_as_str() else {
cx.expected_string_literal(nv.value_span, Some(nv.value_as_lit())); expected_string_literal(cx, nv.value_span, Some(nv.value_as_lit()));
return; return;
}; };
@ -127,12 +163,21 @@ impl DocParser {
match path.word_sym() { match path.word_sym() {
Some(sym::no_crate_inject) => { Some(sym::no_crate_inject) => {
if let Err(span) = args.no_args() { if let Err(span) = args.no_args() {
cx.expected_no_args(span); expected_no_args(cx, span);
return; return;
} }
if self.attribute.no_crate_inject.is_some() { if let Some(used_span) = self.attribute.no_crate_inject {
cx.duplicate_key(path.span(), sym::no_crate_inject); let unused_span = path.span();
cx.emit_lint(
rustc_session::lint::builtin::INVALID_DOC_ATTRIBUTES,
AttributeLintKind::UnusedDuplicate {
this: unused_span,
other: used_span,
warning: true,
},
unused_span,
);
return; return;
} }
@ -144,7 +189,14 @@ impl DocParser {
} }
Some(sym::attr) => { Some(sym::attr) => {
let Some(list) = args.list() else { let Some(list) = args.list() else {
cx.expected_list(cx.attr_span, args); // FIXME: remove this method once merged and uncomment the line below instead.
// cx.expected_list(cx.attr_span, args);
let span = cx.attr_span;
cx.emit_lint(
rustc_session::lint::builtin::INVALID_DOC_ATTRIBUTES,
AttributeLintKind::MalformedDoc,
span,
);
return; return;
}; };
@ -246,7 +298,7 @@ impl DocParser {
inline: DocInline, inline: DocInline,
) { ) {
if let Err(span) = args.no_args() { if let Err(span) = args.no_args() {
cx.expected_no_args(span); expected_no_args(cx, span);
return; return;
} }
@ -328,7 +380,14 @@ impl DocParser {
match sub_item.args() { match sub_item.args() {
a @ (ArgParser::NoArgs | ArgParser::NameValue(_)) => { a @ (ArgParser::NoArgs | ArgParser::NameValue(_)) => {
let Some(name) = sub_item.path().word_sym() else { let Some(name) = sub_item.path().word_sym() else {
cx.expected_identifier(sub_item.path().span()); // FIXME: remove this method once merged and uncomment the line
// below instead.
// cx.expected_identifier(sub_item.path().span());
cx.emit_lint(
rustc_session::lint::builtin::INVALID_DOC_ATTRIBUTES,
AttributeLintKind::MalformedDoc,
sub_item.path().span(),
);
continue; continue;
}; };
if let Ok(CfgEntry::NameValue { name, value, .. }) = if let Ok(CfgEntry::NameValue { name, value, .. }) =
@ -391,7 +450,7 @@ impl DocParser {
macro_rules! no_args { macro_rules! no_args {
($ident: ident) => {{ ($ident: ident) => {{
if let Err(span) = args.no_args() { if let Err(span) = args.no_args() {
cx.expected_no_args(span); expected_no_args(cx, span);
return; return;
} }
@ -410,7 +469,7 @@ impl DocParser {
macro_rules! no_args_and_not_crate_level { macro_rules! no_args_and_not_crate_level {
($ident: ident) => {{ ($ident: ident) => {{
if let Err(span) = args.no_args() { if let Err(span) = args.no_args() {
cx.expected_no_args(span); expected_no_args(cx, span);
return; return;
} }
let span = path.span(); let span = path.span();
@ -423,7 +482,7 @@ impl DocParser {
macro_rules! no_args_and_crate_level { macro_rules! no_args_and_crate_level {
($ident: ident) => {{ ($ident: ident) => {{
if let Err(span) = args.no_args() { if let Err(span) = args.no_args() {
cx.expected_no_args(span); expected_no_args(cx, span);
return; return;
} }
let span = path.span(); let span = path.span();
@ -436,12 +495,12 @@ impl DocParser {
macro_rules! string_arg_and_crate_level { macro_rules! string_arg_and_crate_level {
($ident: ident) => {{ ($ident: ident) => {{
let Some(nv) = args.name_value() else { let Some(nv) = args.name_value() else {
cx.expected_name_value(args.span().unwrap_or(path.span()), path.word_sym()); expected_name_value(cx, args.span().unwrap_or(path.span()), path.word_sym());
return; return;
}; };
let Some(s) = nv.value_as_str() else { let Some(s) = nv.value_as_str() else {
cx.expected_string_literal(nv.value_span, Some(nv.value_as_lit())); expected_string_literal(cx, nv.value_span, Some(nv.value_as_lit()));
return; return;
}; };
@ -512,7 +571,14 @@ impl DocParser {
self.parse_single_test_doc_attr_item(cx, mip); self.parse_single_test_doc_attr_item(cx, mip);
} }
MetaItemOrLitParser::Lit(lit) => { MetaItemOrLitParser::Lit(lit) => {
cx.unexpected_literal(lit.span); // FIXME: remove this method once merged and uncomment the line
// below instead.
// cx.unexpected_literal(lit.span);
cx.emit_lint(
rustc_session::lint::builtin::INVALID_DOC_ATTRIBUTES,
AttributeLintKind::MalformedDoc,
lit.span,
);
} }
} }
} }
@ -582,7 +648,7 @@ impl DocParser {
let suggestions = cx.suggestions(); let suggestions = cx.suggestions();
let span = cx.attr_span; let span = cx.attr_span;
cx.emit_lint( cx.emit_lint(
rustc_session::lint::builtin::ILL_FORMED_ATTRIBUTE_INPUT, rustc_session::lint::builtin::INVALID_DOC_ATTRIBUTES,
AttributeLintKind::IllFormedAttributeInput { suggestions, docs: None }, AttributeLintKind::IllFormedAttributeInput { suggestions, docs: None },
span, span,
); );
@ -595,14 +661,14 @@ impl DocParser {
self.parse_single_doc_attr_item(cx, mip); self.parse_single_doc_attr_item(cx, mip);
} }
MetaItemOrLitParser::Lit(lit) => { MetaItemOrLitParser::Lit(lit) => {
cx.expected_name_value(lit.span, None); expected_name_value(cx, lit.span, None);
} }
} }
} }
} }
ArgParser::NameValue(nv) => { ArgParser::NameValue(nv) => {
if nv.value_as_str().is_none() { if nv.value_as_str().is_none() {
cx.expected_string_literal(nv.value_span, Some(nv.value_as_lit())); expected_string_literal(cx, nv.value_span, Some(nv.value_as_lit()));
} else { } else {
unreachable!( unreachable!(
"Should have been handled at the same time as sugar-syntaxed doc comments" "Should have been handled at the same time as sugar-syntaxed doc comments"

View file

@ -1129,10 +1129,9 @@ fn get_backend_from_raw_matches(
let backend_name = debug_flags let backend_name = debug_flags
.iter() .iter()
.find_map(|x| x.strip_prefix("codegen-backend=").or(x.strip_prefix("codegen_backend="))); .find_map(|x| x.strip_prefix("codegen-backend=").or(x.strip_prefix("codegen_backend=")));
let unstable_options = debug_flags.iter().find(|x| *x == "unstable-options").is_some();
let target = parse_target_triple(early_dcx, matches); let target = parse_target_triple(early_dcx, matches);
let sysroot = Sysroot::new(matches.opt_str("sysroot").map(PathBuf::from)); let sysroot = Sysroot::new(matches.opt_str("sysroot").map(PathBuf::from));
let target = config::build_target_config(early_dcx, &target, sysroot.path(), unstable_options); let target = config::build_target_config(early_dcx, &target, sysroot.path());
get_codegen_backend(early_dcx, &sysroot, backend_name, &target) get_codegen_backend(early_dcx, &sysroot, backend_name, &target)
} }

View file

@ -61,7 +61,7 @@ declare_features! (
/// Allows a test to fail without failing the whole suite. /// Allows a test to fail without failing the whole suite.
(removed, allow_fail, "1.60.0", Some(46488), Some("removed due to no clear use cases"), 93416), (removed, allow_fail, "1.60.0", Some(46488), Some("removed due to no clear use cases"), 93416),
/// Allows users to enforce equality of associated constants `TraitImpl<AssocConst=3>`. /// Allows users to enforce equality of associated constants `TraitImpl<AssocConst=3>`.
(removed, associated_const_equality, "CURRENT_RUSTC_VERSION", Some(92827), (removed, associated_const_equality, "1.94.0", Some(92827),
Some("merged into `min_generic_const_args`")), Some("merged into `min_generic_const_args`")),
(removed, await_macro, "1.38.0", Some(50547), (removed, await_macro, "1.38.0", Some(50547),
Some("subsumed by `.await` syntax"), 62293), Some("subsumed by `.await` syntax"), 62293),
@ -275,7 +275,7 @@ declare_features! (
(removed, static_nobundle, "1.63.0", Some(37403), (removed, static_nobundle, "1.63.0", Some(37403),
Some(r#"subsumed by `#[link(kind = "static", modifiers = "-bundle", ...)]`"#), 95818), Some(r#"subsumed by `#[link(kind = "static", modifiers = "-bundle", ...)]`"#), 95818),
/// Allows string patterns to dereference values to match them. /// Allows string patterns to dereference values to match them.
(removed, string_deref_patterns, "CURRENT_RUSTC_VERSION", Some(87121), Some("superseded by `deref_patterns`"), 150530), (removed, string_deref_patterns, "1.94.0", Some(87121), Some("superseded by `deref_patterns`"), 150530),
(removed, struct_inherit, "1.0.0", None, None), (removed, struct_inherit, "1.0.0", None, None),
(removed, test_removed_feature, "1.0.0", None, None), (removed, test_removed_feature, "1.0.0", None, None),
/// Allows using items which are missing stability attributes /// Allows using items which are missing stability attributes

View file

@ -222,7 +222,7 @@ declare_features! (
/// Allows writing custom MIR /// Allows writing custom MIR
(internal, custom_mir, "1.65.0", None), (internal, custom_mir, "1.65.0", None),
/// Implementation details of externally implementable items /// Implementation details of externally implementable items
(internal, eii_internals, "CURRENT_RUSTC_VERSION", None), (internal, eii_internals, "1.94.0", None),
/// Outputs useful `assert!` messages /// Outputs useful `assert!` messages
(unstable, generic_assert, "1.63.0", None), (unstable, generic_assert, "1.63.0", None),
/// Allows using the #[rustc_intrinsic] attribute. /// Allows using the #[rustc_intrinsic] attribute.
@ -477,7 +477,7 @@ declare_features! (
/// Allows using `#[export_stable]` which indicates that an item is exportable. /// Allows using `#[export_stable]` which indicates that an item is exportable.
(incomplete, export_stable, "1.88.0", Some(139939)), (incomplete, export_stable, "1.88.0", Some(139939)),
/// Externally implementable items /// Externally implementable items
(unstable, extern_item_impls, "CURRENT_RUSTC_VERSION", Some(125418)), (unstable, extern_item_impls, "1.94.0", Some(125418)),
/// Allows defining `extern type`s. /// Allows defining `extern type`s.
(unstable, extern_types, "1.23.0", Some(43467)), (unstable, extern_types, "1.23.0", Some(43467)),
/// Allow using 128-bit (quad precision) floating point numbers. /// Allow using 128-bit (quad precision) floating point numbers.
@ -667,7 +667,7 @@ declare_features! (
/// Allows using `try {...}` expressions. /// Allows using `try {...}` expressions.
(unstable, try_blocks, "1.29.0", Some(31436)), (unstable, try_blocks, "1.29.0", Some(31436)),
/// Allows using `try bikeshed TargetType {...}` expressions. /// Allows using `try bikeshed TargetType {...}` expressions.
(unstable, try_blocks_heterogeneous, "CURRENT_RUSTC_VERSION", Some(149488)), (unstable, try_blocks_heterogeneous, "1.94.0", Some(149488)),
/// Allows `impl Trait` to be used inside type aliases (RFC 2515). /// Allows `impl Trait` to be used inside type aliases (RFC 2515).
(unstable, type_alias_impl_trait, "1.38.0", Some(63063)), (unstable, type_alias_impl_trait, "1.38.0", Some(63063)),
/// Allows creation of instances of a struct by moving fields that have /// Allows creation of instances of a struct by moving fields that have

View file

@ -435,7 +435,6 @@ pub fn run_compiler<R: Send>(config: Config, f: impl FnOnce(&Compiler) -> R + Se
&early_dcx, &early_dcx,
&config.opts.target_triple, &config.opts.target_triple,
config.opts.sysroot.path(), config.opts.sysroot.path(),
config.opts.unstable_opts.unstable_options,
); );
let file_loader = config.file_loader.unwrap_or_else(|| Box::new(RealFileLoader)); let file_loader = config.file_loader.unwrap_or_else(|| Box::new(RealFileLoader));
let path_mapping = config.opts.file_path_mapping(); let path_mapping = config.opts.file_path_mapping();

View file

@ -46,7 +46,6 @@ where
&early_dcx, &early_dcx,
&sessopts.target_triple, &sessopts.target_triple,
sessopts.sysroot.path(), sessopts.sysroot.path(),
sessopts.unstable_opts.unstable_options,
); );
let hash_kind = sessopts.unstable_opts.src_hash_algorithm(&target); let hash_kind = sessopts.unstable_opts.src_hash_algorithm(&target);
let checksum_hash_kind = sessopts.unstable_opts.checksum_hash_algorithm(); let checksum_hash_kind = sessopts.unstable_opts.checksum_hash_algorithm();

View file

@ -329,6 +329,14 @@ lint_expectation = this lint expectation is unfulfilled
.note = the `unfulfilled_lint_expectations` lint can't be expected and will always produce this message .note = the `unfulfilled_lint_expectations` lint can't be expected and will always produce this message
.rationale = {$rationale} .rationale = {$rationale}
lint_expected_name_value =
expected this to be of the form `... = "..."`
.warn = {-lint_previously_accepted}
lint_expected_no_args =
didn't expect any arguments here
.warn = {-lint_previously_accepted}
lint_for_loops_over_fallibles = lint_for_loops_over_fallibles =
for loop over {$article} `{$ref_prefix}{$ty}`. This is more readably written as an `if let` statement for loop over {$article} `{$ref_prefix}{$ty}`. This is more readably written as an `if let` statement
.suggestion = consider using `if let` to clear intent .suggestion = consider using `if let` to clear intent
@ -558,6 +566,10 @@ lint_macro_expr_fragment_specifier_2024_migration =
lint_malformed_attribute = malformed lint attribute input lint_malformed_attribute = malformed lint attribute input
lint_malformed_doc =
malformed `doc` attribute input
.warn = {-lint_previously_accepted}
lint_map_unit_fn = `Iterator::map` call that discard the iterator's values lint_map_unit_fn = `Iterator::map` call that discard the iterator's values
.note = `Iterator::map`, like many of the methods on `Iterator`, gets executed lazily, meaning that its effects won't be visible until it is iterated .note = `Iterator::map`, like many of the methods on `Iterator`, gets executed lazily, meaning that its effects won't be visible until it is iterated
.function_label = this function returns `()`, which is likely not what you wanted .function_label = this function returns `()`, which is likely not what you wanted

View file

@ -423,5 +423,11 @@ pub fn decorate_attribute_lint(
&AttributeLintKind::DoNotRecommendDoesNotExpectArgs => { &AttributeLintKind::DoNotRecommendDoesNotExpectArgs => {
lints::DoNotRecommendDoesNotExpectArgs.decorate_lint(diag) lints::DoNotRecommendDoesNotExpectArgs.decorate_lint(diag)
} }
&AttributeLintKind::MalformedDoc => lints::MalformedDoc.decorate_lint(diag),
&AttributeLintKind::ExpectedNoArgs => lints::ExpectedNoArgs.decorate_lint(diag),
&AttributeLintKind::ExpectedNameValue => lints::ExpectedNameValue.decorate_lint(diag),
} }
} }

View file

@ -3196,6 +3196,21 @@ pub(crate) struct UnusedDuplicate {
pub warning: bool, pub warning: bool,
} }
#[derive(LintDiagnostic)]
#[diag(lint_malformed_doc)]
#[warning]
pub(crate) struct MalformedDoc;
#[derive(LintDiagnostic)]
#[diag(lint_expected_no_args)]
#[warning]
pub(crate) struct ExpectedNoArgs;
#[derive(LintDiagnostic)]
#[diag(lint_expected_name_value)]
#[warning]
pub(crate) struct ExpectedNameValue;
#[derive(LintDiagnostic)] #[derive(LintDiagnostic)]
#[diag(lint_unsafe_attr_outside_unsafe)] #[diag(lint_unsafe_attr_outside_unsafe)]
pub(crate) struct UnsafeAttrOutsideUnsafeLint { pub(crate) struct UnsafeAttrOutsideUnsafeLint {

View file

@ -3456,7 +3456,7 @@ declare_lint! {
/// but this lint was introduced to avoid breaking any existing /// but this lint was introduced to avoid breaking any existing
/// crates which included them. /// crates which included them.
pub INVALID_DOC_ATTRIBUTES, pub INVALID_DOC_ATTRIBUTES,
Deny, Warn,
"detects invalid `#[doc(...)]` attributes", "detects invalid `#[doc(...)]` attributes",
} }

View file

@ -822,6 +822,9 @@ pub enum AttributeLintKind {
DocTestLiteral, DocTestLiteral,
AttrCrateLevelOnly, AttrCrateLevelOnly,
DoNotRecommendDoesNotExpectArgs, DoNotRecommendDoesNotExpectArgs,
MalformedDoc,
ExpectedNoArgs,
ExpectedNameValue,
} }
pub type RegisteredTools = FxIndexSet<Ident>; pub type RegisteredTools = FxIndexSet<Ident>;

View file

@ -986,7 +986,7 @@ impl<'a, 'tcx> AssignmentResult<'a, 'tcx> {
// warn twice, for the unused local and for the unused assignment. Therefore, we remove // warn twice, for the unused local and for the unused assignment. Therefore, we remove
// from the list of assignments the ones that happen at the definition site. // from the list of assignments the ones that happen at the definition site.
statements.retain(|source_info, _| { statements.retain(|source_info, _| {
source_info.span.find_ancestor_inside(binding.pat_span).is_none() !binding.introductions.iter().any(|intro| intro.span == source_info.span)
}); });
// Extra assignments that we recognize thanks to the initialization span. We need to // Extra assignments that we recognize thanks to the initialization span. We need to
@ -1238,9 +1238,12 @@ struct TransferFunction<'a, 'tcx> {
impl<'tcx> Visitor<'tcx> for TransferFunction<'_, 'tcx> { impl<'tcx> Visitor<'tcx> for TransferFunction<'_, 'tcx> {
fn visit_statement(&mut self, statement: &Statement<'tcx>, location: Location) { fn visit_statement(&mut self, statement: &Statement<'tcx>, location: Location) {
match statement.kind { match statement.kind {
// `ForLet(None)` fake read erroneously marks the just-assigned local as live. // `ForLet(None)` and `ForGuardBinding` fake reads erroneously mark the just-assigned
// This defeats the purpose of the analysis for `let` bindings. // locals as live. This defeats the purpose of the analysis for such bindings.
StatementKind::FakeRead(box (FakeReadCause::ForLet(None), _)) => return, StatementKind::FakeRead(box (
FakeReadCause::ForLet(None) | FakeReadCause::ForGuardBinding,
_,
)) => return,
// Handle self-assignment by restricting the read/write they do. // Handle self-assignment by restricting the read/write they do.
StatementKind::Assign(box (ref dest, ref rvalue)) StatementKind::Assign(box (ref dest, ref rvalue))
if self.self_assignment.contains(&location) => if self.self_assignment.contains(&location) =>

View file

@ -2264,7 +2264,7 @@ impl<'a> Parser<'a> {
&& self.look_ahead(1, |t| *t == token::Comma || *t == token::CloseParen) && self.look_ahead(1, |t| *t == token::Comma || *t == token::CloseParen)
{ {
// `fn foo(String s) {}` // `fn foo(String s) {}`
let ident = self.parse_ident().unwrap(); let ident = self.parse_ident_common(true).unwrap();
let span = pat.span.with_hi(ident.span.hi()); let span = pat.span.with_hi(ident.span.hi());
err.span_suggestion( err.span_suggestion(

View file

@ -1622,16 +1622,8 @@ impl<'a> Parser<'a> {
let first_expr = self.parse_expr()?; let first_expr = self.parse_expr()?;
if self.eat(exp!(Semi)) { if self.eat(exp!(Semi)) {
// Repeating array syntax: `[ 0; 512 ]` // Repeating array syntax: `[ 0; 512 ]`
let count = if self.eat_keyword(exp!(Const)) { let count =
// While we could just disambiguate `Direct` from `AnonConst` by self.parse_expr_anon_const(|this, expr| this.mgca_direct_lit_hack(expr))?;
// treating all const block exprs as `AnonConst`, that would
// complicate the DefCollector and likely all other visitors.
// So we strip the const blockiness and just store it as a block
// in the AST with the extra disambiguator on the AnonConst
self.parse_mgca_const_block(false)?
} else {
self.parse_expr_anon_const(|this, expr| this.mgca_direct_lit_hack(expr))?
};
self.expect(close)?; self.expect(close)?;
ExprKind::Repeat(first_expr, count) ExprKind::Repeat(first_expr, count)
} else if self.eat(exp!(Comma)) { } else if self.eat(exp!(Comma)) {

View file

@ -408,12 +408,11 @@ impl<'a> Parser<'a> {
let insert_span = ident_span.shrink_to_lo(); let insert_span = ident_span.shrink_to_lo();
let ident = if self.token.is_ident() let ident = if self.token.is_ident()
&& self.token.is_non_reserved_ident()
&& (!is_const || self.look_ahead(1, |t| *t == token::OpenParen)) && (!is_const || self.look_ahead(1, |t| *t == token::OpenParen))
&& self.look_ahead(1, |t| { && self.look_ahead(1, |t| {
matches!(t.kind, token::Lt | token::OpenBrace | token::OpenParen) matches!(t.kind, token::Lt | token::OpenBrace | token::OpenParen)
}) { }) {
self.parse_ident().unwrap() self.parse_ident_common(true).unwrap()
} else { } else {
return Ok(()); return Ok(());
}; };

View file

@ -469,7 +469,7 @@ impl<'a> Parser<'a> {
self.parse_ident_common(self.may_recover()) self.parse_ident_common(self.may_recover())
} }
fn parse_ident_common(&mut self, recover: bool) -> PResult<'a, Ident> { pub(crate) fn parse_ident_common(&mut self, recover: bool) -> PResult<'a, Ident> {
let (ident, is_raw) = self.ident_or_err(recover)?; let (ident, is_raw) = self.ident_or_err(recover)?;
if is_raw == IdentIsRaw::No && ident.is_reserved() { if is_raw == IdentIsRaw::No && ident.is_reserved() {

View file

@ -658,16 +658,8 @@ impl<'a> Parser<'a> {
}; };
let ty = if self.eat(exp!(Semi)) { let ty = if self.eat(exp!(Semi)) {
let mut length = if self.eat_keyword(exp!(Const)) { let mut length =
// While we could just disambiguate `Direct` from `AnonConst` by self.parse_expr_anon_const(|this, expr| this.mgca_direct_lit_hack(expr))?;
// treating all const block exprs as `AnonConst`, that would
// complicate the DefCollector and likely all other visitors.
// So we strip the const blockiness and just store it as a block
// in the AST with the extra disambiguator on the AnonConst
self.parse_mgca_const_block(false)?
} else {
self.parse_expr_anon_const(|this, expr| this.mgca_direct_lit_hack(expr))?
};
if let Err(e) = self.expect(exp!(CloseBracket)) { if let Err(e) = self.expect(exp!(CloseBracket)) {
// Try to recover from `X<Y, ...>` when `X::<Y, ...>` works // Try to recover from `X<Y, ...>` when `X::<Y, ...>` works

View file

@ -401,8 +401,9 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
} }
} else if !old_glob_decl.vis().is_at_least(glob_decl.vis(), self.tcx) { } else if !old_glob_decl.vis().is_at_least(glob_decl.vis(), self.tcx) {
// We are glob-importing the same item but with greater visibility. // We are glob-importing the same item but with greater visibility.
old_glob_decl.vis.set_unchecked(glob_decl.vis()); // FIXME: Update visibility in place, but without regressions
old_glob_decl // (#152004, #151124, #152347).
glob_decl
} else if glob_decl.is_ambiguity_recursive() && !old_glob_decl.is_ambiguity_recursive() { } else if glob_decl.is_ambiguity_recursive() && !old_glob_decl.is_ambiguity_recursive() {
// Overwriting a non-ambiguous glob import with an ambiguous glob import. // Overwriting a non-ambiguous glob import with an ambiguous glob import.
old_glob_decl.ambiguity.set_unchecked(Some(glob_decl)); old_glob_decl.ambiguity.set_unchecked(Some(glob_decl));

View file

@ -1589,9 +1589,8 @@ pub fn build_target_config(
early_dcx: &EarlyDiagCtxt, early_dcx: &EarlyDiagCtxt,
target: &TargetTuple, target: &TargetTuple,
sysroot: &Path, sysroot: &Path,
unstable_options: bool,
) -> Target { ) -> Target {
match Target::search(target, sysroot, unstable_options) { match Target::search(target, sysroot) {
Ok((target, warnings)) => { Ok((target, warnings)) => {
for warning in warnings.warning_messages() { for warning in warnings.warning_messages() {
early_dcx.early_warn(warning) early_dcx.early_warn(warning)

View file

@ -1002,11 +1002,8 @@ pub fn build_session(
} }
let host_triple = TargetTuple::from_tuple(config::host_tuple()); let host_triple = TargetTuple::from_tuple(config::host_tuple());
let (host, target_warnings) = let (host, target_warnings) = Target::search(&host_triple, sopts.sysroot.path())
Target::search(&host_triple, sopts.sysroot.path(), sopts.unstable_opts.unstable_options) .unwrap_or_else(|e| dcx.handle().fatal(format!("Error loading host specification: {e}")));
.unwrap_or_else(|e| {
dcx.handle().fatal(format!("Error loading host specification: {e}"))
});
for warning in target_warnings.warning_messages() { for warning in target_warnings.warning_messages() {
dcx.handle().warn(warning) dcx.handle().warn(warning)
} }

View file

@ -3296,19 +3296,10 @@ impl Target {
pub fn search( pub fn search(
target_tuple: &TargetTuple, target_tuple: &TargetTuple,
sysroot: &Path, sysroot: &Path,
unstable_options: bool,
) -> Result<(Target, TargetWarnings), String> { ) -> Result<(Target, TargetWarnings), String> {
use std::{env, fs}; use std::{env, fs};
fn load_file( fn load_file(path: &Path) -> Result<(Target, TargetWarnings), String> {
path: &Path,
unstable_options: bool,
) -> Result<(Target, TargetWarnings), String> {
if !unstable_options {
return Err(
"custom targets are unstable and require `-Zunstable-options`".to_string()
);
}
let contents = fs::read_to_string(path).map_err(|e| e.to_string())?; let contents = fs::read_to_string(path).map_err(|e| e.to_string())?;
Target::from_json(&contents) Target::from_json(&contents)
} }
@ -3332,7 +3323,7 @@ impl Target {
for dir in env::split_paths(&target_path) { for dir in env::split_paths(&target_path) {
let p = dir.join(&path); let p = dir.join(&path);
if p.is_file() { if p.is_file() {
return load_file(&p, unstable_options); return load_file(&p);
} }
} }
@ -3345,7 +3336,7 @@ impl Target {
Path::new("target.json"), Path::new("target.json"),
]); ]);
if p.is_file() { if p.is_file() {
return load_file(&p, unstable_options); return load_file(&p);
} }
Err(format!("could not find specification for target {target_tuple:?}")) Err(format!("could not find specification for target {target_tuple:?}"))

View file

@ -21,7 +21,7 @@ pub(crate) fn target() -> Target {
max_atomic_width: Some(128), max_atomic_width: Some(128),
// As documented in https://developer.android.com/ndk/guides/cpu-features.html // As documented in https://developer.android.com/ndk/guides/cpu-features.html
// the neon (ASIMD) and FP must exist on all android aarch64 targets. // the neon (ASIMD) and FP must exist on all android aarch64 targets.
features: "+v8a,+neon,+outline-atomics".into(), features: "+v8a,+neon".into(),
// the AAPCS64 expects use of non-leaf frame pointers per // the AAPCS64 expects use of non-leaf frame pointers per
// https://github.com/ARM-software/abi-aa/blob/4492d1570eb70c8fd146623e0db65b2d241f12e7/aapcs64/aapcs64.rst#the-frame-pointer // https://github.com/ARM-software/abi-aa/blob/4492d1570eb70c8fd146623e0db65b2d241f12e7/aapcs64/aapcs64.rst#the-frame-pointer
// and we tend to encounter interesting bugs in AArch64 unwinding code if we do not // and we tend to encounter interesting bugs in AArch64 unwinding code if we do not

View file

@ -3,7 +3,7 @@ use crate::spec::{Arch, Cc, FramePointer, LinkerFlavor, Lld, Target, TargetMetad
pub(crate) fn target() -> Target { pub(crate) fn target() -> Target {
let mut base = base::windows_gnullvm::opts(); let mut base = base::windows_gnullvm::opts();
base.max_atomic_width = Some(128); base.max_atomic_width = Some(128);
base.features = "+v8a,+neon,+outline-atomics".into(); base.features = "+v8a,+neon".into();
base.linker = Some("aarch64-w64-mingw32-clang".into()); base.linker = Some("aarch64-w64-mingw32-clang".into());
base.add_pre_link_args(LinkerFlavor::Gnu(Cc::No, Lld::No), &["-m", "arm64pe"]); base.add_pre_link_args(LinkerFlavor::Gnu(Cc::No, Lld::No), &["-m", "arm64pe"]);

View file

@ -3,7 +3,7 @@ use crate::spec::{Arch, FramePointer, Target, TargetMetadata, base};
pub(crate) fn target() -> Target { pub(crate) fn target() -> Target {
let mut base = base::windows_msvc::opts(); let mut base = base::windows_msvc::opts();
base.max_atomic_width = Some(128); base.max_atomic_width = Some(128);
base.features = "+v8a,+neon,+outline-atomics".into(); base.features = "+v8a,+neon".into();
// Microsoft recommends enabling frame pointers on Arm64 Windows. // Microsoft recommends enabling frame pointers on Arm64 Windows.
// From https://learn.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=msvc-170#integer-registers // From https://learn.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=msvc-170#integer-registers

View file

@ -15,7 +15,7 @@ pub(crate) fn target() -> Target {
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(), data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
arch: Arch::AArch64, arch: Arch::AArch64,
options: TargetOptions { options: TargetOptions {
features: "+v8a,+outline-atomics".into(), features: "+v8a".into(),
max_atomic_width: Some(128), max_atomic_width: Some(128),
stack_probes: StackProbeType::Inline, stack_probes: StackProbeType::Inline,
supported_sanitizers: SanitizerSet::ADDRESS supported_sanitizers: SanitizerSet::ADDRESS

View file

@ -5,7 +5,7 @@ use crate::spec::{
pub(crate) fn target() -> Target { pub(crate) fn target() -> Target {
let mut base = base::fuchsia::opts(); let mut base = base::fuchsia::opts();
base.cpu = "generic".into(); base.cpu = "generic".into();
base.features = "+v8a,+crc,+aes,+sha2,+neon,+outline-atomics".into(); base.features = "+v8a,+crc,+aes,+sha2,+neon".into();
base.max_atomic_width = Some(128); base.max_atomic_width = Some(128);
base.stack_probes = StackProbeType::Inline; base.stack_probes = StackProbeType::Inline;
base.supported_sanitizers = SanitizerSet::ADDRESS base.supported_sanitizers = SanitizerSet::ADDRESS

View file

@ -13,7 +13,7 @@ pub(crate) fn target() -> Target {
data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(), data_layout: "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32".into(),
arch: Arch::AArch64, arch: Arch::AArch64,
options: TargetOptions { options: TargetOptions {
features: "+v8a,+outline-atomics".into(), features: "+v8a".into(),
max_atomic_width: Some(128), max_atomic_width: Some(128),
stack_probes: StackProbeType::Inline, stack_probes: StackProbeType::Inline,
..base::openbsd::opts() ..base::openbsd::opts()

View file

@ -764,14 +764,20 @@ fn layout_of_uncached<'tcx>(
} }
ty::Alias(..) => { ty::Alias(..) => {
// NOTE(eddyb) `layout_of` query should've normalized these away, // In case we're still in a generic context, aliases might be rigid. E.g.
// if that was possible, so there's no reason to try again here. // if we've got a `T: Trait` where-bound, `T::Assoc` cannot be normalized
let err = if ty.has_param() { // in the current context.
//
// For some builtin traits, generic aliases can be rigid even in an empty environment,
// e.g. `<T as Pointee>::Metadata`.
//
// Due to trivial bounds, this can even be the case if the alias does not reference
// any generic parameters, e.g. a `for<'a> u32: Trait<'a>` where-bound means that
// `<u32 as Trait<'static>>::Assoc` is rigid.
let err = if ty.has_param() || !cx.typing_env.param_env.caller_bounds().is_empty() {
LayoutError::TooGeneric(ty) LayoutError::TooGeneric(ty)
} else { } else {
// This is only reachable with unsatisfiable predicates. For example, if we have unreachable!("invalid rigid alias in layout_of after normalization: {ty:?}");
// `u8: Iterator`, then we can't compute the layout of `<u8 as Iterator>::Item`.
LayoutError::Unknown(ty)
}; };
return Err(error(cx, err)); return Err(error(cx, err));
} }

View file

@ -18,7 +18,7 @@ use core::cmp::Ordering::{self, Less};
use core::mem::MaybeUninit; use core::mem::MaybeUninit;
#[cfg(not(no_global_oom_handling))] #[cfg(not(no_global_oom_handling))]
use core::ptr; use core::ptr;
#[stable(feature = "array_windows", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "array_windows", since = "1.94.0")]
pub use core::slice::ArrayWindows; pub use core::slice::ArrayWindows;
#[stable(feature = "inherent_ascii_escape", since = "1.60.0")] #[stable(feature = "inherent_ascii_escape", since = "1.60.0")]
pub use core::slice::EscapeAscii; pub use core::slice::EscapeAscii;

View file

@ -175,7 +175,7 @@ impl<T, F: FnOnce() -> T> LazyCell<T, F> {
/// assert_eq!(*lazy, 44); /// assert_eq!(*lazy, 44);
/// ``` /// ```
#[inline] #[inline]
#[stable(feature = "lazy_get", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "lazy_get", since = "1.94.0")]
pub fn force_mut(this: &mut LazyCell<T, F>) -> &mut T { pub fn force_mut(this: &mut LazyCell<T, F>) -> &mut T {
#[cold] #[cold]
/// # Safety /// # Safety
@ -273,7 +273,7 @@ impl<T, F> LazyCell<T, F> {
/// assert_eq!(*lazy, 44); /// assert_eq!(*lazy, 44);
/// ``` /// ```
#[inline] #[inline]
#[stable(feature = "lazy_get", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "lazy_get", since = "1.94.0")]
pub fn get_mut(this: &mut LazyCell<T, F>) -> Option<&mut T> { pub fn get_mut(this: &mut LazyCell<T, F>) -> Option<&mut T> {
let state = this.state.get_mut(); let state = this.state.get_mut();
match state { match state {
@ -297,7 +297,7 @@ impl<T, F> LazyCell<T, F> {
/// assert_eq!(LazyCell::get(&lazy), Some(&92)); /// assert_eq!(LazyCell::get(&lazy), Some(&92));
/// ``` /// ```
#[inline] #[inline]
#[stable(feature = "lazy_get", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "lazy_get", since = "1.94.0")]
pub fn get(this: &LazyCell<T, F>) -> Option<&T> { pub fn get(this: &LazyCell<T, F>) -> Option<&T> {
// SAFETY: // SAFETY:
// This is sound for the same reason as in `force`: once the state is // This is sound for the same reason as in `force`: once the state is

View file

@ -162,7 +162,7 @@ impl const TryFrom<char> for u16 {
/// ///
/// Generally speaking, this conversion can be seen as obtaining the character's corresponding /// Generally speaking, this conversion can be seen as obtaining the character's corresponding
/// UTF-32 code point to the extent representable by pointer addresses. /// UTF-32 code point to the extent representable by pointer addresses.
#[stable(feature = "usize_try_from_char", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "usize_try_from_char", since = "1.94.0")]
#[rustc_const_unstable(feature = "const_convert", issue = "143773")] #[rustc_const_unstable(feature = "const_convert", issue = "143773")]
impl const TryFrom<char> for usize { impl const TryFrom<char> for usize {
type Error = TryFromCharError; type Error = TryFromCharError;

View file

@ -406,7 +406,7 @@ impl<I: Iterator> Peekable<I> {
///# ], ///# ],
///# ) ///# )
/// ``` /// ```
#[stable(feature = "peekable_next_if_map", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "peekable_next_if_map", since = "1.94.0")]
pub fn next_if_map<R>(&mut self, f: impl FnOnce(I::Item) -> Result<R, I::Item>) -> Option<R> { pub fn next_if_map<R>(&mut self, f: impl FnOnce(I::Item) -> Result<R, I::Item>) -> Option<R> {
let unpeek = if let Some(item) = self.next() { let unpeek = if let Some(item) = self.next() {
match f(item) { match f(item) {
@ -443,7 +443,7 @@ impl<I: Iterator> Peekable<I> {
/// assert_eq!(line_num, 125); /// assert_eq!(line_num, 125);
/// assert_eq!(iter.collect::<String>(), " GOTO 10"); /// assert_eq!(iter.collect::<String>(), " GOTO 10");
/// ``` /// ```
#[stable(feature = "peekable_next_if_map", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "peekable_next_if_map", since = "1.94.0")]
pub fn next_if_map_mut<R>(&mut self, f: impl FnOnce(&mut I::Item) -> Option<R>) -> Option<R> { pub fn next_if_map_mut<R>(&mut self, f: impl FnOnce(&mut I::Item) -> Option<R>) -> Option<R> {
let unpeek = if let Some(mut item) = self.next() { let unpeek = if let Some(mut item) = self.next() {
match f(&mut item) { match f(&mut item) {

View file

@ -292,11 +292,11 @@ pub mod consts {
pub const TAU: f32 = 6.28318530717958647692528676655900577_f32; pub const TAU: f32 = 6.28318530717958647692528676655900577_f32;
/// The golden ratio (φ) /// The golden ratio (φ)
#[stable(feature = "euler_gamma_golden_ratio", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "euler_gamma_golden_ratio", since = "1.94.0")]
pub const GOLDEN_RATIO: f32 = 1.618033988749894848204586834365638118_f32; pub const GOLDEN_RATIO: f32 = 1.618033988749894848204586834365638118_f32;
/// The Euler-Mascheroni constant (γ) /// The Euler-Mascheroni constant (γ)
#[stable(feature = "euler_gamma_golden_ratio", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "euler_gamma_golden_ratio", since = "1.94.0")]
pub const EULER_GAMMA: f32 = 0.577215664901532860606512090082402431_f32; pub const EULER_GAMMA: f32 = 0.577215664901532860606512090082402431_f32;
/// π/2 /// π/2

View file

@ -292,11 +292,11 @@ pub mod consts {
pub const TAU: f64 = 6.28318530717958647692528676655900577_f64; pub const TAU: f64 = 6.28318530717958647692528676655900577_f64;
/// The golden ratio (φ) /// The golden ratio (φ)
#[stable(feature = "euler_gamma_golden_ratio", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "euler_gamma_golden_ratio", since = "1.94.0")]
pub const GOLDEN_RATIO: f64 = 1.618033988749894848204586834365638118_f64; pub const GOLDEN_RATIO: f64 = 1.618033988749894848204586834365638118_f64;
/// The Euler-Mascheroni constant (γ) /// The Euler-Mascheroni constant (γ)
#[stable(feature = "euler_gamma_golden_ratio", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "euler_gamma_golden_ratio", since = "1.94.0")]
pub const EULER_GAMMA: f64 = 0.577215664901532860606512090082402431_f64; pub const EULER_GAMMA: f64 = 0.577215664901532860606512090082402431_f64;
/// π/2 /// π/2

View file

@ -2175,8 +2175,8 @@ unsafe impl<T> Sync for ChunksExactMut<'_, T> where T: Sync {}
/// ///
/// [`array_windows`]: slice::array_windows /// [`array_windows`]: slice::array_windows
/// [slices]: slice /// [slices]: slice
#[derive(Debug, Clone, Copy)] #[derive(Debug)]
#[stable(feature = "array_windows", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "array_windows", since = "1.94.0")]
#[must_use = "iterators are lazy and do nothing unless consumed"] #[must_use = "iterators are lazy and do nothing unless consumed"]
pub struct ArrayWindows<'a, T: 'a, const N: usize> { pub struct ArrayWindows<'a, T: 'a, const N: usize> {
v: &'a [T], v: &'a [T],
@ -2189,7 +2189,15 @@ impl<'a, T: 'a, const N: usize> ArrayWindows<'a, T, N> {
} }
} }
#[stable(feature = "array_windows", since = "CURRENT_RUSTC_VERSION")] // FIXME(#26925) Remove in favor of `#[derive(Clone)]`
#[stable(feature = "array_windows", since = "1.94.0")]
impl<T, const N: usize> Clone for ArrayWindows<'_, T, N> {
fn clone(&self) -> Self {
Self { v: self.v }
}
}
#[stable(feature = "array_windows", since = "1.94.0")]
impl<'a, T, const N: usize> Iterator for ArrayWindows<'a, T, N> { impl<'a, T, const N: usize> Iterator for ArrayWindows<'a, T, N> {
type Item = &'a [T; N]; type Item = &'a [T; N];
@ -2224,9 +2232,17 @@ impl<'a, T, const N: usize> Iterator for ArrayWindows<'a, T, N> {
fn last(self) -> Option<Self::Item> { fn last(self) -> Option<Self::Item> {
self.v.last_chunk() self.v.last_chunk()
} }
unsafe fn __iterator_get_unchecked(&mut self, idx: usize) -> Self::Item {
// SAFETY: since the caller guarantees that `idx` is in bounds,
// which means that `idx` cannot overflow an `isize`, and the
// "slice" created by `cast_array` is a subslice of `self.v`
// thus is guaranteed to be valid for the lifetime `'a` of `self.v`.
unsafe { &*self.v.as_ptr().add(idx).cast_array() }
}
} }
#[stable(feature = "array_windows", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "array_windows", since = "1.94.0")]
impl<'a, T, const N: usize> DoubleEndedIterator for ArrayWindows<'a, T, N> { impl<'a, T, const N: usize> DoubleEndedIterator for ArrayWindows<'a, T, N> {
#[inline] #[inline]
fn next_back(&mut self) -> Option<&'a [T; N]> { fn next_back(&mut self) -> Option<&'a [T; N]> {
@ -2245,13 +2261,29 @@ impl<'a, T, const N: usize> DoubleEndedIterator for ArrayWindows<'a, T, N> {
} }
} }
#[stable(feature = "array_windows", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "array_windows", since = "1.94.0")]
impl<T, const N: usize> ExactSizeIterator for ArrayWindows<'_, T, N> { impl<T, const N: usize> ExactSizeIterator for ArrayWindows<'_, T, N> {
fn is_empty(&self) -> bool { fn is_empty(&self) -> bool {
self.v.len() < N self.v.len() < N
} }
} }
#[unstable(feature = "trusted_len", issue = "37572")]
unsafe impl<T, const N: usize> TrustedLen for ArrayWindows<'_, T, N> {}
#[stable(feature = "array_windows", since = "1.94.0")]
impl<T, const N: usize> FusedIterator for ArrayWindows<'_, T, N> {}
#[doc(hidden)]
#[unstable(feature = "trusted_random_access", issue = "none")]
unsafe impl<T, const N: usize> TrustedRandomAccess for ArrayWindows<'_, T, N> {}
#[doc(hidden)]
#[unstable(feature = "trusted_random_access", issue = "none")]
unsafe impl<T, const N: usize> TrustedRandomAccessNoCoerce for ArrayWindows<'_, T, N> {
const MAY_HAVE_SIDE_EFFECT: bool = false;
}
/// An iterator over a slice in (non-overlapping) chunks (`chunk_size` elements at a /// An iterator over a slice in (non-overlapping) chunks (`chunk_size` elements at a
/// time), starting at the end of the slice. /// time), starting at the end of the slice.
/// ///

View file

@ -52,7 +52,7 @@ pub use ascii::is_ascii_simple;
pub use index::SliceIndex; pub use index::SliceIndex;
#[unstable(feature = "slice_range", issue = "76393")] #[unstable(feature = "slice_range", issue = "76393")]
pub use index::{range, try_range}; pub use index::{range, try_range};
#[stable(feature = "array_windows", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "array_windows", since = "1.94.0")]
pub use iter::ArrayWindows; pub use iter::ArrayWindows;
#[stable(feature = "slice_group_by", since = "1.77.0")] #[stable(feature = "slice_group_by", since = "1.77.0")]
pub use iter::{ChunkBy, ChunkByMut}; pub use iter::{ChunkBy, ChunkByMut};
@ -1639,7 +1639,7 @@ impl<T> [T] {
/// ``` /// ```
/// ///
/// [`windows`]: slice::windows /// [`windows`]: slice::windows
#[stable(feature = "array_windows", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "array_windows", since = "1.94.0")]
#[rustc_const_unstable(feature = "const_slice_make_iter", issue = "137737")] #[rustc_const_unstable(feature = "const_slice_make_iter", issue = "137737")]
#[inline] #[inline]
#[track_caller] #[track_caller]
@ -5045,7 +5045,7 @@ impl<T> [T] {
/// assert_eq!(arr.element_offset(weird_elm), None); // Points between element 0 and 1 /// assert_eq!(arr.element_offset(weird_elm), None); // Points between element 0 and 1
/// ``` /// ```
#[must_use] #[must_use]
#[stable(feature = "element_offset", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "element_offset", since = "1.94.0")]
pub fn element_offset(&self, element: &T) -> Option<usize> { pub fn element_offset(&self, element: &T) -> Option<usize> {
if T::IS_ZST { if T::IS_ZST {
panic!("elements are zero-sized"); panic!("elements are zero-sized");

View file

@ -217,7 +217,7 @@ impl f32 {
#[must_use = "method returns a new number and does not mutate the original value"] #[must_use = "method returns a new number and does not mutate the original value"]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
#[inline] #[inline]
#[rustc_const_stable(feature = "const_mul_add", since = "CURRENT_RUSTC_VERSION")] #[rustc_const_stable(feature = "const_mul_add", since = "1.94.0")]
pub const fn mul_add(self, a: f32, b: f32) -> f32 { pub const fn mul_add(self, a: f32, b: f32) -> f32 {
core::f32::math::mul_add(self, a, b) core::f32::math::mul_add(self, a, b)
} }

View file

@ -217,7 +217,7 @@ impl f64 {
#[must_use = "method returns a new number and does not mutate the original value"] #[must_use = "method returns a new number and does not mutate the original value"]
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
#[inline] #[inline]
#[rustc_const_stable(feature = "const_mul_add", since = "CURRENT_RUSTC_VERSION")] #[rustc_const_stable(feature = "const_mul_add", since = "1.94.0")]
pub const fn mul_add(self, a: f64, b: f64) -> f64 { pub const fn mul_add(self, a: f64, b: f64) -> f64 {
core::f64::math::mul_add(self, a, b) core::f64::math::mul_add(self, a, b)
} }

View file

@ -182,7 +182,7 @@ impl<T, F: FnOnce() -> T> LazyLock<T, F> {
/// assert_eq!(*lazy, 44); /// assert_eq!(*lazy, 44);
/// ``` /// ```
#[inline] #[inline]
#[stable(feature = "lazy_get", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "lazy_get", since = "1.94.0")]
pub fn force_mut(this: &mut LazyLock<T, F>) -> &mut T { pub fn force_mut(this: &mut LazyLock<T, F>) -> &mut T {
#[cold] #[cold]
/// # Safety /// # Safety
@ -288,7 +288,7 @@ impl<T, F> LazyLock<T, F> {
/// assert_eq!(*lazy, 44); /// assert_eq!(*lazy, 44);
/// ``` /// ```
#[inline] #[inline]
#[stable(feature = "lazy_get", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "lazy_get", since = "1.94.0")]
pub fn get_mut(this: &mut LazyLock<T, F>) -> Option<&mut T> { pub fn get_mut(this: &mut LazyLock<T, F>) -> Option<&mut T> {
// `state()` does not perform an atomic load, so prefer it over `is_complete()`. // `state()` does not perform an atomic load, so prefer it over `is_complete()`.
let state = this.once.state(); let state = this.once.state();
@ -315,7 +315,7 @@ impl<T, F> LazyLock<T, F> {
/// assert_eq!(LazyLock::get(&lazy), Some(&92)); /// assert_eq!(LazyLock::get(&lazy), Some(&92));
/// ``` /// ```
#[inline] #[inline]
#[stable(feature = "lazy_get", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "lazy_get", since = "1.94.0")]
#[rustc_should_not_be_called_on_const_items] #[rustc_should_not_be_called_on_const_items]
pub fn get(this: &LazyLock<T, F>) -> Option<&T> { pub fn get(this: &LazyLock<T, F>) -> Option<&T> {
if this.once.is_completed() { if this.once.is_completed() {

View file

@ -196,26 +196,26 @@ features! {
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] unaligned_vector_mem: "unaligned-vector-mem"; @FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] unaligned_vector_mem: "unaligned-vector-mem";
/// Has reasonably performant unaligned vector /// Has reasonably performant unaligned vector
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zicsr: "zicsr"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zicsr: "zicsr";
/// "Zicsr" Extension for Control and Status Register (CSR) Instructions /// "Zicsr" Extension for Control and Status Register (CSR) Instructions
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zicntr: "zicntr"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zicntr: "zicntr";
/// "Zicntr" Extension for Base Counters and Timers /// "Zicntr" Extension for Base Counters and Timers
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zihpm: "zihpm"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zihpm: "zihpm";
/// "Zihpm" Extension for Hardware Performance Counters /// "Zihpm" Extension for Hardware Performance Counters
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zifencei: "zifencei"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zifencei: "zifencei";
/// "Zifencei" Extension for Instruction-Fetch Fence /// "Zifencei" Extension for Instruction-Fetch Fence
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zihintntl: "zihintntl"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zihintntl: "zihintntl";
/// "Zihintntl" Extension for Non-Temporal Locality Hints /// "Zihintntl" Extension for Non-Temporal Locality Hints
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zihintpause: "zihintpause"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zihintpause: "zihintpause";
/// "Zihintpause" Extension for Pause Hint /// "Zihintpause" Extension for Pause Hint
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zimop: "zimop"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zimop: "zimop";
/// "Zimop" Extension for May-Be-Operations /// "Zimop" Extension for May-Be-Operations
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zicbom: "zicbom"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zicbom: "zicbom";
/// "Zicbom" Extension for Cache-Block Management Instructions /// "Zicbom" Extension for Cache-Block Management Instructions
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zicboz: "zicboz"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zicboz: "zicboz";
/// "Zicboz" Extension for Cache-Block Zero Instruction /// "Zicboz" Extension for Cache-Block Zero Instruction
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zicond: "zicond"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zicond: "zicond";
/// "Zicond" Extension for Integer Conditional Operations /// "Zicond" Extension for Integer Conditional Operations
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] m: "m"; @FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] m: "m";
@ -223,20 +223,20 @@ features! {
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] a: "a"; @FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] a: "a";
/// "A" Extension for Atomic Instructions /// "A" Extension for Atomic Instructions
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zalrsc: "zalrsc"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zalrsc: "zalrsc";
/// "Zalrsc" Extension for Load-Reserved/Store-Conditional Instructions /// "Zalrsc" Extension for Load-Reserved/Store-Conditional Instructions
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zaamo: "zaamo"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zaamo: "zaamo";
/// "Zaamo" Extension for Atomic Memory Operations /// "Zaamo" Extension for Atomic Memory Operations
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zawrs: "zawrs"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zawrs: "zawrs";
/// "Zawrs" Extension for Wait-on-Reservation-Set Instructions /// "Zawrs" Extension for Wait-on-Reservation-Set Instructions
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zabha: "zabha"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zabha: "zabha";
/// "Zabha" Extension for Byte and Halfword Atomic Memory Operations /// "Zabha" Extension for Byte and Halfword Atomic Memory Operations
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zacas: "zacas"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zacas: "zacas";
/// "Zacas" Extension for Atomic Compare-and-Swap (CAS) Instructions /// "Zacas" Extension for Atomic Compare-and-Swap (CAS) Instructions
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zam: "zam"; @FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zam: "zam";
without cfg check: true; without cfg check: true;
/// "Zam" Extension for Misaligned Atomics /// "Zam" Extension for Misaligned Atomics
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] ztso: "ztso"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] ztso: "ztso";
/// "Ztso" Extension for Total Store Ordering /// "Ztso" Extension for Total Store Ordering
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] f: "f"; @FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] f: "f";
@ -266,7 +266,7 @@ features! {
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] c: "c"; @FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] c: "c";
/// "C" Extension for Compressed Instructions /// "C" Extension for Compressed Instructions
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zca: "zca"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zca: "zca";
/// "Zca" Compressed Instructions excluding Floating-Point Loads/Stores /// "Zca" Compressed Instructions excluding Floating-Point Loads/Stores
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zcf: "zcf"; @FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zcf: "zcf";
without cfg check: true; without cfg check: true;
@ -274,12 +274,12 @@ features! {
@FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zcd: "zcd"; @FEATURE: #[unstable(feature = "stdarch_riscv_feature_detection", issue = "111192")] zcd: "zcd";
without cfg check: true; without cfg check: true;
/// "Zcd" Compressed Instructions for Double-Precision Floating-Point Loads/Stores /// "Zcd" Compressed Instructions for Double-Precision Floating-Point Loads/Stores
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zcb: "zcb"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zcb: "zcb";
/// "Zcb" Simple Code-size Saving Compressed Instructions /// "Zcb" Simple Code-size Saving Compressed Instructions
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] zcmop: "zcmop"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] zcmop: "zcmop";
/// "Zcmop" Extension for Compressed May-Be-Operations /// "Zcmop" Extension for Compressed May-Be-Operations
@FEATURE: #[stable(feature = "riscv_ratified_v2", since = "CURRENT_RUSTC_VERSION")] b: "b"; @FEATURE: #[stable(feature = "riscv_ratified_v2", since = "1.94.0")] b: "b";
/// "B" Extension for Bit Manipulation /// "B" Extension for Bit Manipulation
@FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zba: "zba"; @FEATURE: #[stable(feature = "riscv_ratified", since = "1.78.0")] zba: "zba";
/// "Zba" Extension for Address Generation /// "Zba" Extension for Address Generation

View file

@ -1501,7 +1501,7 @@ pub fn vceqh_f16(a: f16, b: f16) -> u16 {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcmeq))] #[cfg_attr(test, assert_instr(fcmeq))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vceqz_f16(a: float16x4_t) -> uint16x4_t { pub fn vceqz_f16(a: float16x4_t) -> uint16x4_t {
let b: f16x4 = f16x4::new(0.0, 0.0, 0.0, 0.0); let b: f16x4 = f16x4::new(0.0, 0.0, 0.0, 0.0);
@ -1512,7 +1512,7 @@ pub fn vceqz_f16(a: float16x4_t) -> uint16x4_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcmeq))] #[cfg_attr(test, assert_instr(fcmeq))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vceqzq_f16(a: float16x8_t) -> uint16x8_t { pub fn vceqzq_f16(a: float16x8_t) -> uint16x8_t {
let b: f16x8 = f16x8::new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); let b: f16x8 = f16x8::new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
@ -7219,7 +7219,7 @@ pub fn vcvtq_f64_u64(a: uint64x2_t) -> float64x2_t {
#[inline] #[inline]
#[target_feature(enable = "neon")] #[target_feature(enable = "neon")]
#[cfg_attr(test, assert_instr(fcvtn2))] #[cfg_attr(test, assert_instr(fcvtn2))]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvt_high_f16_f32(a: float16x4_t, b: float32x4_t) -> float16x8_t { pub fn vcvt_high_f16_f32(a: float16x4_t, b: float32x4_t) -> float16x8_t {
vcombine_f16(a, vcvt_f16_f32(b)) vcombine_f16(a, vcvt_f16_f32(b))
@ -7229,7 +7229,7 @@ pub fn vcvt_high_f16_f32(a: float16x4_t, b: float32x4_t) -> float16x8_t {
#[inline] #[inline]
#[target_feature(enable = "neon")] #[target_feature(enable = "neon")]
#[cfg_attr(test, assert_instr(fcvtl2))] #[cfg_attr(test, assert_instr(fcvtl2))]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvt_high_f32_f16(a: float16x8_t) -> float32x4_t { pub fn vcvt_high_f32_f16(a: float16x8_t) -> float32x4_t {
vcvt_f32_f16(vget_high_f16(a)) vcvt_f32_f16(vget_high_f16(a))
@ -7468,7 +7468,7 @@ pub fn vcvtq_u64_f64(a: float64x2_t) -> uint64x2_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtas))] #[cfg_attr(test, assert_instr(fcvtas))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvta_s16_f16(a: float16x4_t) -> int16x4_t { pub fn vcvta_s16_f16(a: float16x4_t) -> int16x4_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -7485,7 +7485,7 @@ pub fn vcvta_s16_f16(a: float16x4_t) -> int16x4_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtas))] #[cfg_attr(test, assert_instr(fcvtas))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtaq_s16_f16(a: float16x8_t) -> int16x8_t { pub fn vcvtaq_s16_f16(a: float16x8_t) -> int16x8_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -7566,7 +7566,7 @@ pub fn vcvtaq_s64_f64(a: float64x2_t) -> int64x2_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtau))] #[cfg_attr(test, assert_instr(fcvtau))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvta_u16_f16(a: float16x4_t) -> uint16x4_t { pub fn vcvta_u16_f16(a: float16x4_t) -> uint16x4_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -7583,7 +7583,7 @@ pub fn vcvta_u16_f16(a: float16x4_t) -> uint16x4_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtau))] #[cfg_attr(test, assert_instr(fcvtau))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtaq_u16_f16(a: float16x8_t) -> uint16x8_t { pub fn vcvtaq_u16_f16(a: float16x8_t) -> uint16x8_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -8154,7 +8154,7 @@ pub fn vcvth_u64_f16(a: f16) -> u64 {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtms))] #[cfg_attr(test, assert_instr(fcvtms))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtm_s16_f16(a: float16x4_t) -> int16x4_t { pub fn vcvtm_s16_f16(a: float16x4_t) -> int16x4_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -8171,7 +8171,7 @@ pub fn vcvtm_s16_f16(a: float16x4_t) -> int16x4_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtms))] #[cfg_attr(test, assert_instr(fcvtms))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtmq_s16_f16(a: float16x8_t) -> int16x8_t { pub fn vcvtmq_s16_f16(a: float16x8_t) -> int16x8_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -8252,7 +8252,7 @@ pub fn vcvtmq_s64_f64(a: float64x2_t) -> int64x2_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtmu))] #[cfg_attr(test, assert_instr(fcvtmu))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtm_u16_f16(a: float16x4_t) -> uint16x4_t { pub fn vcvtm_u16_f16(a: float16x4_t) -> uint16x4_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -8269,7 +8269,7 @@ pub fn vcvtm_u16_f16(a: float16x4_t) -> uint16x4_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtmu))] #[cfg_attr(test, assert_instr(fcvtmu))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtmq_u16_f16(a: float16x8_t) -> uint16x8_t { pub fn vcvtmq_u16_f16(a: float16x8_t) -> uint16x8_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -8502,7 +8502,7 @@ pub fn vcvtmd_u64_f64(a: f64) -> u64 {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtns))] #[cfg_attr(test, assert_instr(fcvtns))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtn_s16_f16(a: float16x4_t) -> int16x4_t { pub fn vcvtn_s16_f16(a: float16x4_t) -> int16x4_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -8519,7 +8519,7 @@ pub fn vcvtn_s16_f16(a: float16x4_t) -> int16x4_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtns))] #[cfg_attr(test, assert_instr(fcvtns))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtnq_s16_f16(a: float16x8_t) -> int16x8_t { pub fn vcvtnq_s16_f16(a: float16x8_t) -> int16x8_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -8600,7 +8600,7 @@ pub fn vcvtnq_s64_f64(a: float64x2_t) -> int64x2_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtnu))] #[cfg_attr(test, assert_instr(fcvtnu))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtn_u16_f16(a: float16x4_t) -> uint16x4_t { pub fn vcvtn_u16_f16(a: float16x4_t) -> uint16x4_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -8617,7 +8617,7 @@ pub fn vcvtn_u16_f16(a: float16x4_t) -> uint16x4_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtnu))] #[cfg_attr(test, assert_instr(fcvtnu))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtnq_u16_f16(a: float16x8_t) -> uint16x8_t { pub fn vcvtnq_u16_f16(a: float16x8_t) -> uint16x8_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -8850,7 +8850,7 @@ pub fn vcvtnd_u64_f64(a: f64) -> u64 {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtps))] #[cfg_attr(test, assert_instr(fcvtps))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtp_s16_f16(a: float16x4_t) -> int16x4_t { pub fn vcvtp_s16_f16(a: float16x4_t) -> int16x4_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -8867,7 +8867,7 @@ pub fn vcvtp_s16_f16(a: float16x4_t) -> int16x4_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtps))] #[cfg_attr(test, assert_instr(fcvtps))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtpq_s16_f16(a: float16x8_t) -> int16x8_t { pub fn vcvtpq_s16_f16(a: float16x8_t) -> int16x8_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -8948,7 +8948,7 @@ pub fn vcvtpq_s64_f64(a: float64x2_t) -> int64x2_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtpu))] #[cfg_attr(test, assert_instr(fcvtpu))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtp_u16_f16(a: float16x4_t) -> uint16x4_t { pub fn vcvtp_u16_f16(a: float16x4_t) -> uint16x4_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -8965,7 +8965,7 @@ pub fn vcvtp_u16_f16(a: float16x4_t) -> uint16x4_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fcvtpu))] #[cfg_attr(test, assert_instr(fcvtpu))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vcvtpq_u16_f16(a: float16x8_t) -> uint16x8_t { pub fn vcvtpq_u16_f16(a: float16x8_t) -> uint16x8_t {
unsafe extern "unadjusted" { unsafe extern "unadjusted" {
@ -9429,7 +9429,7 @@ pub fn vcvtxd_f32_f64(a: f64) -> f32 {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vdiv_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vdiv_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fdiv))] #[cfg_attr(test, assert_instr(fdiv))]
pub fn vdiv_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t { pub fn vdiv_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
@ -9439,7 +9439,7 @@ pub fn vdiv_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vdivq_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vdivq_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fdiv))] #[cfg_attr(test, assert_instr(fdiv))]
pub fn vdivq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vdivq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
@ -10106,7 +10106,7 @@ pub fn vfma_f64(a: float64x1_t, b: float64x1_t, c: float64x1_t) -> float64x1_t {
#[cfg_attr(test, assert_instr(fmla, LANE = 0))] #[cfg_attr(test, assert_instr(fmla, LANE = 0))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfma_lane_f16<const LANE: i32>( pub fn vfma_lane_f16<const LANE: i32>(
a: float16x4_t, a: float16x4_t,
@ -10122,7 +10122,7 @@ pub fn vfma_lane_f16<const LANE: i32>(
#[cfg_attr(test, assert_instr(fmla, LANE = 0))] #[cfg_attr(test, assert_instr(fmla, LANE = 0))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfma_laneq_f16<const LANE: i32>( pub fn vfma_laneq_f16<const LANE: i32>(
a: float16x4_t, a: float16x4_t,
@ -10138,7 +10138,7 @@ pub fn vfma_laneq_f16<const LANE: i32>(
#[cfg_attr(test, assert_instr(fmla, LANE = 0))] #[cfg_attr(test, assert_instr(fmla, LANE = 0))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmaq_lane_f16<const LANE: i32>( pub fn vfmaq_lane_f16<const LANE: i32>(
a: float16x8_t, a: float16x8_t,
@ -10154,7 +10154,7 @@ pub fn vfmaq_lane_f16<const LANE: i32>(
#[cfg_attr(test, assert_instr(fmla, LANE = 0))] #[cfg_attr(test, assert_instr(fmla, LANE = 0))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmaq_laneq_f16<const LANE: i32>( pub fn vfmaq_laneq_f16<const LANE: i32>(
a: float16x8_t, a: float16x8_t,
@ -10432,7 +10432,7 @@ pub fn vfmad_laneq_f64<const LANE: i32>(a: f64, b: f64, c: float64x2_t) -> f64 {
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmlal2))] #[cfg_attr(test, assert_instr(fmlal2))]
pub fn vfmlal_high_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t { pub fn vfmlal_high_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t {
@ -10450,7 +10450,7 @@ pub fn vfmlal_high_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float3
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmlal2))] #[cfg_attr(test, assert_instr(fmlal2))]
pub fn vfmlalq_high_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t { pub fn vfmlalq_high_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t {
@ -10470,7 +10470,7 @@ pub fn vfmlalq_high_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlal_lane_high_f16<const LANE: i32>( pub fn vfmlal_lane_high_f16<const LANE: i32>(
r: float32x2_t, r: float32x2_t,
@ -10487,7 +10487,7 @@ pub fn vfmlal_lane_high_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlal_laneq_high_f16<const LANE: i32>( pub fn vfmlal_laneq_high_f16<const LANE: i32>(
r: float32x2_t, r: float32x2_t,
@ -10504,7 +10504,7 @@ pub fn vfmlal_laneq_high_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlalq_lane_high_f16<const LANE: i32>( pub fn vfmlalq_lane_high_f16<const LANE: i32>(
r: float32x4_t, r: float32x4_t,
@ -10521,7 +10521,7 @@ pub fn vfmlalq_lane_high_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlalq_laneq_high_f16<const LANE: i32>( pub fn vfmlalq_laneq_high_f16<const LANE: i32>(
r: float32x4_t, r: float32x4_t,
@ -10538,7 +10538,7 @@ pub fn vfmlalq_laneq_high_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlal_lane_low_f16<const LANE: i32>( pub fn vfmlal_lane_low_f16<const LANE: i32>(
r: float32x2_t, r: float32x2_t,
@ -10555,7 +10555,7 @@ pub fn vfmlal_lane_low_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlal_laneq_low_f16<const LANE: i32>( pub fn vfmlal_laneq_low_f16<const LANE: i32>(
r: float32x2_t, r: float32x2_t,
@ -10572,7 +10572,7 @@ pub fn vfmlal_laneq_low_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlalq_lane_low_f16<const LANE: i32>( pub fn vfmlalq_lane_low_f16<const LANE: i32>(
r: float32x4_t, r: float32x4_t,
@ -10589,7 +10589,7 @@ pub fn vfmlalq_lane_low_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlalq_laneq_low_f16<const LANE: i32>( pub fn vfmlalq_laneq_low_f16<const LANE: i32>(
r: float32x4_t, r: float32x4_t,
@ -10604,7 +10604,7 @@ pub fn vfmlalq_laneq_low_f16<const LANE: i32>(
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmlal))] #[cfg_attr(test, assert_instr(fmlal))]
pub fn vfmlal_low_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t { pub fn vfmlal_low_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t {
@ -10622,7 +10622,7 @@ pub fn vfmlal_low_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmlal))] #[cfg_attr(test, assert_instr(fmlal))]
pub fn vfmlalq_low_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t { pub fn vfmlalq_low_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t {
@ -10640,7 +10640,7 @@ pub fn vfmlalq_low_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float3
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmlsl2))] #[cfg_attr(test, assert_instr(fmlsl2))]
pub fn vfmlsl_high_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t { pub fn vfmlsl_high_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t {
@ -10658,7 +10658,7 @@ pub fn vfmlsl_high_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float3
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmlsl2))] #[cfg_attr(test, assert_instr(fmlsl2))]
pub fn vfmlslq_high_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t { pub fn vfmlslq_high_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t {
@ -10678,7 +10678,7 @@ pub fn vfmlslq_high_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlsl_lane_high_f16<const LANE: i32>( pub fn vfmlsl_lane_high_f16<const LANE: i32>(
r: float32x2_t, r: float32x2_t,
@ -10695,7 +10695,7 @@ pub fn vfmlsl_lane_high_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlsl_laneq_high_f16<const LANE: i32>( pub fn vfmlsl_laneq_high_f16<const LANE: i32>(
r: float32x2_t, r: float32x2_t,
@ -10712,7 +10712,7 @@ pub fn vfmlsl_laneq_high_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlslq_lane_high_f16<const LANE: i32>( pub fn vfmlslq_lane_high_f16<const LANE: i32>(
r: float32x4_t, r: float32x4_t,
@ -10729,7 +10729,7 @@ pub fn vfmlslq_lane_high_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlslq_laneq_high_f16<const LANE: i32>( pub fn vfmlslq_laneq_high_f16<const LANE: i32>(
r: float32x4_t, r: float32x4_t,
@ -10746,7 +10746,7 @@ pub fn vfmlslq_laneq_high_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlsl_lane_low_f16<const LANE: i32>( pub fn vfmlsl_lane_low_f16<const LANE: i32>(
r: float32x2_t, r: float32x2_t,
@ -10763,7 +10763,7 @@ pub fn vfmlsl_lane_low_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlsl_laneq_low_f16<const LANE: i32>( pub fn vfmlsl_laneq_low_f16<const LANE: i32>(
r: float32x2_t, r: float32x2_t,
@ -10780,7 +10780,7 @@ pub fn vfmlsl_laneq_low_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlslq_lane_low_f16<const LANE: i32>( pub fn vfmlslq_lane_low_f16<const LANE: i32>(
r: float32x4_t, r: float32x4_t,
@ -10797,7 +10797,7 @@ pub fn vfmlslq_lane_low_f16<const LANE: i32>(
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmlslq_laneq_low_f16<const LANE: i32>( pub fn vfmlslq_laneq_low_f16<const LANE: i32>(
r: float32x4_t, r: float32x4_t,
@ -10812,7 +10812,7 @@ pub fn vfmlslq_laneq_low_f16<const LANE: i32>(
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmlsl))] #[cfg_attr(test, assert_instr(fmlsl))]
pub fn vfmlsl_low_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t { pub fn vfmlsl_low_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32x2_t {
@ -10830,7 +10830,7 @@ pub fn vfmlsl_low_f16(r: float32x2_t, a: float16x4_t, b: float16x4_t) -> float32
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))] #[cfg_attr(not(target_arch = "arm"), target_feature(enable = "fhm"))]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmlsl))] #[cfg_attr(test, assert_instr(fmlsl))]
pub fn vfmlslq_low_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t { pub fn vfmlslq_low_f16(r: float32x4_t, a: float16x8_t, b: float16x8_t) -> float32x4_t {
@ -10861,7 +10861,7 @@ pub fn vfms_f64(a: float64x1_t, b: float64x1_t, c: float64x1_t) -> float64x1_t {
#[cfg_attr(test, assert_instr(fmls, LANE = 0))] #[cfg_attr(test, assert_instr(fmls, LANE = 0))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfms_lane_f16<const LANE: i32>( pub fn vfms_lane_f16<const LANE: i32>(
a: float16x4_t, a: float16x4_t,
@ -10877,7 +10877,7 @@ pub fn vfms_lane_f16<const LANE: i32>(
#[cfg_attr(test, assert_instr(fmls, LANE = 0))] #[cfg_attr(test, assert_instr(fmls, LANE = 0))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfms_laneq_f16<const LANE: i32>( pub fn vfms_laneq_f16<const LANE: i32>(
a: float16x4_t, a: float16x4_t,
@ -10893,7 +10893,7 @@ pub fn vfms_laneq_f16<const LANE: i32>(
#[cfg_attr(test, assert_instr(fmls, LANE = 0))] #[cfg_attr(test, assert_instr(fmls, LANE = 0))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmsq_lane_f16<const LANE: i32>( pub fn vfmsq_lane_f16<const LANE: i32>(
a: float16x8_t, a: float16x8_t,
@ -10909,7 +10909,7 @@ pub fn vfmsq_lane_f16<const LANE: i32>(
#[cfg_attr(test, assert_instr(fmls, LANE = 0))] #[cfg_attr(test, assert_instr(fmls, LANE = 0))]
#[rustc_legacy_const_generics(3)] #[rustc_legacy_const_generics(3)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vfmsq_laneq_f16<const LANE: i32>( pub fn vfmsq_laneq_f16<const LANE: i32>(
a: float16x8_t, a: float16x8_t,
@ -14739,7 +14739,7 @@ pub fn vmul_lane_f64<const LANE: i32>(a: float64x1_t, b: float64x1_t) -> float64
#[cfg_attr(test, assert_instr(fmul, LANE = 0))] #[cfg_attr(test, assert_instr(fmul, LANE = 0))]
#[rustc_legacy_const_generics(2)] #[rustc_legacy_const_generics(2)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vmul_laneq_f16<const LANE: i32>(a: float16x4_t, b: float16x8_t) -> float16x4_t { pub fn vmul_laneq_f16<const LANE: i32>(a: float16x4_t, b: float16x8_t) -> float16x4_t {
static_assert_uimm_bits!(LANE, 3); static_assert_uimm_bits!(LANE, 3);
@ -14756,7 +14756,7 @@ pub fn vmul_laneq_f16<const LANE: i32>(a: float16x4_t, b: float16x8_t) -> float1
#[cfg_attr(test, assert_instr(fmul, LANE = 0))] #[cfg_attr(test, assert_instr(fmul, LANE = 0))]
#[rustc_legacy_const_generics(2)] #[rustc_legacy_const_generics(2)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vmulq_laneq_f16<const LANE: i32>(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vmulq_laneq_f16<const LANE: i32>(a: float16x8_t, b: float16x8_t) -> float16x8_t {
static_assert_uimm_bits!(LANE, 3); static_assert_uimm_bits!(LANE, 3);
@ -15263,7 +15263,7 @@ pub fn vmuld_laneq_f64<const LANE: i32>(a: f64, b: float64x2_t) -> f64 {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vmulx_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vmulx_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmulx))] #[cfg_attr(test, assert_instr(fmulx))]
pub fn vmulx_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t { pub fn vmulx_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
@ -15280,7 +15280,7 @@ pub fn vmulx_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vmulxq_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vmulxq_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmulx))] #[cfg_attr(test, assert_instr(fmulx))]
pub fn vmulxq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vmulxq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
@ -15363,7 +15363,7 @@ pub fn vmulxq_f64(a: float64x2_t, b: float64x2_t) -> float64x2_t {
#[cfg_attr(test, assert_instr(fmulx, LANE = 0))] #[cfg_attr(test, assert_instr(fmulx, LANE = 0))]
#[rustc_legacy_const_generics(2)] #[rustc_legacy_const_generics(2)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vmulx_lane_f16<const LANE: i32>(a: float16x4_t, b: float16x4_t) -> float16x4_t { pub fn vmulx_lane_f16<const LANE: i32>(a: float16x4_t, b: float16x4_t) -> float16x4_t {
static_assert_uimm_bits!(LANE, 2); static_assert_uimm_bits!(LANE, 2);
@ -15380,7 +15380,7 @@ pub fn vmulx_lane_f16<const LANE: i32>(a: float16x4_t, b: float16x4_t) -> float1
#[cfg_attr(test, assert_instr(fmulx, LANE = 0))] #[cfg_attr(test, assert_instr(fmulx, LANE = 0))]
#[rustc_legacy_const_generics(2)] #[rustc_legacy_const_generics(2)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vmulx_laneq_f16<const LANE: i32>(a: float16x4_t, b: float16x8_t) -> float16x4_t { pub fn vmulx_laneq_f16<const LANE: i32>(a: float16x4_t, b: float16x8_t) -> float16x4_t {
static_assert_uimm_bits!(LANE, 3); static_assert_uimm_bits!(LANE, 3);
@ -15397,7 +15397,7 @@ pub fn vmulx_laneq_f16<const LANE: i32>(a: float16x4_t, b: float16x8_t) -> float
#[cfg_attr(test, assert_instr(fmulx, LANE = 0))] #[cfg_attr(test, assert_instr(fmulx, LANE = 0))]
#[rustc_legacy_const_generics(2)] #[rustc_legacy_const_generics(2)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vmulxq_lane_f16<const LANE: i32>(a: float16x8_t, b: float16x4_t) -> float16x8_t { pub fn vmulxq_lane_f16<const LANE: i32>(a: float16x8_t, b: float16x4_t) -> float16x8_t {
static_assert_uimm_bits!(LANE, 2); static_assert_uimm_bits!(LANE, 2);
@ -15427,7 +15427,7 @@ pub fn vmulxq_lane_f16<const LANE: i32>(a: float16x8_t, b: float16x4_t) -> float
#[cfg_attr(test, assert_instr(fmulx, LANE = 0))] #[cfg_attr(test, assert_instr(fmulx, LANE = 0))]
#[rustc_legacy_const_generics(2)] #[rustc_legacy_const_generics(2)]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vmulxq_laneq_f16<const LANE: i32>(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vmulxq_laneq_f16<const LANE: i32>(a: float16x8_t, b: float16x8_t) -> float16x8_t {
static_assert_uimm_bits!(LANE, 3); static_assert_uimm_bits!(LANE, 3);
@ -15789,7 +15789,7 @@ pub fn vpaddd_u64(a: uint64x2_t) -> u64 {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpaddq_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpaddq_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(faddp))] #[cfg_attr(test, assert_instr(faddp))]
pub fn vpaddq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vpaddq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
@ -16008,7 +16008,7 @@ pub fn vpaddq_u64(a: uint64x2_t, b: uint64x2_t) -> uint64x2_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmax_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmax_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmaxp))] #[cfg_attr(test, assert_instr(fmaxp))]
pub fn vpmax_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t { pub fn vpmax_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
@ -16025,7 +16025,7 @@ pub fn vpmax_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmaxq_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmaxq_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmaxp))] #[cfg_attr(test, assert_instr(fmaxp))]
pub fn vpmaxq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vpmaxq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
@ -16042,7 +16042,7 @@ pub fn vpmaxq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmaxnm_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmaxnm_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmaxnmp))] #[cfg_attr(test, assert_instr(fmaxnmp))]
pub fn vpmaxnm_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t { pub fn vpmaxnm_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
@ -16059,7 +16059,7 @@ pub fn vpmaxnm_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmaxnmq_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmaxnmq_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fmaxnmp))] #[cfg_attr(test, assert_instr(fmaxnmp))]
pub fn vpmaxnmq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vpmaxnmq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
@ -16316,7 +16316,7 @@ pub fn vpmaxs_f32(a: float32x2_t) -> f32 {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmin_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpmin_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fminp))] #[cfg_attr(test, assert_instr(fminp))]
pub fn vpmin_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t { pub fn vpmin_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
@ -16333,7 +16333,7 @@ pub fn vpmin_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpminq_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpminq_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fminp))] #[cfg_attr(test, assert_instr(fminp))]
pub fn vpminq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vpminq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
@ -16350,7 +16350,7 @@ pub fn vpminq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpminnm_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpminnm_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fminnmp))] #[cfg_attr(test, assert_instr(fminnmp))]
pub fn vpminnm_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t { pub fn vpminnm_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
@ -16367,7 +16367,7 @@ pub fn vpminnm_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpminnmq_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vpminnmq_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(fminnmp))] #[cfg_attr(test, assert_instr(fminnmp))]
pub fn vpminnmq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vpminnmq_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
@ -21493,7 +21493,7 @@ pub fn vrecpxh_f16(a: f16) -> f16 {
#[inline] #[inline]
#[cfg(target_endian = "little")] #[cfg(target_endian = "little")]
#[target_feature(enable = "neon")] #[target_feature(enable = "neon")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(nop))] #[cfg_attr(test, assert_instr(nop))]
pub fn vreinterpret_f64_f16(a: float16x4_t) -> float64x1_t { pub fn vreinterpret_f64_f16(a: float16x4_t) -> float64x1_t {
@ -21504,7 +21504,7 @@ pub fn vreinterpret_f64_f16(a: float16x4_t) -> float64x1_t {
#[inline] #[inline]
#[cfg(target_endian = "big")] #[cfg(target_endian = "big")]
#[target_feature(enable = "neon")] #[target_feature(enable = "neon")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(nop))] #[cfg_attr(test, assert_instr(nop))]
pub fn vreinterpret_f64_f16(a: float16x4_t) -> float64x1_t { pub fn vreinterpret_f64_f16(a: float16x4_t) -> float64x1_t {
@ -21516,7 +21516,7 @@ pub fn vreinterpret_f64_f16(a: float16x4_t) -> float64x1_t {
#[inline] #[inline]
#[cfg(target_endian = "little")] #[cfg(target_endian = "little")]
#[target_feature(enable = "neon")] #[target_feature(enable = "neon")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(nop))] #[cfg_attr(test, assert_instr(nop))]
pub fn vreinterpretq_f64_f16(a: float16x8_t) -> float64x2_t { pub fn vreinterpretq_f64_f16(a: float16x8_t) -> float64x2_t {
@ -21527,7 +21527,7 @@ pub fn vreinterpretq_f64_f16(a: float16x8_t) -> float64x2_t {
#[inline] #[inline]
#[cfg(target_endian = "big")] #[cfg(target_endian = "big")]
#[target_feature(enable = "neon")] #[target_feature(enable = "neon")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(nop))] #[cfg_attr(test, assert_instr(nop))]
pub fn vreinterpretq_f64_f16(a: float16x8_t) -> float64x2_t { pub fn vreinterpretq_f64_f16(a: float16x8_t) -> float64x2_t {
@ -21542,7 +21542,7 @@ pub fn vreinterpretq_f64_f16(a: float16x8_t) -> float64x2_t {
#[inline] #[inline]
#[cfg(target_endian = "little")] #[cfg(target_endian = "little")]
#[target_feature(enable = "neon")] #[target_feature(enable = "neon")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(nop))] #[cfg_attr(test, assert_instr(nop))]
pub fn vreinterpret_f16_f64(a: float64x1_t) -> float16x4_t { pub fn vreinterpret_f16_f64(a: float64x1_t) -> float16x4_t {
@ -21553,7 +21553,7 @@ pub fn vreinterpret_f16_f64(a: float64x1_t) -> float16x4_t {
#[inline] #[inline]
#[cfg(target_endian = "big")] #[cfg(target_endian = "big")]
#[target_feature(enable = "neon")] #[target_feature(enable = "neon")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(nop))] #[cfg_attr(test, assert_instr(nop))]
pub fn vreinterpret_f16_f64(a: float64x1_t) -> float16x4_t { pub fn vreinterpret_f16_f64(a: float64x1_t) -> float16x4_t {
@ -21567,7 +21567,7 @@ pub fn vreinterpret_f16_f64(a: float64x1_t) -> float16x4_t {
#[inline] #[inline]
#[cfg(target_endian = "little")] #[cfg(target_endian = "little")]
#[target_feature(enable = "neon")] #[target_feature(enable = "neon")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(nop))] #[cfg_attr(test, assert_instr(nop))]
pub fn vreinterpretq_f16_f64(a: float64x2_t) -> float16x8_t { pub fn vreinterpretq_f16_f64(a: float64x2_t) -> float16x8_t {
@ -21578,7 +21578,7 @@ pub fn vreinterpretq_f16_f64(a: float64x2_t) -> float16x8_t {
#[inline] #[inline]
#[cfg(target_endian = "big")] #[cfg(target_endian = "big")]
#[target_feature(enable = "neon")] #[target_feature(enable = "neon")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(nop))] #[cfg_attr(test, assert_instr(nop))]
pub fn vreinterpretq_f16_f64(a: float64x2_t) -> float16x8_t { pub fn vreinterpretq_f16_f64(a: float64x2_t) -> float16x8_t {
@ -23157,7 +23157,7 @@ pub fn vrnd64z_f64(a: float64x1_t) -> float64x1_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrnd_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrnd_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(frintz))] #[cfg_attr(test, assert_instr(frintz))]
pub fn vrnd_f16(a: float16x4_t) -> float16x4_t { pub fn vrnd_f16(a: float16x4_t) -> float16x4_t {
@ -23167,7 +23167,7 @@ pub fn vrnd_f16(a: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndq_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndq_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(frintz))] #[cfg_attr(test, assert_instr(frintz))]
pub fn vrndq_f16(a: float16x8_t) -> float16x8_t { pub fn vrndq_f16(a: float16x8_t) -> float16x8_t {
@ -23213,7 +23213,7 @@ pub fn vrndq_f64(a: float64x2_t) -> float64x2_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrnda_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrnda_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(frinta))] #[cfg_attr(test, assert_instr(frinta))]
pub fn vrnda_f16(a: float16x4_t) -> float16x4_t { pub fn vrnda_f16(a: float16x4_t) -> float16x4_t {
@ -23223,7 +23223,7 @@ pub fn vrnda_f16(a: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndaq_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndaq_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(frinta))] #[cfg_attr(test, assert_instr(frinta))]
pub fn vrndaq_f16(a: float16x8_t) -> float16x8_t { pub fn vrndaq_f16(a: float16x8_t) -> float16x8_t {
@ -23289,7 +23289,7 @@ pub fn vrndh_f16(a: f16) -> f16 {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndi_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndi_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(frinti))] #[cfg_attr(test, assert_instr(frinti))]
pub fn vrndi_f16(a: float16x4_t) -> float16x4_t { pub fn vrndi_f16(a: float16x4_t) -> float16x4_t {
@ -23306,7 +23306,7 @@ pub fn vrndi_f16(a: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndiq_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndiq_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(frinti))] #[cfg_attr(test, assert_instr(frinti))]
pub fn vrndiq_f16(a: float16x8_t) -> float16x8_t { pub fn vrndiq_f16(a: float16x8_t) -> float16x8_t {
@ -23404,7 +23404,7 @@ pub fn vrndih_f16(a: f16) -> f16 {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndm_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndm_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(frintm))] #[cfg_attr(test, assert_instr(frintm))]
pub fn vrndm_f16(a: float16x4_t) -> float16x4_t { pub fn vrndm_f16(a: float16x4_t) -> float16x4_t {
@ -23414,7 +23414,7 @@ pub fn vrndm_f16(a: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndmq_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndmq_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(frintm))] #[cfg_attr(test, assert_instr(frintm))]
pub fn vrndmq_f16(a: float16x8_t) -> float16x8_t { pub fn vrndmq_f16(a: float16x8_t) -> float16x8_t {
@ -23535,7 +23535,7 @@ pub fn vrndns_f32(a: f32) -> f32 {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndp_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndp_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(frintp))] #[cfg_attr(test, assert_instr(frintp))]
pub fn vrndp_f16(a: float16x4_t) -> float16x4_t { pub fn vrndp_f16(a: float16x4_t) -> float16x4_t {
@ -23545,7 +23545,7 @@ pub fn vrndp_f16(a: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndpq_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndpq_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(frintp))] #[cfg_attr(test, assert_instr(frintp))]
pub fn vrndpq_f16(a: float16x8_t) -> float16x8_t { pub fn vrndpq_f16(a: float16x8_t) -> float16x8_t {
@ -23601,7 +23601,7 @@ pub fn vrndph_f16(a: f16) -> f16 {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndx_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndx_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(frintx))] #[cfg_attr(test, assert_instr(frintx))]
pub fn vrndx_f16(a: float16x4_t) -> float16x4_t { pub fn vrndx_f16(a: float16x4_t) -> float16x4_t {
@ -23611,7 +23611,7 @@ pub fn vrndx_f16(a: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndxq_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vrndxq_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(test, assert_instr(frintx))] #[cfg_attr(test, assert_instr(frintx))]
pub fn vrndxq_f16(a: float16x8_t) -> float16x8_t { pub fn vrndxq_f16(a: float16x8_t) -> float16x8_t {
@ -25034,7 +25034,7 @@ pub fn vsqadds_u32(a: u32, b: i32) -> u32 {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fsqrt))] #[cfg_attr(test, assert_instr(fsqrt))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vsqrt_f16(a: float16x4_t) -> float16x4_t { pub fn vsqrt_f16(a: float16x4_t) -> float16x4_t {
unsafe { simd_fsqrt(a) } unsafe { simd_fsqrt(a) }
@ -25044,7 +25044,7 @@ pub fn vsqrt_f16(a: float16x4_t) -> float16x4_t {
#[inline] #[inline]
#[cfg_attr(test, assert_instr(fsqrt))] #[cfg_attr(test, assert_instr(fsqrt))]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
pub fn vsqrtq_f16(a: float16x8_t) -> float16x8_t { pub fn vsqrtq_f16(a: float16x8_t) -> float16x8_t {
unsafe { simd_fsqrt(a) } unsafe { simd_fsqrt(a) }
@ -27532,7 +27532,7 @@ pub fn vtbx4_p8(a: poly8x8_t, b: poly8x8x4_t, c: uint8x8_t) -> poly8x8_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn1_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn1_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn1))] #[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn1))]
pub fn vtrn1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t { pub fn vtrn1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
@ -27542,7 +27542,7 @@ pub fn vtrn1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn1q_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn1q_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn1))] #[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn1))]
pub fn vtrn1q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vtrn1q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
@ -27768,7 +27768,7 @@ pub fn vtrn1q_p16(a: poly16x8_t, b: poly16x8_t) -> poly16x8_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn2_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn2_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn2))] #[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn2))]
pub fn vtrn2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t { pub fn vtrn2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
@ -27778,7 +27778,7 @@ pub fn vtrn2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn2q_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vtrn2q_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn2))] #[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(trn2))]
pub fn vtrn2q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vtrn2q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
@ -28309,7 +28309,7 @@ pub fn vusdotq_laneq_s32<const LANE: i32>(a: int32x4_t, b: uint8x16_t, c: int8x1
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp1_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp1_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp1))] #[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp1))]
pub fn vuzp1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t { pub fn vuzp1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
@ -28319,7 +28319,7 @@ pub fn vuzp1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp1q_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp1q_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp1))] #[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp1))]
pub fn vuzp1q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vuzp1q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
@ -28545,7 +28545,7 @@ pub fn vuzp1q_p16(a: poly16x8_t, b: poly16x8_t) -> poly16x8_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp2_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp2_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp2))] #[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp2))]
pub fn vuzp2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t { pub fn vuzp2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
@ -28555,7 +28555,7 @@ pub fn vuzp2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp2q_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vuzp2q_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp2))] #[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(uzp2))]
pub fn vuzp2q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vuzp2q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
@ -28799,7 +28799,7 @@ pub fn vxarq_u64<const IMM6: i32>(a: uint64x2_t, b: uint64x2_t) -> uint64x2_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip1_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip1_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip1))] #[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip1))]
pub fn vzip1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t { pub fn vzip1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
@ -28809,7 +28809,7 @@ pub fn vzip1_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip1q_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip1q_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip1))] #[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip1))]
pub fn vzip1q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vzip1q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {
@ -29035,7 +29035,7 @@ pub fn vzip1q_p64(a: poly64x2_t, b: poly64x2_t) -> poly64x2_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip2_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip2_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip2))] #[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip2))]
pub fn vzip2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t { pub fn vzip2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
@ -29045,7 +29045,7 @@ pub fn vzip2_f16(a: float16x4_t, b: float16x4_t) -> float16x4_t {
#[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip2q_f16)"] #[doc = "[Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vzip2q_f16)"]
#[inline] #[inline]
#[target_feature(enable = "neon,fp16")] #[target_feature(enable = "neon,fp16")]
#[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
#[cfg(not(target_arch = "arm64ec"))] #[cfg(not(target_arch = "arm64ec"))]
#[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip2))] #[cfg_attr(all(test, not(target_env = "msvc")), assert_instr(zip2))]
pub fn vzip2q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t { pub fn vzip2q_f16(a: float16x8_t, b: float16x8_t) -> float16x8_t {

View file

@ -104,7 +104,7 @@ types! {
} }
types! { types! {
#![cfg_attr(not(target_arch = "arm"), stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION"))] #![cfg_attr(not(target_arch = "arm"), stable(feature = "stdarch_neon_fp16", since = "1.94.0"))]
#![cfg_attr(target_arch = "arm", unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800"))] #![cfg_attr(target_arch = "arm", unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800"))]
/// Arm-specific 64-bit wide vector of four packed `f16`. /// Arm-specific 64-bit wide vector of four packed `f16`.
@ -750,7 +750,7 @@ pub struct uint32x4x4_t(
#[derive(Copy, Clone, Debug)] #[derive(Copy, Clone, Debug)]
#[cfg_attr( #[cfg_attr(
not(target_arch = "arm"), not(target_arch = "arm"),
stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION") stable(feature = "stdarch_neon_fp16", since = "1.94.0")
)] )]
#[cfg_attr( #[cfg_attr(
target_arch = "arm", target_arch = "arm",
@ -763,7 +763,7 @@ pub struct float16x4x2_t(pub float16x4_t, pub float16x4_t);
#[derive(Copy, Clone, Debug)] #[derive(Copy, Clone, Debug)]
#[cfg_attr( #[cfg_attr(
not(target_arch = "arm"), not(target_arch = "arm"),
stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION") stable(feature = "stdarch_neon_fp16", since = "1.94.0")
)] )]
#[cfg_attr( #[cfg_attr(
target_arch = "arm", target_arch = "arm",
@ -776,7 +776,7 @@ pub struct float16x4x3_t(pub float16x4_t, pub float16x4_t, pub float16x4_t);
#[derive(Copy, Clone, Debug)] #[derive(Copy, Clone, Debug)]
#[cfg_attr( #[cfg_attr(
not(target_arch = "arm"), not(target_arch = "arm"),
stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION") stable(feature = "stdarch_neon_fp16", since = "1.94.0")
)] )]
#[cfg_attr( #[cfg_attr(
target_arch = "arm", target_arch = "arm",
@ -794,7 +794,7 @@ pub struct float16x4x4_t(
#[derive(Copy, Clone, Debug)] #[derive(Copy, Clone, Debug)]
#[cfg_attr( #[cfg_attr(
not(target_arch = "arm"), not(target_arch = "arm"),
stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION") stable(feature = "stdarch_neon_fp16", since = "1.94.0")
)] )]
#[cfg_attr( #[cfg_attr(
target_arch = "arm", target_arch = "arm",
@ -807,7 +807,7 @@ pub struct float16x8x2_t(pub float16x8_t, pub float16x8_t);
#[derive(Copy, Clone, Debug)] #[derive(Copy, Clone, Debug)]
#[cfg_attr( #[cfg_attr(
not(target_arch = "arm"), not(target_arch = "arm"),
stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION") stable(feature = "stdarch_neon_fp16", since = "1.94.0")
)] )]
#[cfg_attr( #[cfg_attr(
target_arch = "arm", target_arch = "arm",
@ -820,7 +820,7 @@ pub struct float16x8x3_t(pub float16x8_t, pub float16x8_t, pub float16x8_t);
#[derive(Copy, Clone, Debug)] #[derive(Copy, Clone, Debug)]
#[cfg_attr( #[cfg_attr(
not(target_arch = "arm"), not(target_arch = "arm"),
stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION") stable(feature = "stdarch_neon_fp16", since = "1.94.0")
)] )]
#[cfg_attr( #[cfg_attr(
target_arch = "arm", target_arch = "arm",

File diff suppressed because it is too large Load diff

View file

@ -87,7 +87,7 @@ pub unsafe fn _mm256_cvtneebf16_ps(a: *const __m256bh) -> __m256 {
#[inline] #[inline]
#[target_feature(enable = "avxneconvert")] #[target_feature(enable = "avxneconvert")]
#[cfg_attr(test, assert_instr(vcvtneeph2ps))] #[cfg_attr(test, assert_instr(vcvtneeph2ps))]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub unsafe fn _mm_cvtneeph_ps(a: *const __m128h) -> __m128 { pub unsafe fn _mm_cvtneeph_ps(a: *const __m128h) -> __m128 {
transmute(cvtneeph2ps_128(a)) transmute(cvtneeph2ps_128(a))
} }
@ -99,7 +99,7 @@ pub unsafe fn _mm_cvtneeph_ps(a: *const __m128h) -> __m128 {
#[inline] #[inline]
#[target_feature(enable = "avxneconvert")] #[target_feature(enable = "avxneconvert")]
#[cfg_attr(test, assert_instr(vcvtneeph2ps))] #[cfg_attr(test, assert_instr(vcvtneeph2ps))]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub unsafe fn _mm256_cvtneeph_ps(a: *const __m256h) -> __m256 { pub unsafe fn _mm256_cvtneeph_ps(a: *const __m256h) -> __m256 {
transmute(cvtneeph2ps_256(a)) transmute(cvtneeph2ps_256(a))
} }
@ -135,7 +135,7 @@ pub unsafe fn _mm256_cvtneobf16_ps(a: *const __m256bh) -> __m256 {
#[inline] #[inline]
#[target_feature(enable = "avxneconvert")] #[target_feature(enable = "avxneconvert")]
#[cfg_attr(test, assert_instr(vcvtneoph2ps))] #[cfg_attr(test, assert_instr(vcvtneoph2ps))]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub unsafe fn _mm_cvtneoph_ps(a: *const __m128h) -> __m128 { pub unsafe fn _mm_cvtneoph_ps(a: *const __m128h) -> __m128 {
transmute(cvtneoph2ps_128(a)) transmute(cvtneoph2ps_128(a))
} }
@ -147,7 +147,7 @@ pub unsafe fn _mm_cvtneoph_ps(a: *const __m128h) -> __m128 {
#[inline] #[inline]
#[target_feature(enable = "avxneconvert")] #[target_feature(enable = "avxneconvert")]
#[cfg_attr(test, assert_instr(vcvtneoph2ps))] #[cfg_attr(test, assert_instr(vcvtneoph2ps))]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub unsafe fn _mm256_cvtneoph_ps(a: *const __m256h) -> __m256 { pub unsafe fn _mm256_cvtneoph_ps(a: *const __m256h) -> __m256 {
transmute(cvtneoph2ps_256(a)) transmute(cvtneoph2ps_256(a))
} }

View file

@ -401,7 +401,7 @@ types! {
} }
types! { types! {
#![stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #![stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
/// 128-bit wide set of 8 `f16` types, x86-specific /// 128-bit wide set of 8 `f16` types, x86-specific
/// ///
@ -768,7 +768,7 @@ mod avxneconvert;
pub use self::avxneconvert::*; pub use self::avxneconvert::*;
mod avx512fp16; mod avx512fp16;
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub use self::avx512fp16::*; pub use self::avx512fp16::*;
mod kl; mod kl;

View file

@ -10,7 +10,7 @@ use stdarch_test::assert_instr;
#[inline] #[inline]
#[target_feature(enable = "avx512fp16")] #[target_feature(enable = "avx512fp16")]
#[cfg_attr(test, assert_instr(vcvtsi2sh))] #[cfg_attr(test, assert_instr(vcvtsi2sh))]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub fn _mm_cvti64_sh(a: __m128h, b: i64) -> __m128h { pub fn _mm_cvti64_sh(a: __m128h, b: i64) -> __m128h {
unsafe { vcvtsi642sh(a, b, _MM_FROUND_CUR_DIRECTION) } unsafe { vcvtsi642sh(a, b, _MM_FROUND_CUR_DIRECTION) }
} }
@ -32,7 +32,7 @@ pub fn _mm_cvti64_sh(a: __m128h, b: i64) -> __m128h {
#[target_feature(enable = "avx512fp16")] #[target_feature(enable = "avx512fp16")]
#[cfg_attr(test, assert_instr(vcvtsi2sh, ROUNDING = 8))] #[cfg_attr(test, assert_instr(vcvtsi2sh, ROUNDING = 8))]
#[rustc_legacy_const_generics(2)] #[rustc_legacy_const_generics(2)]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub fn _mm_cvt_roundi64_sh<const ROUNDING: i32>(a: __m128h, b: i64) -> __m128h { pub fn _mm_cvt_roundi64_sh<const ROUNDING: i32>(a: __m128h, b: i64) -> __m128h {
unsafe { unsafe {
static_assert_rounding!(ROUNDING); static_assert_rounding!(ROUNDING);
@ -48,7 +48,7 @@ pub fn _mm_cvt_roundi64_sh<const ROUNDING: i32>(a: __m128h, b: i64) -> __m128h {
#[inline] #[inline]
#[target_feature(enable = "avx512fp16")] #[target_feature(enable = "avx512fp16")]
#[cfg_attr(test, assert_instr(vcvtusi2sh))] #[cfg_attr(test, assert_instr(vcvtusi2sh))]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub fn _mm_cvtu64_sh(a: __m128h, b: u64) -> __m128h { pub fn _mm_cvtu64_sh(a: __m128h, b: u64) -> __m128h {
unsafe { vcvtusi642sh(a, b, _MM_FROUND_CUR_DIRECTION) } unsafe { vcvtusi642sh(a, b, _MM_FROUND_CUR_DIRECTION) }
} }
@ -70,7 +70,7 @@ pub fn _mm_cvtu64_sh(a: __m128h, b: u64) -> __m128h {
#[target_feature(enable = "avx512fp16")] #[target_feature(enable = "avx512fp16")]
#[cfg_attr(test, assert_instr(vcvtusi2sh, ROUNDING = 8))] #[cfg_attr(test, assert_instr(vcvtusi2sh, ROUNDING = 8))]
#[rustc_legacy_const_generics(2)] #[rustc_legacy_const_generics(2)]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub fn _mm_cvt_roundu64_sh<const ROUNDING: i32>(a: __m128h, b: u64) -> __m128h { pub fn _mm_cvt_roundu64_sh<const ROUNDING: i32>(a: __m128h, b: u64) -> __m128h {
unsafe { unsafe {
static_assert_rounding!(ROUNDING); static_assert_rounding!(ROUNDING);
@ -85,7 +85,7 @@ pub fn _mm_cvt_roundu64_sh<const ROUNDING: i32>(a: __m128h, b: u64) -> __m128h {
#[inline] #[inline]
#[target_feature(enable = "avx512fp16")] #[target_feature(enable = "avx512fp16")]
#[cfg_attr(test, assert_instr(vcvtsh2si))] #[cfg_attr(test, assert_instr(vcvtsh2si))]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub fn _mm_cvtsh_i64(a: __m128h) -> i64 { pub fn _mm_cvtsh_i64(a: __m128h) -> i64 {
unsafe { vcvtsh2si64(a, _MM_FROUND_CUR_DIRECTION) } unsafe { vcvtsh2si64(a, _MM_FROUND_CUR_DIRECTION) }
} }
@ -106,7 +106,7 @@ pub fn _mm_cvtsh_i64(a: __m128h) -> i64 {
#[target_feature(enable = "avx512fp16")] #[target_feature(enable = "avx512fp16")]
#[cfg_attr(test, assert_instr(vcvtsh2si, ROUNDING = 8))] #[cfg_attr(test, assert_instr(vcvtsh2si, ROUNDING = 8))]
#[rustc_legacy_const_generics(1)] #[rustc_legacy_const_generics(1)]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub fn _mm_cvt_roundsh_i64<const ROUNDING: i32>(a: __m128h) -> i64 { pub fn _mm_cvt_roundsh_i64<const ROUNDING: i32>(a: __m128h) -> i64 {
unsafe { unsafe {
static_assert_rounding!(ROUNDING); static_assert_rounding!(ROUNDING);
@ -121,7 +121,7 @@ pub fn _mm_cvt_roundsh_i64<const ROUNDING: i32>(a: __m128h) -> i64 {
#[inline] #[inline]
#[target_feature(enable = "avx512fp16")] #[target_feature(enable = "avx512fp16")]
#[cfg_attr(test, assert_instr(vcvtsh2usi))] #[cfg_attr(test, assert_instr(vcvtsh2usi))]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub fn _mm_cvtsh_u64(a: __m128h) -> u64 { pub fn _mm_cvtsh_u64(a: __m128h) -> u64 {
unsafe { vcvtsh2usi64(a, _MM_FROUND_CUR_DIRECTION) } unsafe { vcvtsh2usi64(a, _MM_FROUND_CUR_DIRECTION) }
} }
@ -142,7 +142,7 @@ pub fn _mm_cvtsh_u64(a: __m128h) -> u64 {
#[target_feature(enable = "avx512fp16")] #[target_feature(enable = "avx512fp16")]
#[cfg_attr(test, assert_instr(vcvtsh2usi, ROUNDING = 8))] #[cfg_attr(test, assert_instr(vcvtsh2usi, ROUNDING = 8))]
#[rustc_legacy_const_generics(1)] #[rustc_legacy_const_generics(1)]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub fn _mm_cvt_roundsh_u64<const ROUNDING: i32>(a: __m128h) -> u64 { pub fn _mm_cvt_roundsh_u64<const ROUNDING: i32>(a: __m128h) -> u64 {
unsafe { unsafe {
static_assert_rounding!(ROUNDING); static_assert_rounding!(ROUNDING);
@ -157,7 +157,7 @@ pub fn _mm_cvt_roundsh_u64<const ROUNDING: i32>(a: __m128h) -> u64 {
#[inline] #[inline]
#[target_feature(enable = "avx512fp16")] #[target_feature(enable = "avx512fp16")]
#[cfg_attr(test, assert_instr(vcvttsh2si))] #[cfg_attr(test, assert_instr(vcvttsh2si))]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub fn _mm_cvttsh_i64(a: __m128h) -> i64 { pub fn _mm_cvttsh_i64(a: __m128h) -> i64 {
unsafe { vcvttsh2si64(a, _MM_FROUND_CUR_DIRECTION) } unsafe { vcvttsh2si64(a, _MM_FROUND_CUR_DIRECTION) }
} }
@ -172,7 +172,7 @@ pub fn _mm_cvttsh_i64(a: __m128h) -> i64 {
#[target_feature(enable = "avx512fp16")] #[target_feature(enable = "avx512fp16")]
#[cfg_attr(test, assert_instr(vcvttsh2si, SAE = 8))] #[cfg_attr(test, assert_instr(vcvttsh2si, SAE = 8))]
#[rustc_legacy_const_generics(1)] #[rustc_legacy_const_generics(1)]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub fn _mm_cvtt_roundsh_i64<const SAE: i32>(a: __m128h) -> i64 { pub fn _mm_cvtt_roundsh_i64<const SAE: i32>(a: __m128h) -> i64 {
unsafe { unsafe {
static_assert_sae!(SAE); static_assert_sae!(SAE);
@ -187,7 +187,7 @@ pub fn _mm_cvtt_roundsh_i64<const SAE: i32>(a: __m128h) -> i64 {
#[inline] #[inline]
#[target_feature(enable = "avx512fp16")] #[target_feature(enable = "avx512fp16")]
#[cfg_attr(test, assert_instr(vcvttsh2usi))] #[cfg_attr(test, assert_instr(vcvttsh2usi))]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub fn _mm_cvttsh_u64(a: __m128h) -> u64 { pub fn _mm_cvttsh_u64(a: __m128h) -> u64 {
unsafe { vcvttsh2usi64(a, _MM_FROUND_CUR_DIRECTION) } unsafe { vcvttsh2usi64(a, _MM_FROUND_CUR_DIRECTION) }
} }
@ -202,7 +202,7 @@ pub fn _mm_cvttsh_u64(a: __m128h) -> u64 {
#[target_feature(enable = "avx512fp16")] #[target_feature(enable = "avx512fp16")]
#[cfg_attr(test, assert_instr(vcvttsh2usi, SAE = 8))] #[cfg_attr(test, assert_instr(vcvttsh2usi, SAE = 8))]
#[rustc_legacy_const_generics(1)] #[rustc_legacy_const_generics(1)]
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub fn _mm_cvtt_roundsh_u64<const SAE: i32>(a: __m128h) -> u64 { pub fn _mm_cvtt_roundsh_u64<const SAE: i32>(a: __m128h) -> u64 {
unsafe { unsafe {
static_assert_sae!(SAE); static_assert_sae!(SAE);

View file

@ -75,7 +75,7 @@ mod bt;
pub use self::bt::*; pub use self::bt::*;
mod avx512fp16; mod avx512fp16;
#[stable(feature = "stdarch_x86_avx512fp16", since = "CURRENT_RUSTC_VERSION")] #[stable(feature = "stdarch_x86_avx512fp16", since = "1.94.0")]
pub use self::avx512fp16::*; pub use self::avx512fp16::*;
mod amx; mod amx;

View file

@ -13,9 +13,9 @@ auto_llvm_sign_conversion: false
neon-stable: &neon-stable neon-stable: &neon-stable
FnCall: [stable, ['feature = "neon_intrinsics"', 'since = "1.59.0"']] FnCall: [stable, ['feature = "neon_intrinsics"', 'since = "1.59.0"']]
# #[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] # #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
neon-stable-fp16: &neon-stable-fp16 neon-stable-fp16: &neon-stable-fp16
FnCall: [stable, ['feature = "stdarch_neon_fp16"', 'since = "CURRENT_RUSTC_VERSION"']] FnCall: [stable, ['feature = "stdarch_neon_fp16"', 'since = "1.94.0"']]
# #[cfg(not(target_arch = "arm64ec"))] # #[cfg(not(target_arch = "arm64ec"))]
target-not-arm64ec: &target-not-arm64ec target-not-arm64ec: &target-not-arm64ec

View file

@ -10,9 +10,9 @@ auto_big_endian: true
neon-stable: &neon-stable neon-stable: &neon-stable
FnCall: [stable, ['feature = "neon_intrinsics"', 'since = "1.59.0"']] FnCall: [stable, ['feature = "neon_intrinsics"', 'since = "1.59.0"']]
# #[stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION")] # #[stable(feature = "stdarch_neon_fp16", since = "1.94.0")]
neon-stable-fp16: &neon-stable-fp16 neon-stable-fp16: &neon-stable-fp16
FnCall: [stable, ['feature = "stdarch_neon_fp16"', 'since = "CURRENT_RUSTC_VERSION"']] FnCall: [stable, ['feature = "stdarch_neon_fp16"', 'since = "1.94.0"']]
# #[cfg_attr(target_arch = "arm", unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800"))] # #[cfg_attr(target_arch = "arm", unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800"))]
neon-cfg-arm-unstable: &neon-cfg-arm-unstable neon-cfg-arm-unstable: &neon-cfg-arm-unstable
@ -55,9 +55,9 @@ neon-target-aarch64-arm64ec: &neon-target-aarch64-arm64ec
neon-not-arm-stable: &neon-not-arm-stable neon-not-arm-stable: &neon-not-arm-stable
FnCall: [cfg_attr, [{ FnCall: [not, ['target_arch = "arm"']]}, {FnCall: [stable, ['feature = "neon_intrinsics"', 'since = "1.59.0"']]}]] FnCall: [cfg_attr, [{ FnCall: [not, ['target_arch = "arm"']]}, {FnCall: [stable, ['feature = "neon_intrinsics"', 'since = "1.59.0"']]}]]
# #[cfg_attr(not(target_arch = "arm"), stable(feature = "stdarch_neon_fp16", since = "CURRENT_RUSTC_VERSION"))] # #[cfg_attr(not(target_arch = "arm"), stable(feature = "stdarch_neon_fp16", since = "1.94.0"))]
neon-not-arm-stable-fp16: &neon-not-arm-stable-fp16 neon-not-arm-stable-fp16: &neon-not-arm-stable-fp16
FnCall: [cfg_attr, [{ FnCall: [not, ['target_arch = "arm"']]}, {FnCall: [stable, ['feature = "stdarch_neon_fp16"', 'since = "CURRENT_RUSTC_VERSION"']]}]] FnCall: [cfg_attr, [{ FnCall: [not, ['target_arch = "arm"']]}, {FnCall: [stable, ['feature = "stdarch_neon_fp16"', 'since = "1.94.0"']]}]]
# #[cfg_attr(all(test, not(target_env = "msvc"))] # #[cfg_attr(all(test, not(target_env = "msvc"))]
msvc-disabled: &msvc-disabled msvc-disabled: &msvc-disabled

View file

@ -1 +1 @@
nightly beta

View file

@ -13,544 +13,405 @@ nightly_branch=main
# All changes below this comment will be overridden the next time the # All changes below this comment will be overridden the next time the
# tool is executed. # tool is executed.
compiler_channel_manifest_hash=936fefc9b8e88ef79db59e6dee693b757f35a98c87698b65206dca1118850996 compiler_channel_manifest_hash=beb6ba4e41c84e9c11c80e6804a007497d0c8ba0810cd403fabc8f4a9c45b1f8
compiler_git_commit_hash=1b6e21e163baa0b20f119e17e3871910978a60b6 compiler_git_commit_hash=254b59607d4417e9dffbc307138ae5c86280fe4c
compiler_date=2025-12-09 compiler_date=2026-01-22
compiler_version=beta compiler_version=1.93.0
rustfmt_channel_manifest_hash=8a4b2700918bd32bda5cbab3da25fc4ea1bee06bb24ef24d1df890997ef35a51
rustfmt_git_commit_hash=c61a3a44d1a5bee35914cada6c788a05e0808f5b
rustfmt_date=2025-12-10
rustfmt_version=nightly
dist/2025-12-09/rustc-beta-aarch64-apple-darwin.tar.gz=a91d96a219d1c3a195b064ea786a693ddf3987afa20b4117352526e04d27a76e dist/2026-01-22/rustc-1.93.0-aarch64-apple-darwin.tar.gz=4b5cf30c0d552ac8a292854e7d96ee65e0f1c6fdce22e30ee6295558bccbd16b
dist/2025-12-09/rustc-beta-aarch64-apple-darwin.tar.xz=40e55dd62ba38d106cf6a53044d38ddeb41721a4f301a2dc54d8cc64b31e3ba7 dist/2026-01-22/rustc-1.93.0-aarch64-apple-darwin.tar.xz=092be03c02b44c405dab1232541c84f32b2d9e8295747568c3d531dd137221dc
dist/2025-12-09/rustc-beta-aarch64-pc-windows-gnullvm.tar.gz=4747203b5f3387abea65d9076eb790c2d1cde3bcf1e058bf072149c4c08768be dist/2026-01-22/rustc-1.93.0-aarch64-pc-windows-gnullvm.tar.gz=61297a8aa94c6e02d75cf66606644cfcfe48a639ef5d14fb5842c4eefca40448
dist/2025-12-09/rustc-beta-aarch64-pc-windows-gnullvm.tar.xz=07889f4d4a975817f64d3ca7fc3625159edcd58ed0f2121edc4be6c781318c8a dist/2026-01-22/rustc-1.93.0-aarch64-pc-windows-gnullvm.tar.xz=d3bc0cdaf157e20b1f23e510b5e3c4c6e9117d08f5284c04dee60aecff1bc851
dist/2025-12-09/rustc-beta-aarch64-pc-windows-msvc.tar.gz=7c4a21a4a66b1a652a9f2ab7026f98d00b8bb792e9d35e43acbbb9e721e2fc1c dist/2026-01-22/rustc-1.93.0-aarch64-pc-windows-msvc.tar.gz=273dfef54c98174b506fb7aa64360754f54846ad45c79b4356263dd75e65844f
dist/2025-12-09/rustc-beta-aarch64-pc-windows-msvc.tar.xz=744d6df884551fc14c1284390378b6f133c8b971055d30f86c0f42d6864e958f dist/2026-01-22/rustc-1.93.0-aarch64-pc-windows-msvc.tar.xz=a3ac1a8e411de8470f71b366f89d187718c431526912b181692ed0a18c56c7ad
dist/2025-12-09/rustc-beta-aarch64-unknown-linux-gnu.tar.gz=b13dcb3bb092ad1cbca6ff91e9ca3c92eb363fdecc6b9c16175b07ce32435c6c dist/2026-01-22/rustc-1.93.0-aarch64-unknown-linux-gnu.tar.gz=f8609d27c42de42ab655c7072c894cebe1091eb481c0aaaccbad7dccfa8b06fd
dist/2025-12-09/rustc-beta-aarch64-unknown-linux-gnu.tar.xz=36e6ca5ca171c09b3c5a4c36d877163674b9a4bb5562a1dc9a66c5af39d3f37f dist/2026-01-22/rustc-1.93.0-aarch64-unknown-linux-gnu.tar.xz=1a9045695892ec08d8e9751bf7cf7db71fe27a6202dd12ce13aca48d0602dbde
dist/2025-12-09/rustc-beta-aarch64-unknown-linux-musl.tar.gz=047b25aca0b1d4f4d630db240f12c96433c25ee5d0a149499a715df120c73f10 dist/2026-01-22/rustc-1.93.0-aarch64-unknown-linux-musl.tar.gz=d3b71a3d061d00a36862d326f71a63bf8a6dc46ca16396d0b8b102877904a584
dist/2025-12-09/rustc-beta-aarch64-unknown-linux-musl.tar.xz=6a0332f6a824e8f25942178fb1eb562297a7dc31205d17b7dd11a2d9c64cc3f1 dist/2026-01-22/rustc-1.93.0-aarch64-unknown-linux-musl.tar.xz=5371915850179d910d3eca32cb8f9240c336a1fdc830286242daf4b26227295f
dist/2025-12-09/rustc-beta-aarch64-unknown-linux-ohos.tar.gz=4f80108f65a8a05067972263acfc1756e06283ebb0bdac86974c96298dfb8ce6 dist/2026-01-22/rustc-1.93.0-aarch64-unknown-linux-ohos.tar.gz=5ba60e804e1f2f49ed6001821cca3a4743fc59e4f4b98cef03647f1a83667135
dist/2025-12-09/rustc-beta-aarch64-unknown-linux-ohos.tar.xz=71ac8ab1ef7624171a2d50c00577fa7a734146099e7d9e8bac10a784831a877d dist/2026-01-22/rustc-1.93.0-aarch64-unknown-linux-ohos.tar.xz=1e259a6bafa959c83622de0719fb93e21eb10004b6d58d2e298036becd34867d
dist/2025-12-09/rustc-beta-arm-unknown-linux-gnueabi.tar.gz=4beca02231720f3de8c3f11d97a69962c3049c2812d98c043df03e50d97cfb4d dist/2026-01-22/rustc-1.93.0-arm-unknown-linux-gnueabi.tar.gz=5f3882331c3ad3a720cb73ca3a2b1f0009b9d82b6d5ba8e47cb170418e8391c4
dist/2025-12-09/rustc-beta-arm-unknown-linux-gnueabi.tar.xz=b1edced09ff9ea6a94cfd029578dc0b04e75713b25b7ba211907d398e4be4857 dist/2026-01-22/rustc-1.93.0-arm-unknown-linux-gnueabi.tar.xz=a253b250f67c9be9783511097f6bd8d99caf769dd00f0f1d27feaff2ab559618
dist/2025-12-09/rustc-beta-arm-unknown-linux-gnueabihf.tar.gz=bdeb895d3d69b7405c773af4c9e941e4c97d2e8916c5e381f2bfb9ee1e3d1533 dist/2026-01-22/rustc-1.93.0-arm-unknown-linux-gnueabihf.tar.gz=462a8a8115ec8699afeb7ff14d659e9d8b370b9b465babf4de8ee39c857150cd
dist/2025-12-09/rustc-beta-arm-unknown-linux-gnueabihf.tar.xz=53f9efbc64431efed920f9f0ee5ced9ad18589237fe080983730d6536c0e94b9 dist/2026-01-22/rustc-1.93.0-arm-unknown-linux-gnueabihf.tar.xz=8c90d996b29c6e7018738697af47660b410767039657bb3c739c94b64d9c9916
dist/2025-12-09/rustc-beta-armv7-unknown-linux-gnueabihf.tar.gz=bd65ec758f8a0bfade3daa30a3478424e0e59d2f18890545453dae1cd0410107 dist/2026-01-22/rustc-1.93.0-armv7-unknown-linux-gnueabihf.tar.gz=e8de297768e9d94e84c5f82a6a6b8f4025335bda6b79eb855d3cafcbef2e1e9f
dist/2025-12-09/rustc-beta-armv7-unknown-linux-gnueabihf.tar.xz=1180f684a647091ba857bf74a921933711f5dd3970995860ea7c12ecb4e25660 dist/2026-01-22/rustc-1.93.0-armv7-unknown-linux-gnueabihf.tar.xz=7e7f8902a497e9e221050170598d6c186243abb3bfc7cd452b5ff239db86768c
dist/2025-12-09/rustc-beta-i686-pc-windows-gnu.tar.gz=386934445fce601578146f052dc042cf23292f6a9dbe22f1333ae93cf0872820 dist/2026-01-22/rustc-1.93.0-i686-pc-windows-gnu.tar.gz=09d8589fbfb0ba20a89a43b4bb3925dcf3548b64fc21a0c858920f765087aee1
dist/2025-12-09/rustc-beta-i686-pc-windows-gnu.tar.xz=64731c7e3c61ed0791c6a985d61207e3d687555f6d95abff73e9c051246c65bc dist/2026-01-22/rustc-1.93.0-i686-pc-windows-gnu.tar.xz=ce7cae86223448e0c62623c35080b9575bdfa9856c0d18242b6479e7b8940455
dist/2025-12-09/rustc-beta-i686-pc-windows-msvc.tar.gz=8b5df3cc0e53b36b32317461fe89ee7afc8333ee7e11184dc09ba2b96405e6ed dist/2026-01-22/rustc-1.93.0-i686-pc-windows-msvc.tar.gz=da5b31832469e6348d0213670c3086cd52d2427e255bbdebc3ebdce44f9d5e10
dist/2025-12-09/rustc-beta-i686-pc-windows-msvc.tar.xz=11273df779687a10be4c99e9175d8d4396580c1439d7a8ce27b6b4a674b3c401 dist/2026-01-22/rustc-1.93.0-i686-pc-windows-msvc.tar.xz=7a65d993a68f3a4b4f907f9fad5ad5926a32ed6f5e90061e954092ead38bd8fa
dist/2025-12-09/rustc-beta-i686-unknown-linux-gnu.tar.gz=e31368fbc85656ab864046539978da6b6635a6ee2cc15c48c617b988b84c0d8b dist/2026-01-22/rustc-1.93.0-i686-unknown-linux-gnu.tar.gz=a62f96eb7c955b2050b506b9213ccab4c5f606e4e66ac8f9f67a5f04fc3f104b
dist/2025-12-09/rustc-beta-i686-unknown-linux-gnu.tar.xz=de94f1f65cd3afc9c7caf554a50e3a1c7e8d730413c3dd4d9916618e7aabb3af dist/2026-01-22/rustc-1.93.0-i686-unknown-linux-gnu.tar.xz=72038681a14fe632e2b550392b83dadf40325c472dabecfff40a9efdc2d8e201
dist/2025-12-09/rustc-beta-loongarch64-unknown-linux-gnu.tar.gz=af6be7ca8e4b43b87a754bc63be169b392e4fdbccb9217fe19960bdd87278703 dist/2026-01-22/rustc-1.93.0-loongarch64-unknown-linux-gnu.tar.gz=967c3973c3942097d54a7e1c7ab399f697fbaf9642bcfffd96df3083d8554bef
dist/2025-12-09/rustc-beta-loongarch64-unknown-linux-gnu.tar.xz=caa7e16901ff848b2083ccf5b684c9e1975da3dad46bbbd72b127c9420508f57 dist/2026-01-22/rustc-1.93.0-loongarch64-unknown-linux-gnu.tar.xz=d5762adb6e1dec7e6af4a7347cde45c12fec3f0ceba8a05aff6ef00390105739
dist/2025-12-09/rustc-beta-loongarch64-unknown-linux-musl.tar.gz=8652e6f5e68146d3483dd7baa8e215b7ec003a626547cf087a541c78ed98fd67 dist/2026-01-22/rustc-1.93.0-loongarch64-unknown-linux-musl.tar.gz=3d58088074c4d1f45cc971cc0c6cb320ea933a91d74ac83fd6ced22393b3106f
dist/2025-12-09/rustc-beta-loongarch64-unknown-linux-musl.tar.xz=d3853bfd0bfdbe96996764f27451154c0f0b4b135728c25a2be48b7ce069440d dist/2026-01-22/rustc-1.93.0-loongarch64-unknown-linux-musl.tar.xz=30ad2f82dc59bc8556e4c4862c80d146bbdc849bd7d261f98fd4b436a41873ed
dist/2025-12-09/rustc-beta-powerpc-unknown-linux-gnu.tar.gz=828e8cc488d70fc966bcc1196b019b74a7610cbc4b0947b04eea684da8e77f35 dist/2026-01-22/rustc-1.93.0-powerpc-unknown-linux-gnu.tar.gz=e55c3eb33905f69eef82954e5be9b54382d6a4e5a7ec3efa64c34164f021f8e9
dist/2025-12-09/rustc-beta-powerpc-unknown-linux-gnu.tar.xz=47bdc9313660ca1a29525155f3a7773ffa4021219dac5cfd309f5ec692ab1821 dist/2026-01-22/rustc-1.93.0-powerpc-unknown-linux-gnu.tar.xz=b31f5408c198756b57f0491961cf6dc84bfd96ff1c73627798015f27ecea6ef5
dist/2025-12-09/rustc-beta-powerpc64-unknown-linux-gnu.tar.gz=f7b8dc496326a38d47f9769631b9893c803acb21cf7021e7ee200e81bffd0f2c dist/2026-01-22/rustc-1.93.0-powerpc64-unknown-linux-gnu.tar.gz=8f9a9729b772596e03d479dc24d3718fdf529fd4079bc161c1e27b8b28f57c66
dist/2025-12-09/rustc-beta-powerpc64-unknown-linux-gnu.tar.xz=1d4ec35a9ee7cad99458db77f8787dee2c90556e56a21c8681984a09798f1e7f dist/2026-01-22/rustc-1.93.0-powerpc64-unknown-linux-gnu.tar.xz=b483c5324966b7138fb3f6180f7e4a2e9a5162179a83e58bb52d1ee5036009ee
dist/2025-12-09/rustc-beta-powerpc64le-unknown-linux-gnu.tar.gz=8dad2a1f7f9667270fb7e8d0917c77b251f2079251e46bf012d640754a46e0a6 dist/2026-01-22/rustc-1.93.0-powerpc64le-unknown-linux-gnu.tar.gz=ab45282be89f2ed46c3b3776b5743040e573fcae0831f35bb1b9ededed8ddceb
dist/2025-12-09/rustc-beta-powerpc64le-unknown-linux-gnu.tar.xz=259c2b9add30c03a6f91c4aaebfe4f052f0342bcc32df79af1121316ee5aafc8 dist/2026-01-22/rustc-1.93.0-powerpc64le-unknown-linux-gnu.tar.xz=fa0705079ee9eeaeee2e4f12a3ffb35ccc3d4334cccd3eb3106a3f59b96e88aa
dist/2025-12-09/rustc-beta-powerpc64le-unknown-linux-musl.tar.gz=01b1b5bc19b82caa031c0ff2fe4d9d4ef27aa17a918ea15853c3680f3d1eea8a dist/2026-01-22/rustc-1.93.0-powerpc64le-unknown-linux-musl.tar.gz=07e553c59fed0a30f7c45bd78ec9b81a37f25b55911f00c0ea15c73688791a9f
dist/2025-12-09/rustc-beta-powerpc64le-unknown-linux-musl.tar.xz=4a410356d19e7e5b46a276c0ed015df3afa2af8aa5837feba11149212a4b4208 dist/2026-01-22/rustc-1.93.0-powerpc64le-unknown-linux-musl.tar.xz=c4a11d283530db627bd83ffc33c00b7aaf56cce54974686d03b863c95adcd323
dist/2025-12-09/rustc-beta-riscv64gc-unknown-linux-gnu.tar.gz=a0530a7ca051e0fd0ae303f479f0962e0d3bd0065be3cc42bf29272322ce4893 dist/2026-01-22/rustc-1.93.0-riscv64gc-unknown-linux-gnu.tar.gz=837ec1d4fe432069d17a62f7f3c9baa288d61ff0ae4bba488208d3f26c242550
dist/2025-12-09/rustc-beta-riscv64gc-unknown-linux-gnu.tar.xz=1e1ab9ce2619c6430e785c00cccf689fde5c20b4b81dd6281deba15615cdf9fe dist/2026-01-22/rustc-1.93.0-riscv64gc-unknown-linux-gnu.tar.xz=804b19ccf61e8aec4c0c6d3f115961982b155d96925eb34b651aa7f6493a2e8b
dist/2025-12-09/rustc-beta-s390x-unknown-linux-gnu.tar.gz=bc0e4f9ba5f99fc9b849e95901140957d58cda12e980edf84a6a05544a32c80b dist/2026-01-22/rustc-1.93.0-s390x-unknown-linux-gnu.tar.gz=cb64c60bc5ff194451fc72c6c8303c2fe1049e329e9628586439af23a306b3fd
dist/2025-12-09/rustc-beta-s390x-unknown-linux-gnu.tar.xz=9ba83613dab2ffa00b581f5927abfb8398e3854fe21d2b685830ff57f609324f dist/2026-01-22/rustc-1.93.0-s390x-unknown-linux-gnu.tar.xz=756c25d32d6539a7485a278216f3058c1571fd503c638e1179b74a68611dd1a4
dist/2025-12-09/rustc-beta-sparcv9-sun-solaris.tar.gz=8ed8158201b4f55d68bb5e89bcea83763803c5b592864495c5b614bea1cf717a dist/2026-01-22/rustc-1.93.0-sparcv9-sun-solaris.tar.gz=b57d69c4ae213526b7a57344100aff507b46bf2e9fb80363f019037f9f501886
dist/2025-12-09/rustc-beta-sparcv9-sun-solaris.tar.xz=51e54052960f878e4e8d028917db9b02c0650350d50e537cd873c0c812a85957 dist/2026-01-22/rustc-1.93.0-sparcv9-sun-solaris.tar.xz=d7a1196a2ac268bc4b946d1e1f85e73dcd38663d92dbc1b3991a66de4221a2e1
dist/2025-12-09/rustc-beta-x86_64-apple-darwin.tar.gz=ff615c109d69ff4beb505968210112b1307893824f410b3b461b9c3236b082b3 dist/2026-01-22/rustc-1.93.0-x86_64-apple-darwin.tar.gz=99b91f9c93686cb2591a4e23d233e719dd05f428da3c4ab579cf60a6dba69f5d
dist/2025-12-09/rustc-beta-x86_64-apple-darwin.tar.xz=0a60addd526bd5964ae9710692a472edf6b9af88cbe6e671764dcd0fa7a785db dist/2026-01-22/rustc-1.93.0-x86_64-apple-darwin.tar.xz=594bb293f0a4f444656cf8dec2149fcb979c606260efee9e09bcf8c9c6ed6ae7
dist/2025-12-09/rustc-beta-x86_64-pc-solaris.tar.gz=e2c75e77f4f2582b2d3e7336daae2dd06a8d3a14de2ca954d8b65dc809cd774b dist/2026-01-22/rustc-1.93.0-x86_64-pc-solaris.tar.gz=5d29daa2a220a90076c0611bab5c3398ae8bacbe985fd4aed7368cce882b6bf6
dist/2025-12-09/rustc-beta-x86_64-pc-solaris.tar.xz=2264bc2facde878befdddc8c47c7eb795ce5b2777a1d8fa48cbf5bb81e214475 dist/2026-01-22/rustc-1.93.0-x86_64-pc-solaris.tar.xz=2e6ebe259377bace862104421326ed7e66a06056e58208df76e0f4fe6575c080
dist/2025-12-09/rustc-beta-x86_64-pc-windows-gnu.tar.gz=7e4a2a3cdfc7aa744b90a09dd6c0a98164898a7ff04c8a15ec61b91fe9efdcd7 dist/2026-01-22/rustc-1.93.0-x86_64-pc-windows-gnu.tar.gz=c4d9d6fcb991f019cdd267ecf9ccc270f95217c9fdee710a73cd727e2a786f3e
dist/2025-12-09/rustc-beta-x86_64-pc-windows-gnu.tar.xz=50b143dae27df2e923bf0d498e6ef155b95a89ad1548b6bb859e1c95fe1b9a92 dist/2026-01-22/rustc-1.93.0-x86_64-pc-windows-gnu.tar.xz=139f1f1d904198d329344726e8adb16193e18512236f5417036cc4a82dd665f4
dist/2025-12-09/rustc-beta-x86_64-pc-windows-gnullvm.tar.gz=6e71c2b948b20319ef43242af469e241ce9567586fd6d872fd85751c8db1ca16 dist/2026-01-22/rustc-1.93.0-x86_64-pc-windows-gnullvm.tar.gz=fd814b9fda3d1d19006631a61c64b15ec0afc39d2e22ee3030ad2c72b8b9b3ba
dist/2025-12-09/rustc-beta-x86_64-pc-windows-gnullvm.tar.xz=a9b72e9897a93981b9c9f166f1f4072560c1eb4f9e0f5a5a6c2eb0ab742bd020 dist/2026-01-22/rustc-1.93.0-x86_64-pc-windows-gnullvm.tar.xz=0cdaa8de66f5ce21d1ea73917efc5c64f408bda49f678ddde19465ced9d5ec63
dist/2025-12-09/rustc-beta-x86_64-pc-windows-msvc.tar.gz=e975eed4f35220c1cd0b7e19c2ad48ce9f57cb2d07b90a2331a16e2502d1289e dist/2026-01-22/rustc-1.93.0-x86_64-pc-windows-msvc.tar.gz=e976526e98149554ee2896135545c48b71a4343d6ca394bccaab08a874c4dd6d
dist/2025-12-09/rustc-beta-x86_64-pc-windows-msvc.tar.xz=11a8f8d49f946bf4e1ebcf9e21ccc8d75de627c84776aba1041082f676cb029c dist/2026-01-22/rustc-1.93.0-x86_64-pc-windows-msvc.tar.xz=fa17677eee0d83eb055b309953184bf87ba634923d8897f860cda65d55c6e350
dist/2025-12-09/rustc-beta-x86_64-unknown-freebsd.tar.gz=94c7e7b64d00c24ffe18cd5b1c96ad9d55019acc98e9ad23d798974e7936780c dist/2026-01-22/rustc-1.93.0-x86_64-unknown-freebsd.tar.gz=2c8f222de8a36fab09a2630479ce71019eb8975c3cb0a83c09f4ba77755a898e
dist/2025-12-09/rustc-beta-x86_64-unknown-freebsd.tar.xz=ef33215967034bce1217f5587d9454dba543260ff38c2c80f8ecb1292f9c063b dist/2026-01-22/rustc-1.93.0-x86_64-unknown-freebsd.tar.xz=c8c69c06c34aac92b5fe62b42ac475433cb15f0afe46c46f40080240bb4053c3
dist/2025-12-09/rustc-beta-x86_64-unknown-illumos.tar.gz=45e2f150ac9a4aee63437d7621b5ad8782c4248f8dda30062b1a001a9f9c7a32 dist/2026-01-22/rustc-1.93.0-x86_64-unknown-illumos.tar.gz=794deff12ce5be5d99fc8470e34c5ee131bf76d15ab920d7a2fc1e3258e2fe89
dist/2025-12-09/rustc-beta-x86_64-unknown-illumos.tar.xz=e0196e2bccbad5d1e520f0e711a8d79ebc6296f8946421fc80c7c1b51115e9bd dist/2026-01-22/rustc-1.93.0-x86_64-unknown-illumos.tar.xz=321508ffd28e3c938c6b3d2c6f2f8f7f45fc1b7e0c1d3bc8b1e72e2d79b52083
dist/2025-12-09/rustc-beta-x86_64-unknown-linux-gnu.tar.gz=2d14a960636bae79f0ace6ae5b91ba2a07f8897512a5e7ce9b72601d4c0aabc6 dist/2026-01-22/rustc-1.93.0-x86_64-unknown-linux-gnu.tar.gz=9e35d0d8251db1fff243fe36e417263f7dd48c9ec7c61f8c13560f7e21a37f46
dist/2025-12-09/rustc-beta-x86_64-unknown-linux-gnu.tar.xz=d80990444597aeef8a956bb71ed468d874f1b47316e51afafe509442803ebae4 dist/2026-01-22/rustc-1.93.0-x86_64-unknown-linux-gnu.tar.xz=00c6e6740ea6a795e33568cd7514855d58408a1180cd820284a7bbf7c46af715
dist/2025-12-09/rustc-beta-x86_64-unknown-linux-musl.tar.gz=e6bcc1ad145b9154560ef41d0e664dbf133980226983c334f5c3ffe1350892ae dist/2026-01-22/rustc-1.93.0-x86_64-unknown-linux-musl.tar.gz=c2779010b3bd1fbc1ef6e19a9ac5b08185619d9d09011c86b76685542a925568
dist/2025-12-09/rustc-beta-x86_64-unknown-linux-musl.tar.xz=1dbe4c0222aee37c45b8bb53dd563a56c4f7f198e97b25e22ea5590bb4bc47c2 dist/2026-01-22/rustc-1.93.0-x86_64-unknown-linux-musl.tar.xz=24a59e5c6807b07202d4c8021f505d46aa6504897d0c8e7ecba2b5f0f221afd8
dist/2025-12-09/rustc-beta-x86_64-unknown-netbsd.tar.gz=618cbe2bd888669e7b0ee73b127f4a68bc1a30976ae41cfebbe806be794eb143 dist/2026-01-22/rustc-1.93.0-x86_64-unknown-netbsd.tar.gz=8912e62e25ea50d361bb7c851fb682a4e4e8cbde58e7b4984fc3287218310215
dist/2025-12-09/rustc-beta-x86_64-unknown-netbsd.tar.xz=ecfde3d55928deeeabe49e31a5263ade8119897f9f82aafe594406d5ec2fc1a9 dist/2026-01-22/rustc-1.93.0-x86_64-unknown-netbsd.tar.xz=09ca5407d563008188be87df4fea33965d7f3a338c212eafa98c20f0622df26c
dist/2025-12-09/rust-std-beta-aarch64-apple-darwin.tar.gz=71485c941dacf6a9f2acebfb7506eca5802aba23fc941208d1563fd0a6b74876 dist/2026-01-22/rust-std-1.93.0-aarch64-apple-darwin.tar.gz=154c3f22a7d4ce6a47f02e2d7817115f11b1f8c0e191b55b59099324d402eed2
dist/2025-12-09/rust-std-beta-aarch64-apple-darwin.tar.xz=2bec6cbb4c6249fa5a5384ef67dfed9c5b2149589efb086f18b675eca472c255 dist/2026-01-22/rust-std-1.93.0-aarch64-apple-darwin.tar.xz=8603c63715349636ed85b4fe716c4e827a727918c840e54aff5b243cedadf19b
dist/2025-12-09/rust-std-beta-aarch64-apple-ios.tar.gz=62701f83e7d374f318756720f6a7ca14a9dd94935df92bb635da718a724e91a9 dist/2026-01-22/rust-std-1.93.0-aarch64-apple-ios.tar.gz=0d391f9871d2948170cab2efa9b263a317850c227e5495ade7967b628b7aef6d
dist/2025-12-09/rust-std-beta-aarch64-apple-ios.tar.xz=b596278416039b70cdca751482255b16708bde9ad008b08a49362456231904d6 dist/2026-01-22/rust-std-1.93.0-aarch64-apple-ios.tar.xz=49228e70387773a71cf144509baf39979ab2cdb604340fff64b483ab41f61617
dist/2025-12-09/rust-std-beta-aarch64-apple-ios-macabi.tar.gz=38bea00e6057cd52d98b7a707f36d091877b8a8dc38c4aa3e8e08a57e95caa75 dist/2026-01-22/rust-std-1.93.0-aarch64-apple-ios-macabi.tar.gz=4e71ec877b91ff37b0756a1ce5bfdeb216d8d9ef0b08840b2671fe43bd2b36bf
dist/2025-12-09/rust-std-beta-aarch64-apple-ios-macabi.tar.xz=45a01da54adc3c02e0e5837ca30a1e5d2f284958d6622d048c2b76442026ceae dist/2026-01-22/rust-std-1.93.0-aarch64-apple-ios-macabi.tar.xz=24d47e615ce101869ff452a572a6b77ed7cf70f2454d0b50892ac849e8c7ac4d
dist/2025-12-09/rust-std-beta-aarch64-apple-ios-sim.tar.gz=40b32df24c2b916d829868fcf7694c9cc00a5853edf8addf586ed346ee29e2bc dist/2026-01-22/rust-std-1.93.0-aarch64-apple-ios-sim.tar.gz=d63bbbd5b646d25ecc78f18a6724d549a8436461be767b717250463212386106
dist/2025-12-09/rust-std-beta-aarch64-apple-ios-sim.tar.xz=7d9683d5614f0fa59641e299d169275f7e26d1ab8e4c1510216eb15307e6c63f dist/2026-01-22/rust-std-1.93.0-aarch64-apple-ios-sim.tar.xz=d1d5e2d1b79206f2cc9fb7f6a2958cfe0f4bbc9147fda8dbc3608aa4be5e6816
dist/2025-12-09/rust-std-beta-aarch64-linux-android.tar.gz=97ddf7807abbd7494c9c0053a6d1b6ef9b5a02329a572eb6ac56c58843d6e558 dist/2026-01-22/rust-std-1.93.0-aarch64-linux-android.tar.gz=29afb16bf8d7117ec7fb69ace6ad5ee4f2cb963f03e8945fd6dde0c1d643f10f
dist/2025-12-09/rust-std-beta-aarch64-linux-android.tar.xz=b971a8c8a44a3fa048752e23232335e7896e3c4ef2cdf8636a3d3504e2a8ddaf dist/2026-01-22/rust-std-1.93.0-aarch64-linux-android.tar.xz=59c16648d9a29c07f63a1749cae6b73078f20fef1206c5e0f81c784ae8796cdb
dist/2025-12-09/rust-std-beta-aarch64-pc-windows-gnullvm.tar.gz=d3acb91f5bb97c0272c2d61b2abc6ba0a717808c89b201273f4b8a6a9aca08ff dist/2026-01-22/rust-std-1.93.0-aarch64-pc-windows-gnullvm.tar.gz=9661c6df1e9742e2d074213055e44ab642a476d46148cdcd1dc0d42cb0ee72ae
dist/2025-12-09/rust-std-beta-aarch64-pc-windows-gnullvm.tar.xz=3cc8c607b8289748cec9b3470ca37fab63be4f5a48cf3fb3dd48c5e7983b3682 dist/2026-01-22/rust-std-1.93.0-aarch64-pc-windows-gnullvm.tar.xz=9a270d50eaaacc7cb1925565a8b65ff831686aa1592b7034bb9848d7f2a9738d
dist/2025-12-09/rust-std-beta-aarch64-pc-windows-msvc.tar.gz=d65621d42ac27885ab47ae95cc5feae4aa6ededc61b7d3206f9ddf930da08d41 dist/2026-01-22/rust-std-1.93.0-aarch64-pc-windows-msvc.tar.gz=e83e712cd4351193988719b3495758a60217bec560815e0e353e9f2a98b1e87f
dist/2025-12-09/rust-std-beta-aarch64-pc-windows-msvc.tar.xz=8f96ad5facfb3f4b03bb84fb49b014505795764dbb49a66497c753bdbcea6fa1 dist/2026-01-22/rust-std-1.93.0-aarch64-pc-windows-msvc.tar.xz=f7bd3d25baf3643c8769b8c4d2e6cde45bb25042fac698e0daf19fc9f58f8568
dist/2025-12-09/rust-std-beta-aarch64-unknown-fuchsia.tar.gz=e5ae9120a770ee03254ea202031d11cc5d0f06260c3818334d4afd586ba619a0 dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-fuchsia.tar.gz=15341546e44f130a98fa329c3029cfdb4e308bfa219f9a11ba4555718e0d727b
dist/2025-12-09/rust-std-beta-aarch64-unknown-fuchsia.tar.xz=1fb8e830cf4dfa2df68b3d730cb709e4225fe13002e4bf768d875be7c330b892 dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-fuchsia.tar.xz=d1e46c443a9607603c810942e99a95a1acfb105d1312426b468ff68febaabf77
dist/2025-12-09/rust-std-beta-aarch64-unknown-linux-gnu.tar.gz=21d61a5e4e7a84d87b8d371900300b0a9bc4afbfd1b8fc6e6500be338a8f40cf dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-linux-gnu.tar.gz=e10aaf81c552ffe09f21e01492daa4d0b15217b31b4b7c1d4195cf98a3184380
dist/2025-12-09/rust-std-beta-aarch64-unknown-linux-gnu.tar.xz=82783445c68a553bfe1cdb25161073c03deb2a9733e5811f29ff03d86879df56 dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-linux-gnu.tar.xz=84e82ff52c39c64dfd0e1c2d58fd3d5309d1d2502378131544c0d486b44af20a
dist/2025-12-09/rust-std-beta-aarch64-unknown-linux-musl.tar.gz=69855bba4ddd7e77fadf35cb2fb3e4c6ae9684a3ed68c7b6a949d03b3a2ba2dd dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-linux-musl.tar.gz=593a4de1d973757d050bbf79787d18033cdac825aa869c15895f9f9ad5efc09c
dist/2025-12-09/rust-std-beta-aarch64-unknown-linux-musl.tar.xz=37ccb03697edc787ab7d07e7e77ee328b8dcae8ce5d9d328dcda28489bb4bf6e dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-linux-musl.tar.xz=bab885a87da586040064064bd1c314d707164d8dc0fefee39d59be7f15ce6f7d
dist/2025-12-09/rust-std-beta-aarch64-unknown-linux-ohos.tar.gz=81f3a854fb1af8271abbf4332993b755d3746ad3878066544a0187f80d0d2ab3 dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-linux-ohos.tar.gz=ef677e6d63ce55893f63024ecadd04e34d2cf61bced11d417590bcc13f61b9cb
dist/2025-12-09/rust-std-beta-aarch64-unknown-linux-ohos.tar.xz=054666e60b05826046760bce5a1f6b6aa8991205c912cf4faa6630e98808e3a7 dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-linux-ohos.tar.xz=1bef8b222baf162e06de19b68944649fd7ee335f8e71d2a6e61d63cb3c89bcda
dist/2025-12-09/rust-std-beta-aarch64-unknown-none.tar.gz=e382fedc0bedfaea97ab7d8e2228fe3d437143812fffff224ae14fc434059157 dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-none.tar.gz=176cb9aaa7445e8f7d5e3085e0babe6cec9102106c2663a803e4e9c9fed7ca3e
dist/2025-12-09/rust-std-beta-aarch64-unknown-none.tar.xz=72aec0eb4181535516597e859fd8f10b2216cedec0659b6d322ee353226e5623 dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-none.tar.xz=3cf1aa3309a8903e89bb20537113155ca4e88844c8cc9c34c43865d5ce5a6192
dist/2025-12-09/rust-std-beta-aarch64-unknown-none-softfloat.tar.gz=2e4e1fb234fe8734d884bc180790632be460cedb35fefabf453be6efaca39aff dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-none-softfloat.tar.gz=5c960eabfb2ac4b0a05e46275f98c7770b0b0950a3df69433630f6e761895b99
dist/2025-12-09/rust-std-beta-aarch64-unknown-none-softfloat.tar.xz=f8aa1f77cbcb85def86b725263a70f4d714cbf8c838a563a4fc272aacc2f3ba6 dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-none-softfloat.tar.xz=0f6305daf658a7d6c0efd075859cb60432c13b82e7ecee0d097074e4e1873391
dist/2025-12-09/rust-std-beta-aarch64-unknown-uefi.tar.gz=65ff64a57050f3be4b64f49c630aca871b448db30ffad76e601cec5306cbef8f dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-uefi.tar.gz=5ade98a1ce71115209b10d68041108210eee35e313715d9a5041c6124f5f5462
dist/2025-12-09/rust-std-beta-aarch64-unknown-uefi.tar.xz=261f0af0b1b991f59235b0dc05745b51641d649b1b59af7f5f6469ba0a273b0e dist/2026-01-22/rust-std-1.93.0-aarch64-unknown-uefi.tar.xz=317b0af124e0e124bd76b8e5a2fb0c600279177d0bed9c841a3202df2d0f7f8e
dist/2025-12-09/rust-std-beta-arm-linux-androideabi.tar.gz=c8b5c64541286f0b0a9675083bf2c37fdd39577b362efac149cd261bc19fbdc6 dist/2026-01-22/rust-std-1.93.0-arm-linux-androideabi.tar.gz=da5ebcc9ead683f84c932d866ae2d78bfa2ff7f8c38e20948a265f52184f4c4e
dist/2025-12-09/rust-std-beta-arm-linux-androideabi.tar.xz=4d43c454ea36de0dc391de15d6cc54f0e24982d5b6f6b0574775b68317003c03 dist/2026-01-22/rust-std-1.93.0-arm-linux-androideabi.tar.xz=d010b26fc88e28a93cc94ea6ca5d2c90efed7f9846fae1e40db7c183b50575e2
dist/2025-12-09/rust-std-beta-arm-unknown-linux-gnueabi.tar.gz=acdb7e966699acafa86b4873dfda34724fb53f2688ff3a76edf4c0f638443648 dist/2026-01-22/rust-std-1.93.0-arm-unknown-linux-gnueabi.tar.gz=47572210068c9b6f9170f4e2dc797930792ef1d50907918bb7956535454a2eef
dist/2025-12-09/rust-std-beta-arm-unknown-linux-gnueabi.tar.xz=fa2d71b3d23572172fcede867b6ffe95135576c696ad2b7f7642bc97d9cb59f7 dist/2026-01-22/rust-std-1.93.0-arm-unknown-linux-gnueabi.tar.xz=deedc54ffce099781986eed4aec0843866f1bf72904ab0f5cdb115b9c7af540e
dist/2025-12-09/rust-std-beta-arm-unknown-linux-gnueabihf.tar.gz=c07bb539390c033df181ece6cd12ff3e9495719d7ea24e8410815436c8d43d4b dist/2026-01-22/rust-std-1.93.0-arm-unknown-linux-gnueabihf.tar.gz=e6eafb25c01f80523c17e9c8f32db26dc525a081b96be44a9736a40284b6820b
dist/2025-12-09/rust-std-beta-arm-unknown-linux-gnueabihf.tar.xz=d1bfaa712e3687f1a24e0733666e6f78593b2ec66e7edd4a90183e15afacc38f dist/2026-01-22/rust-std-1.93.0-arm-unknown-linux-gnueabihf.tar.xz=89e44e042bc1241b3999191c385fec8433d60a5a9fc373583cd3b2d9408d5074
dist/2025-12-09/rust-std-beta-arm-unknown-linux-musleabi.tar.gz=19fc80ca30e77eace2e2c0d37ebe93efe5423ab08852832c18e5be5f9a49b994 dist/2026-01-22/rust-std-1.93.0-arm-unknown-linux-musleabi.tar.gz=157645f4ba2f26d7f87aee96f693ff02a44aa64b100ddbc044c4c8fb873d7558
dist/2025-12-09/rust-std-beta-arm-unknown-linux-musleabi.tar.xz=046322601ea0962b6ca9587731a1d3270fd229d18161f02c056bfe882c77481d dist/2026-01-22/rust-std-1.93.0-arm-unknown-linux-musleabi.tar.xz=641a17acb5104637d4dc9c4be022a7927ae721eb08759fea96ecfaf5c60be4dc
dist/2025-12-09/rust-std-beta-arm-unknown-linux-musleabihf.tar.gz=0689439e1518597b6ebb5e1c0e4bcb61a741c0e4f540c03fdc92a5abdb177608 dist/2026-01-22/rust-std-1.93.0-arm-unknown-linux-musleabihf.tar.gz=750d527b726c17a003a0597d866a02285ce4d807b2f7f68eaf64fca38b5b562b
dist/2025-12-09/rust-std-beta-arm-unknown-linux-musleabihf.tar.xz=00c3dbc2f78f4e372557b59004139708347c543c61c485d8ef6f673840482b01 dist/2026-01-22/rust-std-1.93.0-arm-unknown-linux-musleabihf.tar.xz=94a92b454bf3b0aab046b257f555ccb08f16dc2dc281bea6a4ef17ea8f58cbdc
dist/2025-12-09/rust-std-beta-arm64ec-pc-windows-msvc.tar.gz=597fb79132dcc86f20b52a7e3694e2aca4e0b1310f2936ec1eda102f0dbff0b4 dist/2026-01-22/rust-std-1.93.0-arm64ec-pc-windows-msvc.tar.gz=02b9473e43de23af32c1cb61c78f110b7c38f558e4b97258a937a4e0b11bfb6d
dist/2025-12-09/rust-std-beta-arm64ec-pc-windows-msvc.tar.xz=a2e4f7a5026ebd05fed1aa1a925347db043bb03afe5e16cac09cbca6c6ca88e0 dist/2026-01-22/rust-std-1.93.0-arm64ec-pc-windows-msvc.tar.xz=b25085676e384d7a7d1fb195cbaf9717a20dcbf2ed984b78c8e48ffd79e203da
dist/2025-12-09/rust-std-beta-armv5te-unknown-linux-gnueabi.tar.gz=476a217d51c05c3b192bf668db05270e2ad48004635a29194eeb1268c6cf86fe dist/2026-01-22/rust-std-1.93.0-armv5te-unknown-linux-gnueabi.tar.gz=9fbc7733c1c358197b9de1128643a7c01a4d327185ea9294acd8818f40eb87d6
dist/2025-12-09/rust-std-beta-armv5te-unknown-linux-gnueabi.tar.xz=12a59c08179d0bdbf6811b90aee922b5744a1cc8110ef04db71eb8315e950208 dist/2026-01-22/rust-std-1.93.0-armv5te-unknown-linux-gnueabi.tar.xz=3129b48033182bae2bda3ae7518307ba48fb99b52eaed07a049349b9e09cd23f
dist/2025-12-09/rust-std-beta-armv5te-unknown-linux-musleabi.tar.gz=0acdd625672417f897e3381383e2e7982d4b1d29ac418bd4fd864a969532693f dist/2026-01-22/rust-std-1.93.0-armv5te-unknown-linux-musleabi.tar.gz=36b7ee91d7ced9a32b3e78ff7fd5103d110fbb4ba810cdcc6d13158b198a8f79
dist/2025-12-09/rust-std-beta-armv5te-unknown-linux-musleabi.tar.xz=515626a896f9d9bc1fcc6ec33adda205b609fe6a41c1462fec0e74bf3c50ff75 dist/2026-01-22/rust-std-1.93.0-armv5te-unknown-linux-musleabi.tar.xz=f75b80d82f0a7204ddb0b79bba685679618ae25085d177f01cd606b2d883f925
dist/2025-12-09/rust-std-beta-armv7-linux-androideabi.tar.gz=167e74b6f5cb8283ecb53e596c1728d8f91846cbf1b30c7d640dee9b20d433b3 dist/2026-01-22/rust-std-1.93.0-armv7-linux-androideabi.tar.gz=d1443f5efe56f05b0a9660aa90204343c8d7d6903da9aa58465c816b0125b003
dist/2025-12-09/rust-std-beta-armv7-linux-androideabi.tar.xz=c2e69b04d4cd86a83aa9b9c3ec37adf3cda2d06c1a4ec977068d216a48681d2a dist/2026-01-22/rust-std-1.93.0-armv7-linux-androideabi.tar.xz=e295f26bb219a7a4ebb5c2e07fedfebb075be6830aaf910c742a57cd21018b6d
dist/2025-12-09/rust-std-beta-armv7-unknown-linux-gnueabi.tar.gz=91866669e8946c1949aa48781df52854b5fe537026f9a93c9adf67fd2189ae19 dist/2026-01-22/rust-std-1.93.0-armv7-unknown-linux-gnueabi.tar.gz=1b8bc1a666612a542066f10c5eb5762505a163d5ec32600827cb08c59c2a5d29
dist/2025-12-09/rust-std-beta-armv7-unknown-linux-gnueabi.tar.xz=95633a5ba9bc81093b56f5c318d97c50a27f0d553b7e878f039a3a12df4c7e4a dist/2026-01-22/rust-std-1.93.0-armv7-unknown-linux-gnueabi.tar.xz=8a7bd5227c78294864095edb07837ff32ff6c07cd1a4a418f9bcc3ebd7e79874
dist/2025-12-09/rust-std-beta-armv7-unknown-linux-gnueabihf.tar.gz=c9746beaf4896937c708143270278c0e6b4b40d7155cf5746443f0f03fee705f dist/2026-01-22/rust-std-1.93.0-armv7-unknown-linux-gnueabihf.tar.gz=f5fd4283f9c6cd8dde21c75f8a7d4f6c2788613dca495b4383a9ca5822b7662e
dist/2025-12-09/rust-std-beta-armv7-unknown-linux-gnueabihf.tar.xz=defaafa063c1c57bb5f9ff0320a1f26e4dc7bc626ac31e2d028ef16c81fa3301 dist/2026-01-22/rust-std-1.93.0-armv7-unknown-linux-gnueabihf.tar.xz=f015f9b2d588454a9dc62942ab2e800d82c602e4eab6f89f8213419491bcd203
dist/2025-12-09/rust-std-beta-armv7-unknown-linux-musleabi.tar.gz=630af0d305dc441dfa2c04ede30f5d11d154ee04be72f6507f321123ed6bc741 dist/2026-01-22/rust-std-1.93.0-armv7-unknown-linux-musleabi.tar.gz=8a8ce606a67503523d0ca3a4193d07220dec96f4384eb600f197b50ec4821db0
dist/2025-12-09/rust-std-beta-armv7-unknown-linux-musleabi.tar.xz=b875e2f68624a8149115a1e86b66a279931305816efce81b005ef0479c898528 dist/2026-01-22/rust-std-1.93.0-armv7-unknown-linux-musleabi.tar.xz=d15d24c9fb7c15243e1341cea53590002df271060118914bd0efcda8ccbd0731
dist/2025-12-09/rust-std-beta-armv7-unknown-linux-musleabihf.tar.gz=6f751bf3da85ab19ace00fdac387a60ee6f2ce4b55f5b52efab2a7a7e0d679a7 dist/2026-01-22/rust-std-1.93.0-armv7-unknown-linux-musleabihf.tar.gz=52df412ac1d6d06b42a153e5520ff42eeb18ed3856bcfe9536c084ec85cf2d75
dist/2025-12-09/rust-std-beta-armv7-unknown-linux-musleabihf.tar.xz=b10cf3d867407de5c93c2bd65c616d0d5dcba4997c25ad396b5814af86f09d73 dist/2026-01-22/rust-std-1.93.0-armv7-unknown-linux-musleabihf.tar.xz=a2e5ec22ed35fb51a503d1e10b37447b0fa7333f079585bc0b6a2eb599de43f3
dist/2025-12-09/rust-std-beta-armv7-unknown-linux-ohos.tar.gz=98a4971ed72aad245ca31a7409ec0e33b4304ed3fe470df12b35f83642022883 dist/2026-01-22/rust-std-1.93.0-armv7-unknown-linux-ohos.tar.gz=b97bb8e0ccaee660032c6630ed5cbcc2cf2023c081dd9cea2d567b7b994c5a2e
dist/2025-12-09/rust-std-beta-armv7-unknown-linux-ohos.tar.xz=f89afd1dab7a482e0d1984fe8852b1a78b2e708d348ddce3978687190e205e84 dist/2026-01-22/rust-std-1.93.0-armv7-unknown-linux-ohos.tar.xz=f4822f4bb929ec8c01f42da9895143cebe020819ee4c2feb93df4066d3891c71
dist/2025-12-09/rust-std-beta-armv7a-none-eabi.tar.gz=5801642b53256e015e216b98e1791d9d286e8da496d8a3d0b006f4328b73c814 dist/2026-01-22/rust-std-1.93.0-armv7a-none-eabi.tar.gz=89556e573edc705be09b7515f56a46930e78d6e4fbc5f8060dc0c06a103d19db
dist/2025-12-09/rust-std-beta-armv7a-none-eabi.tar.xz=eee727983344340eab73c430a9ca66763a743c59c2e34b84d2937979e9c02801 dist/2026-01-22/rust-std-1.93.0-armv7a-none-eabi.tar.xz=911eba7c6c229aaa0c68daab1973d33d8040b2004c95f831e1eaa5b75555e916
dist/2025-12-09/rust-std-beta-armv7a-none-eabihf.tar.gz=b934350dc0ef04038d0c4cf7924f0d573f559e5925d476cee743a9a74301e953 dist/2026-01-22/rust-std-1.93.0-armv7a-none-eabihf.tar.gz=8280a25d748dd25e41753b14fbe721bfbaeb4d67e56fef6ad33281eb05e31959
dist/2025-12-09/rust-std-beta-armv7a-none-eabihf.tar.xz=46fb1485ebdb726e33e4e2cdeb260578a19ade553caba9190beb3a1ca9d190fb dist/2026-01-22/rust-std-1.93.0-armv7a-none-eabihf.tar.xz=2f34676445ba5cbe836cafb0607a83296d1302cf1096912853e2b18a3091e3a3
dist/2025-12-09/rust-std-beta-armv7r-none-eabi.tar.gz=5957cf630fbfb7e3758e151607f2b0d87736f90255822ddd37d8761582f28a58 dist/2026-01-22/rust-std-1.93.0-armv7r-none-eabi.tar.gz=1ff304cb887333b0dad51abe7bb43018b03e401973b031aa86f9273c3e9afed0
dist/2025-12-09/rust-std-beta-armv7r-none-eabi.tar.xz=63b92037e86a526c734461c02d8450c83136b05fef17e8d80e998d513bba9caa dist/2026-01-22/rust-std-1.93.0-armv7r-none-eabi.tar.xz=1630ea81ede1e2f234d11853dc54dd01bb8a5bf9a3fbd7065fc47a9fa6a7c9b4
dist/2025-12-09/rust-std-beta-armv7r-none-eabihf.tar.gz=35360bb54ca208dc4b819ec1151d99daf5a2bc7c7f31b81b24f06df1e994b644 dist/2026-01-22/rust-std-1.93.0-armv7r-none-eabihf.tar.gz=09da85b3482186f4308044466b6cb1c44b734ba56b206a1cd9636942751601e2
dist/2025-12-09/rust-std-beta-armv7r-none-eabihf.tar.xz=3bb49e862d38d34b5ac52eac27d65eb0c2913cc4d486c83004c485c1a93f36b4 dist/2026-01-22/rust-std-1.93.0-armv7r-none-eabihf.tar.xz=79288c6ad75cf49898a9ceaea9f975c44dbc215eacb3f6b6b0178de114cd4725
dist/2025-12-09/rust-std-beta-armv8r-none-eabihf.tar.gz=77c0a3b6a3d57c40012a1bc1818fafaf8b3591c6ac451ea4a05cc599da96e8b6 dist/2026-01-22/rust-std-1.93.0-armv8r-none-eabihf.tar.gz=a6716b837477708cfcdc1d86de1d9c5ec2ac3d2060f1fca227aa5c507bc8b9eb
dist/2025-12-09/rust-std-beta-armv8r-none-eabihf.tar.xz=add26a701346661f3b16d4ba1db9c8ec795c58427b5a8d1081c7a55faf3813a2 dist/2026-01-22/rust-std-1.93.0-armv8r-none-eabihf.tar.xz=7ed6e52e3f7af23622bcc50a0a693d0d4627b14fbad55c28db6af6017fd427e9
dist/2025-12-09/rust-std-beta-i586-unknown-linux-gnu.tar.gz=525031f51d2c92301692c0798b48534d2b845eba44e01f7f8e7e7ce4fb6f9379 dist/2026-01-22/rust-std-1.93.0-i586-unknown-linux-gnu.tar.gz=177ca2c16f7347281247bc4a8884e49372ca193a342014215e16b32d8ec2dbf9
dist/2025-12-09/rust-std-beta-i586-unknown-linux-gnu.tar.xz=a882f765539da05de5f8782a6bd6cccc34c5179b6b4ae845eb27a8e9a354fc82 dist/2026-01-22/rust-std-1.93.0-i586-unknown-linux-gnu.tar.xz=03534ebbd698f7580cfb08798a7451e86bd9ec46327f4b41ccf2c2f8f1998438
dist/2025-12-09/rust-std-beta-i586-unknown-linux-musl.tar.gz=0ba2fbbb2cb8aba07122bdeb8ed94e061b256d747c5ad679ddad701601d51211 dist/2026-01-22/rust-std-1.93.0-i586-unknown-linux-musl.tar.gz=67c5ad8a26f90d428961b52e8c78746cb2f9fad88391189fc262d81a3cb440f9
dist/2025-12-09/rust-std-beta-i586-unknown-linux-musl.tar.xz=5554b861765e43f530b23595622f399bc83ad04900123f366aeedad71c2e957d dist/2026-01-22/rust-std-1.93.0-i586-unknown-linux-musl.tar.xz=d0d2c4955aa8d69f3373f96fba159a618350075d11014a6fa9577f056c0199bf
dist/2025-12-09/rust-std-beta-i686-linux-android.tar.gz=039a001036cca4cd22fb42cc60777fac2e2cc9553d0987096c285efc87c53a3f dist/2026-01-22/rust-std-1.93.0-i686-linux-android.tar.gz=02c49796166762693b35f52cf6aca96f2f58936c397374c281fa3e8391a7b99a
dist/2025-12-09/rust-std-beta-i686-linux-android.tar.xz=b9ce40f48e695b60a98debff5de341a7303bb8dead8d4f33ca9d9dd0cd5d692a dist/2026-01-22/rust-std-1.93.0-i686-linux-android.tar.xz=68fd86f62dd63221717d1741210f0f5cf75da7a1e32eed5a46b1e67c9d9430e1
dist/2025-12-09/rust-std-beta-i686-pc-windows-gnu.tar.gz=34138dba519fe8d3c45326b22091e29d68c4df53c404f1ce90e8d50d9412b5c8 dist/2026-01-22/rust-std-1.93.0-i686-pc-windows-gnu.tar.gz=ae3959bc3af6c38655f0025b2fa6d93e75270426efbf33020117bc58c14e20c2
dist/2025-12-09/rust-std-beta-i686-pc-windows-gnu.tar.xz=ea604b3b0204605f8973c7b257f95c0095a549a221b5166a4fab36fde21fb4ed dist/2026-01-22/rust-std-1.93.0-i686-pc-windows-gnu.tar.xz=cb613d5d1eb245e8a1f4c0b25f93c2997cd06c1cc3fc202155f2997aebf44d4d
dist/2025-12-09/rust-std-beta-i686-pc-windows-gnullvm.tar.gz=6ff8d19ce86de968e10e8449e87528f81979e3470e5ebdbf7c1a089f4896b01b dist/2026-01-22/rust-std-1.93.0-i686-pc-windows-gnullvm.tar.gz=9a1ff7cf7400f3993be2703a34c39b1b5ddc6cea11bd31ccf33a8cca6bf2ceef
dist/2025-12-09/rust-std-beta-i686-pc-windows-gnullvm.tar.xz=1659e5a260362e596f26bc55807e8ed407c2603203ddb8201bb6993873fb1cbb dist/2026-01-22/rust-std-1.93.0-i686-pc-windows-gnullvm.tar.xz=0f713dc252a6de706519fe6cdaab6d66aaf1b555133b536cc0ab28061aa4269c
dist/2025-12-09/rust-std-beta-i686-pc-windows-msvc.tar.gz=e2afe62459e655796c3a1c61d6342dbb43eec597a322be633bf4f6ebb3e60faf dist/2026-01-22/rust-std-1.93.0-i686-pc-windows-msvc.tar.gz=7b42e9615dcd162f00ba1d2c361dffe3176f9bb49c6fe83eb2b1f8fd876d719b
dist/2025-12-09/rust-std-beta-i686-pc-windows-msvc.tar.xz=c6e8d9df8fc459d10e7382d4d324604ffbe0f4f18c595684e38c83df149eacb2 dist/2026-01-22/rust-std-1.93.0-i686-pc-windows-msvc.tar.xz=33dc1951e2dc21bd05361160d52f496eecf48e0b95df5083172698b1cd5b9a3f
dist/2025-12-09/rust-std-beta-i686-unknown-freebsd.tar.gz=12c3d52726261b7c714e69773d5eba430683f1b5daa5ebbfa728367f2073a9e3 dist/2026-01-22/rust-std-1.93.0-i686-unknown-freebsd.tar.gz=4dc4a2df868837948c5a91e7d458dbafc818966fcb3e366cc4449eadd2b67e31
dist/2025-12-09/rust-std-beta-i686-unknown-freebsd.tar.xz=6e62b81aa735b8f99668fa15741a9b20201e51abc976143b894d867160c2b9a4 dist/2026-01-22/rust-std-1.93.0-i686-unknown-freebsd.tar.xz=67718aae1381879fdcca5699051eb87e0cda3d2fd0fe75e306ba0948b79df7db
dist/2025-12-09/rust-std-beta-i686-unknown-linux-gnu.tar.gz=f55362021acbf7ce28291f535210d21807caa63811aaa2206d5ceff0e0cb789e dist/2026-01-22/rust-std-1.93.0-i686-unknown-linux-gnu.tar.gz=7d90ebc1aadd715a99ce8772c62ba5576334c40ca7add6edac904d3c532845c0
dist/2025-12-09/rust-std-beta-i686-unknown-linux-gnu.tar.xz=c1c9b90c8586805b02d74465d5293ec3d286a07e646e51cfb91505a7d407cf90 dist/2026-01-22/rust-std-1.93.0-i686-unknown-linux-gnu.tar.xz=b8b7020a61418b95c1ea26badaf8db6979778e28dbadddc81fb5010fe27c935b
dist/2025-12-09/rust-std-beta-i686-unknown-linux-musl.tar.gz=5df73e6eb6ac56c1866d123852864ae5946be38e97131e0fc23cfbc0ca807a9e dist/2026-01-22/rust-std-1.93.0-i686-unknown-linux-musl.tar.gz=34544d441f4f46d0a755903afa3ef4e75f9cd3cda363d572a1d4dc98298a783c
dist/2025-12-09/rust-std-beta-i686-unknown-linux-musl.tar.xz=cb7a6d7060cc9fbc01e54546377d3ee5076ba36b46203acb0aa44fa75ea10c15 dist/2026-01-22/rust-std-1.93.0-i686-unknown-linux-musl.tar.xz=867e54b3e89dc0b6d2b7a538a80443add6c3990bb4bd2260dea2ed98a0dc9870
dist/2025-12-09/rust-std-beta-i686-unknown-uefi.tar.gz=3616a3ed2eb921f2075b53c1b04134b1668e4b6d692d50c66ce2d37e7b96740b dist/2026-01-22/rust-std-1.93.0-i686-unknown-uefi.tar.gz=073d4bd2c36f90dcb339b2bc95af763dcd955d30e835f5097702812602d4ec36
dist/2025-12-09/rust-std-beta-i686-unknown-uefi.tar.xz=ac64b54721d8f6b218a9f8a50197b4a8d62d48bfbcd90c4bfca75117f2d359ce dist/2026-01-22/rust-std-1.93.0-i686-unknown-uefi.tar.xz=929fd484b08d5b2077ff864f5f2d24b51a78f1b6e837b9eab9d7e8fb7f31adce
dist/2025-12-09/rust-std-beta-loongarch64-unknown-linux-gnu.tar.gz=219729c628f9729d415680c688704d7561e1550b8ecd1d508b103c204ce47f35 dist/2026-01-22/rust-std-1.93.0-loongarch64-unknown-linux-gnu.tar.gz=8325296494c25812ad0f88a5fab6457926851a3390967a712a5612304fd737dc
dist/2025-12-09/rust-std-beta-loongarch64-unknown-linux-gnu.tar.xz=73ecff3074ebc9abe9efec380c75c8c717df50a08b339dd0aece8538b58daa04 dist/2026-01-22/rust-std-1.93.0-loongarch64-unknown-linux-gnu.tar.xz=4c5e2e8fcc43aced123283e3c8c99771c99750b5c7ecdf95a45258f5e26618b2
dist/2025-12-09/rust-std-beta-loongarch64-unknown-linux-musl.tar.gz=481877f357877619d950d0826197843e47204d3b57aee11b7880ce4559da5dba dist/2026-01-22/rust-std-1.93.0-loongarch64-unknown-linux-musl.tar.gz=202a30eab6e5951056c979eafa5b4c057e2fff079461825a204956f63820e1d0
dist/2025-12-09/rust-std-beta-loongarch64-unknown-linux-musl.tar.xz=60674e9092592803e2bbb2a36d8793e3c88f56187f43f289d5a63ddb10cad23c dist/2026-01-22/rust-std-1.93.0-loongarch64-unknown-linux-musl.tar.xz=cd1313bf8867ecbd921dd7b56ded685de83a0d34ec4be115059a89a9d951d317
dist/2025-12-09/rust-std-beta-loongarch64-unknown-none.tar.gz=2651b85be9f606f7d769433f716e482921cbfd39c3318fcedc0a42b35eea5bd4 dist/2026-01-22/rust-std-1.93.0-loongarch64-unknown-none.tar.gz=a71d9f745095f64b66f87961e445cd66cfa4aae9d5083ba687fd254fce305151
dist/2025-12-09/rust-std-beta-loongarch64-unknown-none.tar.xz=b304b09ff87242b78ea524c3a3c8dcf5d30d4889f7d103318df9316bc65d051c dist/2026-01-22/rust-std-1.93.0-loongarch64-unknown-none.tar.xz=26cf41d57fe45853b65efc1ae2342d15f518526710a0b91464a25090209207e6
dist/2025-12-09/rust-std-beta-loongarch64-unknown-none-softfloat.tar.gz=6a1735d9a1d6fed323a659ee39a88dcdcce72385b9b306135b7ec24c3e3f6cd0 dist/2026-01-22/rust-std-1.93.0-loongarch64-unknown-none-softfloat.tar.gz=723730ac27220d3e578ad0d497d3e485050628eecf879a3ec813387c1a17d927
dist/2025-12-09/rust-std-beta-loongarch64-unknown-none-softfloat.tar.xz=d0b1ec1cb5a97e60b3a805f60b75d06e8572d9f513310da72e7029e23449d457 dist/2026-01-22/rust-std-1.93.0-loongarch64-unknown-none-softfloat.tar.xz=0000fef51ae88cd977b78a313fdb1d5042b8aa39295e2a68a714b74c13d733e2
dist/2025-12-09/rust-std-beta-nvptx64-nvidia-cuda.tar.gz=bcf45185cb5475a179c4402f787fd6780545512f3afa33dca71c6862e83240c3 dist/2026-01-22/rust-std-1.93.0-nvptx64-nvidia-cuda.tar.gz=2cd071d17115ccb7681de40c96a31bdc9207920c53bb9df3e910ba07b4953c66
dist/2025-12-09/rust-std-beta-nvptx64-nvidia-cuda.tar.xz=aee86a13753c9be073a18dce28384921f2a5519d272802791e1d5b96ed00cd2c dist/2026-01-22/rust-std-1.93.0-nvptx64-nvidia-cuda.tar.xz=9fb8d28d5c2fa841e40ee59828e4a3a347140ae0ad930fa311866a972996d276
dist/2025-12-09/rust-std-beta-powerpc-unknown-linux-gnu.tar.gz=2da51021239ce4c3dcc36c02107f4abc70df7b157784e7c9dbb4aa9d83014e49 dist/2026-01-22/rust-std-1.93.0-powerpc-unknown-linux-gnu.tar.gz=b3ff7ded33c1e051310658473a30ee95c8c02915bfaf4f561f0625caab978915
dist/2025-12-09/rust-std-beta-powerpc-unknown-linux-gnu.tar.xz=3c54a7b9cf2318589f9d52109b0083df2eb7193f2c4d45d166c1912353ac0812 dist/2026-01-22/rust-std-1.93.0-powerpc-unknown-linux-gnu.tar.xz=e851c0fa3e726ce3f7139c5803198a1aa9723594394734ac9e373c93d92e5ea3
dist/2025-12-09/rust-std-beta-powerpc64-unknown-linux-gnu.tar.gz=49107f7d7290c8779161095c2f7218e929cf4498b04cb8717b2e04ef00d04139 dist/2026-01-22/rust-std-1.93.0-powerpc64-unknown-linux-gnu.tar.gz=1ef29411308e5b68bbb5d9cbcae0b3339fdc14e082dd2748d6c7b64166facf64
dist/2025-12-09/rust-std-beta-powerpc64-unknown-linux-gnu.tar.xz=26539ea11b3838de5c530c0462c38f31aa5ae889abd65e5eb18a8817353207e0 dist/2026-01-22/rust-std-1.93.0-powerpc64-unknown-linux-gnu.tar.xz=f729bb7d95705e12a92eb072e494b93d8822ca40aa4802ca780b0cf33b56d401
dist/2025-12-09/rust-std-beta-powerpc64le-unknown-linux-gnu.tar.gz=198b5e4b994c18e096a0c24a1ede2ef180183780f1456d3af3ef46d516fface0 dist/2026-01-22/rust-std-1.93.0-powerpc64le-unknown-linux-gnu.tar.gz=204bc683f5dfd83e0b0382232aa1c64a6d45d342f69c1137fb1c4e261aeba982
dist/2025-12-09/rust-std-beta-powerpc64le-unknown-linux-gnu.tar.xz=9c31f5d881ea898da452d628bc0a1e2e27434e8c6b3f5561e0e326024dd91d9a dist/2026-01-22/rust-std-1.93.0-powerpc64le-unknown-linux-gnu.tar.xz=d209ac698a69ca9b9035adb97a0ed8e60a08db52960198c3e03b9ee714c1a46b
dist/2025-12-09/rust-std-beta-powerpc64le-unknown-linux-musl.tar.gz=e796cbfca385de190e7b56fe4c5e8b76a22410fc1e303c55dd22db03df5eb15e dist/2026-01-22/rust-std-1.93.0-powerpc64le-unknown-linux-musl.tar.gz=fbf8cdaa9e48ec4f921667bfa5b10ec905475acfa2cd38eacbcd39b7401caac6
dist/2025-12-09/rust-std-beta-powerpc64le-unknown-linux-musl.tar.xz=056cbacb291248e2ff71e6d051119bc3b6f4157cb0e9349b4a69bc71165ee978 dist/2026-01-22/rust-std-1.93.0-powerpc64le-unknown-linux-musl.tar.xz=34b98d5eca2fdbd6ba41b0faf14160ef1ebd038f6ecaa264d318ad33263e1cf1
dist/2025-12-09/rust-std-beta-riscv32i-unknown-none-elf.tar.gz=f28ca9d74bbf52ab554f83f70e42e55f050610a49f1c57230ca65fa7088b1b48 dist/2026-01-22/rust-std-1.93.0-riscv32i-unknown-none-elf.tar.gz=a338f600e048c7330b8b899d7dbe95408165f3be3392a85a8f2c8b13ed0b3d5e
dist/2025-12-09/rust-std-beta-riscv32i-unknown-none-elf.tar.xz=3a5637edd1179cf15143250ee5e152a1e21c0eb0aa725f05f4a0a7d902b04ddf dist/2026-01-22/rust-std-1.93.0-riscv32i-unknown-none-elf.tar.xz=0971c124074e505d1b648ae606af5d9d62c5ff298e3e934bead3668f7c5429d7
dist/2025-12-09/rust-std-beta-riscv32im-unknown-none-elf.tar.gz=202251567a7cac42470061f4fbfe7e465d94838b492654256992960ba746b27e dist/2026-01-22/rust-std-1.93.0-riscv32im-unknown-none-elf.tar.gz=ea7b7dfc47e1e242df348b885af3977700d3167f6b9addc76be2b7ec982ae706
dist/2025-12-09/rust-std-beta-riscv32im-unknown-none-elf.tar.xz=faca8810a93a0c916f75643c60a6dfc873c4521647b4f2d3a288e510885f7e70 dist/2026-01-22/rust-std-1.93.0-riscv32im-unknown-none-elf.tar.xz=4d116b4fc4a768477e15c43b7083ca4fe6d283d75a26db14fd2d2a9aceb28782
dist/2025-12-09/rust-std-beta-riscv32imac-unknown-none-elf.tar.gz=226c5737b033bc3acec904593845f484d32451e2a1309250cfe6c1910013f9e7 dist/2026-01-22/rust-std-1.93.0-riscv32imac-unknown-none-elf.tar.gz=565bf3a5e3ead2333049d8193c9d9fc53175fdb7ba46bf7fd902f3db091c4aac
dist/2025-12-09/rust-std-beta-riscv32imac-unknown-none-elf.tar.xz=99f33be2da6e9da57ca13cc50cc2c27f769189cb0d28f8d4576c9d1cdd3784dd dist/2026-01-22/rust-std-1.93.0-riscv32imac-unknown-none-elf.tar.xz=3871b130e1856d86038f389ceefe2165ea5ac3a103dd331adba2b1c68524ed0a
dist/2025-12-09/rust-std-beta-riscv32imafc-unknown-none-elf.tar.gz=8ff0b8eb19a4007dad61364ec7957d25fd7778c4c2801dc324ef0638cb874a81 dist/2026-01-22/rust-std-1.93.0-riscv32imafc-unknown-none-elf.tar.gz=ee09000c8cae233f20c355ab49fb3e47c9580aa5671acb84578b46fccb763de2
dist/2025-12-09/rust-std-beta-riscv32imafc-unknown-none-elf.tar.xz=3f4d1f9cbd0db9de6cd0657bcd1844726dd268de71fba893194be76827a1c77d dist/2026-01-22/rust-std-1.93.0-riscv32imafc-unknown-none-elf.tar.xz=ea5c292cca6d28cf02ed6161fce90830ca53b9b38de7d1b229d40167eca12fb7
dist/2025-12-09/rust-std-beta-riscv32imc-unknown-none-elf.tar.gz=f455e8855d37ccf35f86964d91a62ef3fd3ba167fd722e4ac5195b6516fa8c5c dist/2026-01-22/rust-std-1.93.0-riscv32imc-unknown-none-elf.tar.gz=cf8ef09b057644fefde0eb24a79e33ac2f12f45243160796e12a1c9a42f5a30b
dist/2025-12-09/rust-std-beta-riscv32imc-unknown-none-elf.tar.xz=e698357e974ba32256663c9c0c98209f5f7303f415acce2a6f821d5af4175a20 dist/2026-01-22/rust-std-1.93.0-riscv32imc-unknown-none-elf.tar.xz=71af84c81241cbc7811b267927990be025f30d7d3dc55df4b56da7ac250f7c78
dist/2025-12-09/rust-std-beta-riscv64a23-unknown-linux-gnu.tar.gz=57af63ea6f6944a2f6a3311f2ccfbb1d77e2fcb1a8c7d2a3e0bc7db0f3c2b63f dist/2026-01-22/rust-std-1.93.0-riscv64a23-unknown-linux-gnu.tar.gz=ad079466fd8f258cd16349d4d2dfac0e31d4b379a300316757fe6ee575822ec3
dist/2025-12-09/rust-std-beta-riscv64a23-unknown-linux-gnu.tar.xz=e0779b0a0d2321967350831c1e32bb04abf555667c6666bf137f821bd1858792 dist/2026-01-22/rust-std-1.93.0-riscv64a23-unknown-linux-gnu.tar.xz=2a625e37c5b943c6c63dad7f52187572d1a65854e3950a8fa26e593f8231d711
dist/2025-12-09/rust-std-beta-riscv64gc-unknown-linux-gnu.tar.gz=eb3a1f13c27c2d8e2f016385af36b4fe7ae6a879f3440328abcd85986287a190 dist/2026-01-22/rust-std-1.93.0-riscv64gc-unknown-linux-gnu.tar.gz=0088b76482832e7fb8518ce795267800ba4299d536a0c3e2c5a7aaf471f5ec66
dist/2025-12-09/rust-std-beta-riscv64gc-unknown-linux-gnu.tar.xz=cc96484aed4fb6e0e6f5df5326ab9e6647e3d2367752d25f5717f007fcbba6a1 dist/2026-01-22/rust-std-1.93.0-riscv64gc-unknown-linux-gnu.tar.xz=b769fb6c9f3e0419a6bd0b7b79f9191bbd7a48a9f243b23eb7d135711aa6de1b
dist/2025-12-09/rust-std-beta-riscv64gc-unknown-linux-musl.tar.gz=ef8c620a7bd4aae0db5b4b6b97ccb03cb818362e782c845f191f6049e74fa222 dist/2026-01-22/rust-std-1.93.0-riscv64gc-unknown-linux-musl.tar.gz=4fbc8e091a5e83d33cbad8972a747780abe0932537f93d69076fab551012178a
dist/2025-12-09/rust-std-beta-riscv64gc-unknown-linux-musl.tar.xz=ff3405403beb6d794e0f7866c15664a8a8b927c924f99af3f03dbd2d7449eed9 dist/2026-01-22/rust-std-1.93.0-riscv64gc-unknown-linux-musl.tar.xz=a7ced602573d814d875d69022e026c1ccb520b4b2de9d430ddfd0966ec6c9643
dist/2025-12-09/rust-std-beta-riscv64gc-unknown-none-elf.tar.gz=dcd2e20de8a9064e569f59092b81385fab67456ef86d5e4b25ee39a6fcdf52d1 dist/2026-01-22/rust-std-1.93.0-riscv64gc-unknown-none-elf.tar.gz=5ad9e8085dde9c5faaddef135d727c13736eaea0af80d3901f1170f71d0708b9
dist/2025-12-09/rust-std-beta-riscv64gc-unknown-none-elf.tar.xz=39f8802cc4106bfa67b6a0cad88534af350619d66718458dbc3912b0ec12f369 dist/2026-01-22/rust-std-1.93.0-riscv64gc-unknown-none-elf.tar.xz=842f72913f288a0c76601438e67ccd88c816dbf187587928e48bf8b9ce74cbf3
dist/2025-12-09/rust-std-beta-riscv64imac-unknown-none-elf.tar.gz=a7453854d101abc9cb8ee0075c3575eabda972911def34919c5437be79326b32 dist/2026-01-22/rust-std-1.93.0-riscv64imac-unknown-none-elf.tar.gz=e8e46f49d6d159b47b032526ed6ce282a5d1b9c6ec99ae5eb1ff66efdf5bde62
dist/2025-12-09/rust-std-beta-riscv64imac-unknown-none-elf.tar.xz=d00175adb49aabe0d6a76592df30558ac745f62fa2e9a62887141a2fbc7304f4 dist/2026-01-22/rust-std-1.93.0-riscv64imac-unknown-none-elf.tar.xz=289614d707034ee6d366313dd732d9a0e421e0ed3da8a87a31385c86635ac08a
dist/2025-12-09/rust-std-beta-s390x-unknown-linux-gnu.tar.gz=1725461c9399c95aab95c7963d1f351c7b0d487a96a1d60043b3fd223cfa550c dist/2026-01-22/rust-std-1.93.0-s390x-unknown-linux-gnu.tar.gz=be8f36673130abef1952f32a4a5e6b541df2e1d6255d4461b40a8ca523203983
dist/2025-12-09/rust-std-beta-s390x-unknown-linux-gnu.tar.xz=5157be3919659a14beec82ab274b9fefcea8d7eb56d35de2c7278e21cf4e10f5 dist/2026-01-22/rust-std-1.93.0-s390x-unknown-linux-gnu.tar.xz=41a65db45a288eb3eedb187b366f132d5b3615767de7ce994b123b342ac7a848
dist/2025-12-09/rust-std-beta-sparc64-unknown-linux-gnu.tar.gz=5380c9bac880edaaf16de8e5fdfdd8deb2b645e4933c18b4928c96755ddbd604 dist/2026-01-22/rust-std-1.93.0-sparc64-unknown-linux-gnu.tar.gz=e98c5d14b0dbc93bfded03dfaed0663fb15e133ba92333a7c2e08a2834767b9f
dist/2025-12-09/rust-std-beta-sparc64-unknown-linux-gnu.tar.xz=0700f10b4c8dce6bf86df94fa7413c95596aab6b70ca89437b226b33a1b5cf22 dist/2026-01-22/rust-std-1.93.0-sparc64-unknown-linux-gnu.tar.xz=360f0a4eb41c3cd3792dbe756c0c5b5a36a5b41e3771b8a12d5bbc97bf51fdd3
dist/2025-12-09/rust-std-beta-sparcv9-sun-solaris.tar.gz=0b3e6a7b49dba2ed53a59ba733ac35094a06e2b1896b88442c72aba36f5c4038 dist/2026-01-22/rust-std-1.93.0-sparcv9-sun-solaris.tar.gz=42f8076d337fbec5f6cb37c812e302cfaddcd3e9c8efd7e0c5042257021ef8a4
dist/2025-12-09/rust-std-beta-sparcv9-sun-solaris.tar.xz=18d6ca35ca291af5873d726db3494e3f64fd57f0ca7ed5a60003f7a769f29ce0 dist/2026-01-22/rust-std-1.93.0-sparcv9-sun-solaris.tar.xz=c5259f68d27e8596b0643058d982febd0f9892ff44194d02c5eb6a5ec3c9f6e9
dist/2025-12-09/rust-std-beta-thumbv6m-none-eabi.tar.gz=227f530497142eea0e3906b517c0d93bdba0a598ed469553b7928f094dbd5673 dist/2026-01-22/rust-std-1.93.0-thumbv6m-none-eabi.tar.gz=72e22d7d96122666ed816e1ae76c8f081559c1fde6454000b40d7126d7666db3
dist/2025-12-09/rust-std-beta-thumbv6m-none-eabi.tar.xz=b68840c4e61887c593ced00dddb707f95538c72b70c1f5c729086f95604c3d89 dist/2026-01-22/rust-std-1.93.0-thumbv6m-none-eabi.tar.xz=be3f8aad5680dabb203300847dcbbabc15729170ba5c3a9c499efae4df410a9e
dist/2025-12-09/rust-std-beta-thumbv7em-none-eabi.tar.gz=ed01c5d7941e37e930e5689523a38aa1c8560b99ff90f20443a687e62cff4f51 dist/2026-01-22/rust-std-1.93.0-thumbv7em-none-eabi.tar.gz=9f67a553103793440eab77f4b57e77181a3ac1c14f42ec398c1df769fb347d0e
dist/2025-12-09/rust-std-beta-thumbv7em-none-eabi.tar.xz=c4170568ef0f5127c55544bd0ca32d5a0f8bd485218fad54129df1c9ca9d806d dist/2026-01-22/rust-std-1.93.0-thumbv7em-none-eabi.tar.xz=8f93eefca39c0da417feddab64775f862c72bbe80da11914dcf47babef8f1644
dist/2025-12-09/rust-std-beta-thumbv7em-none-eabihf.tar.gz=1bab00737022c44c767ecce5e84f4f0d995ec0358ea50d813b8397e0a4ecb6a3 dist/2026-01-22/rust-std-1.93.0-thumbv7em-none-eabihf.tar.gz=661fb22858cbeaccfb5c988b4278a1a7f41ced69ac7d6fa3360f527224854505
dist/2025-12-09/rust-std-beta-thumbv7em-none-eabihf.tar.xz=ad3fd09b465f7a8420be64e43d7ca50f83aa0aaf38fcf30593be6a067593c438 dist/2026-01-22/rust-std-1.93.0-thumbv7em-none-eabihf.tar.xz=a3b6914b966ac93dbe7531016d5f570b189445603c43614a60e0b9ea12674bd3
dist/2025-12-09/rust-std-beta-thumbv7m-none-eabi.tar.gz=fd5f2111dbaef4bee091d09df11f241e7d687fd4dbcbca87348302caef107cc5 dist/2026-01-22/rust-std-1.93.0-thumbv7m-none-eabi.tar.gz=f85a956a8a90a626ca9a99281f349465e88c513700f7950772c53e39f122573e
dist/2025-12-09/rust-std-beta-thumbv7m-none-eabi.tar.xz=ab409331b70f565143a34575745f8a25d2eceb1f878aab0c51453fd37cb3be33 dist/2026-01-22/rust-std-1.93.0-thumbv7m-none-eabi.tar.xz=cfa6227214f3ae58c06b36547c5bd6f0f6787764afa48cfa4ff3488264deab6c
dist/2025-12-09/rust-std-beta-thumbv7neon-linux-androideabi.tar.gz=845ee997875c5a78f80d967894efaf3ebce89306756166513f2a291c9de9920e dist/2026-01-22/rust-std-1.93.0-thumbv7neon-linux-androideabi.tar.gz=1bf0d9a3979720d62ce159b4a1267f800e3d90348d9dde18f39c5801f1f380f4
dist/2025-12-09/rust-std-beta-thumbv7neon-linux-androideabi.tar.xz=d47c061768ed88a67755597a4c592213f9ab65c1899086d1f6932042d9c61cc3 dist/2026-01-22/rust-std-1.93.0-thumbv7neon-linux-androideabi.tar.xz=bc0fc3cb57a7ecda8594f2d5bfafcd30694aa783a6c7532dc77a3b529f7a2c7f
dist/2025-12-09/rust-std-beta-thumbv7neon-unknown-linux-gnueabihf.tar.gz=ebc31ccfd49f8583e3c8ea5c0dc0bd1574edbc486bf3b48f8941599ce37207a8 dist/2026-01-22/rust-std-1.93.0-thumbv7neon-unknown-linux-gnueabihf.tar.gz=9e3e9a69e0e10b9db7624e39a5382fe51cad71fb11909c722269aff4efdb034c
dist/2025-12-09/rust-std-beta-thumbv7neon-unknown-linux-gnueabihf.tar.xz=79204e81dfd8a46122222ddaf24c9c0931876b8965b54523138764510d6516cf dist/2026-01-22/rust-std-1.93.0-thumbv7neon-unknown-linux-gnueabihf.tar.xz=98fef246f0eeea92addacd89441a394ead5fb7b5b0af178fa7d147b1998c58bc
dist/2025-12-09/rust-std-beta-thumbv8m.base-none-eabi.tar.gz=8f55906a80c91d1e6836513826931185de79dd5c653b8bfeb1e48e37397face3 dist/2026-01-22/rust-std-1.93.0-thumbv8m.base-none-eabi.tar.gz=7d18cd690c522cfd8a399bfd67b1ec456aa33fd610c026aa5a8102d346a2e48f
dist/2025-12-09/rust-std-beta-thumbv8m.base-none-eabi.tar.xz=2492a0f81dd79b0bf667ab068a36bd7223832ea91737c025d70da36677b74d22 dist/2026-01-22/rust-std-1.93.0-thumbv8m.base-none-eabi.tar.xz=4cbfed96e7bbae12e437c4aaded2a88aa1356fc3f90562c998a57cda6621b32d
dist/2025-12-09/rust-std-beta-thumbv8m.main-none-eabi.tar.gz=217d7f3d7b421cda819bd2723738caac2fac06c1b2e3aa3316e9a310f3ac913f dist/2026-01-22/rust-std-1.93.0-thumbv8m.main-none-eabi.tar.gz=bb74e8a08de35ee3dc1995522c55cb2dd2ab0c64d00f9285867018c3c2deb32e
dist/2025-12-09/rust-std-beta-thumbv8m.main-none-eabi.tar.xz=cca4be68e522ccfcd51b08d356d7a8e01d1a29b47a1f1ad224da08ca478fafb0 dist/2026-01-22/rust-std-1.93.0-thumbv8m.main-none-eabi.tar.xz=5f24df0aa8322561125575e365be7ad13a5bb26cf73c7fc9a3f4bcfa58e0febc
dist/2025-12-09/rust-std-beta-thumbv8m.main-none-eabihf.tar.gz=8440d1030be1a5963bdb37c690c001046d369e43ce2fbba9a5823cacc17d16f2 dist/2026-01-22/rust-std-1.93.0-thumbv8m.main-none-eabihf.tar.gz=06eb7bc7f859c051a73aff8150c97225d99d71a7112fc1f440fd6ef2086d1539
dist/2025-12-09/rust-std-beta-thumbv8m.main-none-eabihf.tar.xz=41836a990ab6fff97ca35e8b42e345179c475e87f684b166dfd1a40e65da773e dist/2026-01-22/rust-std-1.93.0-thumbv8m.main-none-eabihf.tar.xz=906b07580be2df277cced2b56bc03cb565b758c382bf3e82cbd8375b459815dd
dist/2025-12-09/rust-std-beta-wasm32-unknown-emscripten.tar.gz=ec25fd98026b960e04ffb28b5a21bd9574dda359aa0f6f905f17cdcaa45c86d0 dist/2026-01-22/rust-std-1.93.0-wasm32-unknown-emscripten.tar.gz=3695cbe0527720c1104f327c356a6015756f15f0a63fdc2a00f78c316b0f7f8a
dist/2025-12-09/rust-std-beta-wasm32-unknown-emscripten.tar.xz=ea4d554a967e035a5d03ab3098eed7d0d493ac46a75c5bdb4f8b294b98f6092c dist/2026-01-22/rust-std-1.93.0-wasm32-unknown-emscripten.tar.xz=63cdbb1ea7f353060539c00f7346f4f5fb0d6f09899cacddc1f172ef07c4af8b
dist/2025-12-09/rust-std-beta-wasm32-unknown-unknown.tar.gz=ecb7f66836e8745663c346d5de957fef96583e36053a94e3171813746edd79aa dist/2026-01-22/rust-std-1.93.0-wasm32-unknown-unknown.tar.gz=06b0afb67b970be83152b3c342ce881f4b68bea619eb6ab95fd504e92210891f
dist/2025-12-09/rust-std-beta-wasm32-unknown-unknown.tar.xz=639c98dea1d0db49b827e96404d1126e604bcfa111ea4bf6519c67232f588600 dist/2026-01-22/rust-std-1.93.0-wasm32-unknown-unknown.tar.xz=3100cb920ddac646943243f0eddd331128836b9161dd5f7b0a6c76375d39cc5e
dist/2025-12-09/rust-std-beta-wasm32-wasip1.tar.gz=436dc6f6eb37ef3c956c8f020d5eecd51034e5cf4df5940b8295d6bfbe00202d dist/2026-01-22/rust-std-1.93.0-wasm32-wasip1.tar.gz=bf9f4a382d772e91abb370047719cd9d2b2fd812378130af44b82ed5b3e44b9c
dist/2025-12-09/rust-std-beta-wasm32-wasip1.tar.xz=65e96ffd02b3735a2b84a00bc3872ea0f574096f56de6c77fb00b3e1d7a0e1fa dist/2026-01-22/rust-std-1.93.0-wasm32-wasip1.tar.xz=075de970ef865678dad258f1566d7cfe76a594698e9bf93dd69fa5cfdfcf1a6f
dist/2025-12-09/rust-std-beta-wasm32-wasip1-threads.tar.gz=71f8c5f5bdebd64ded342df43f98493d8ecd52434201cad2f6160e06eccf15fd dist/2026-01-22/rust-std-1.93.0-wasm32-wasip1-threads.tar.gz=d269959f8994eacbf8074b2674e31c50785c991d2d1f020eca74171c83827c34
dist/2025-12-09/rust-std-beta-wasm32-wasip1-threads.tar.xz=81ccdab9aa05a1839fea2498ec7eac882b4c56ae3c573ca43132ac450c48738c dist/2026-01-22/rust-std-1.93.0-wasm32-wasip1-threads.tar.xz=439c65dea31e855f0258632b6d19435ba8a80561297fa6dc6be48048c5cd1871
dist/2025-12-09/rust-std-beta-wasm32-wasip2.tar.gz=29b92754da126ee7e8bb1b71b7ee98255c52b53b842923ad29a97d4d54b06737 dist/2026-01-22/rust-std-1.93.0-wasm32-wasip2.tar.gz=b7eeb6f35123fa08f95753880678cb24796c0e6642b14251afe6184305737bbc
dist/2025-12-09/rust-std-beta-wasm32-wasip2.tar.xz=c6fe278fbf360f03e5dc13a7e9de2b9eef4a8cb65e543e63c4e299df155a6018 dist/2026-01-22/rust-std-1.93.0-wasm32-wasip2.tar.xz=0ef01bb552036ab44456f5505015b13c88d3694629804d7af46452c8b0a48f8c
dist/2025-12-09/rust-std-beta-wasm32v1-none.tar.gz=a0645d157f59d1bf2e97f89e0453e13f02ec114ab28a07aa2d5746b15073f2e2 dist/2026-01-22/rust-std-1.93.0-wasm32v1-none.tar.gz=1d9c22d754fb3ed6c3117efe55e3c25889668d5005645ddc6cd5e0f3e4189859
dist/2025-12-09/rust-std-beta-wasm32v1-none.tar.xz=7120f968949be0ec4f89312135f36adda1b75db3d2070d6548a71324e57755b4 dist/2026-01-22/rust-std-1.93.0-wasm32v1-none.tar.xz=7dcebf12c81d0c9d024af80656d9cd22375e5996e91f2e0155ab00613393f74d
dist/2025-12-09/rust-std-beta-x86_64-apple-darwin.tar.gz=07b68e518da8d290c26d8917f18f31c4c0b8c00f2aa83b4d70bd057e42264d1c dist/2026-01-22/rust-std-1.93.0-x86_64-apple-darwin.tar.gz=ef43d48f140291ad8889f06d89ec17288f5c02854ca92bc76c6bc1775946815e
dist/2025-12-09/rust-std-beta-x86_64-apple-darwin.tar.xz=00785f17e51985fcf66185547c4996da73cfac13dfef10e3143491fa0a50bdf4 dist/2026-01-22/rust-std-1.93.0-x86_64-apple-darwin.tar.xz=f112d41c8a31794f0f561d37fe77010ed0b405fa70284a2910891869d8c52418
dist/2025-12-09/rust-std-beta-x86_64-apple-ios.tar.gz=09aa4217e1fa44ca41f0711374b3dd194849f7eabe988275915c6a3cc9a5b34d dist/2026-01-22/rust-std-1.93.0-x86_64-apple-ios.tar.gz=568ae5a38a3e9e8cbcf6a2083e741388fa09661f1dcaa315ab89f7f4e90cf249
dist/2025-12-09/rust-std-beta-x86_64-apple-ios.tar.xz=cc7723d874929dc474643287905165b6ebc2d5b5d488b00a4239436f65bb0373 dist/2026-01-22/rust-std-1.93.0-x86_64-apple-ios.tar.xz=e151013b9bc5990e178285a33e62bae7700d8c48c06e97771abb1643aa907d75
dist/2025-12-09/rust-std-beta-x86_64-apple-ios-macabi.tar.gz=7893661c4998ba8c53e25770d2ee63cc5c52583a7c3a65c8289697a9b3c734c5 dist/2026-01-22/rust-std-1.93.0-x86_64-apple-ios-macabi.tar.gz=a10588349d3f50ddef7944bfffaa37c7e5f0124d572525c6e8367bcbc0da1da3
dist/2025-12-09/rust-std-beta-x86_64-apple-ios-macabi.tar.xz=f07589b38e0f48d6d349c71b029347a006f52a9777e53779e933df296dd5fd41 dist/2026-01-22/rust-std-1.93.0-x86_64-apple-ios-macabi.tar.xz=a543dd545747d372d973ace8b485a13603ce96c110c7ae734d605e45f6e162c5
dist/2025-12-09/rust-std-beta-x86_64-fortanix-unknown-sgx.tar.gz=6bf1078f18c314bbda2e8e61c6d7bd821875d7cd6945fc00b25b7c1b951a734c dist/2026-01-22/rust-std-1.93.0-x86_64-fortanix-unknown-sgx.tar.gz=a2931a7d0eef2e83a548d8c557d84002a24f8ee97dc8c30c8a74422f8aa5ce93
dist/2025-12-09/rust-std-beta-x86_64-fortanix-unknown-sgx.tar.xz=740bbd92e86c8c2809c8922e696c5cc8bce48454d40b486ded2f4b3922815b98 dist/2026-01-22/rust-std-1.93.0-x86_64-fortanix-unknown-sgx.tar.xz=79450cabf18b828f0c2cfd746567854c5f2a1451e2a9ca425b01f6527410f42c
dist/2025-12-09/rust-std-beta-x86_64-linux-android.tar.gz=752f3f17da55e9aa2fc810b01566828ca94cff8af422f8d85f82029c862f0a48 dist/2026-01-22/rust-std-1.93.0-x86_64-linux-android.tar.gz=047e855f520556fe7a38c47084840b7061a069f0f092c13759dfbd3c0986e975
dist/2025-12-09/rust-std-beta-x86_64-linux-android.tar.xz=c6f7d6d01c04a8370db9b28e0f1b7fcc20cde35dc1bcf668d667268129341f32 dist/2026-01-22/rust-std-1.93.0-x86_64-linux-android.tar.xz=dc05ca79d9fecc5ce3643adb9c6f89fd35c8e1d7146bf9b62e30bad41f9fb6a7
dist/2025-12-09/rust-std-beta-x86_64-pc-solaris.tar.gz=96b14f03be37a8f94190fe9c78fe12e6423954499ddbe8f6a7375cd72ab345f2 dist/2026-01-22/rust-std-1.93.0-x86_64-pc-solaris.tar.gz=75a264cad1fa87cfbac38feed186b8c312ddf86f77d5f58cd45e163d81bdf20a
dist/2025-12-09/rust-std-beta-x86_64-pc-solaris.tar.xz=70d6a32f6b740bdb0aecdf7ef8811c94ec31905737ee144573e72a56fad93dba dist/2026-01-22/rust-std-1.93.0-x86_64-pc-solaris.tar.xz=eb5034a55939702d0ae9addfc044b9d0fdb875dfe92766974eb040d2177ba48f
dist/2025-12-09/rust-std-beta-x86_64-pc-windows-gnu.tar.gz=6ccec82d1cc57a83afd857b7bfa02bfd0aba6908deaff8319322148cb11145a5 dist/2026-01-22/rust-std-1.93.0-x86_64-pc-windows-gnu.tar.gz=bd729966552467ee0dcf876089f1c552398a238a2599d958e0ef308184b7d16a
dist/2025-12-09/rust-std-beta-x86_64-pc-windows-gnu.tar.xz=932c90d8de3d8b1e1b705862e2d7570b5fa09c2fcc210aeb6d054c61980b61ca dist/2026-01-22/rust-std-1.93.0-x86_64-pc-windows-gnu.tar.xz=a07c6ab596fad15ca7acd63ee7f2a5fea93fd421179252067e309c2aa0b2021b
dist/2025-12-09/rust-std-beta-x86_64-pc-windows-gnullvm.tar.gz=454d9ebd2ae8baa0350d452023cef119dfc2a6ce2035d6caee2a6aaf51445e08 dist/2026-01-22/rust-std-1.93.0-x86_64-pc-windows-gnullvm.tar.gz=e0e080816ed3824194be075ba679670e39aebb8b3e804dbe3422126d4b4d97f3
dist/2025-12-09/rust-std-beta-x86_64-pc-windows-gnullvm.tar.xz=b11035387f7bd20a12f249a3b527ef6e6bb21e55c8bfc17eb43fe8ed2aeb2d01 dist/2026-01-22/rust-std-1.93.0-x86_64-pc-windows-gnullvm.tar.xz=ef6cf0977bc5aa4bbd594afb9df4ba76fdd4f0fc5685cddbefff49ceed202a91
dist/2025-12-09/rust-std-beta-x86_64-pc-windows-msvc.tar.gz=5fa38e0b4568da60d8bacb77d667bca269a62a806245fa1b3c5154868ce8c0e9 dist/2026-01-22/rust-std-1.93.0-x86_64-pc-windows-msvc.tar.gz=2962a1703aeeb7131adfee56ceb7671c8aeb38745b13aa9201fc5e5ab1caacb6
dist/2025-12-09/rust-std-beta-x86_64-pc-windows-msvc.tar.xz=3afde6b9cadc0f0782b342cea124ec9b6196e85f99b317d5365bc8d6f0886f57 dist/2026-01-22/rust-std-1.93.0-x86_64-pc-windows-msvc.tar.xz=2593e29af0b8def34ceb1185b8e85bd93a9e0d3b0c108d704c1b31370c50a48c
dist/2025-12-09/rust-std-beta-x86_64-unknown-freebsd.tar.gz=6fce2224f59084e4e256a42437f49bbb01523827aad5b0c9406fd23c7117d62c dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-freebsd.tar.gz=e914a6556bfe8824cde199bc770c4eaf1d5341620e22381ebd921e2b8363c927
dist/2025-12-09/rust-std-beta-x86_64-unknown-freebsd.tar.xz=3ae24b5b8acc95e1a3659451bdf8c12c02a3c576b51311ca87636dee0fbe8162 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-freebsd.tar.xz=51b2feaff7c2d28633504ed92ab442a55d112e6a2bf09c91188f00dbaf03378a
dist/2025-12-09/rust-std-beta-x86_64-unknown-fuchsia.tar.gz=49f82f4a9b54861c304a89a32667d87ddaa5045920effd2f8a51d27495538f58 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-fuchsia.tar.gz=c1c23517a2e1d4fb41cfe964b4935288b2904e20dff74477e20791c5d4bf4c48
dist/2025-12-09/rust-std-beta-x86_64-unknown-fuchsia.tar.xz=7f5d52c6c6263a47a496a4d915be1b91418c3e16a06ccd0255d94577d71a1786 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-fuchsia.tar.xz=41f0f3eb96cedfc13ab5fd4f15065063f262d035c1f71d96c42587acdacdbabe
dist/2025-12-09/rust-std-beta-x86_64-unknown-illumos.tar.gz=a1e12868fccdf88c54eced9793d8c4b292a4e2ab336b14ad3aef1529e6bbf427 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-illumos.tar.gz=eadd76a1fb0925b163fcf77c59cb885159079d87c4b5483e1feb5086a520ab8f
dist/2025-12-09/rust-std-beta-x86_64-unknown-illumos.tar.xz=2be5a86894132b2ddcde9127aca6ddd366e6a6b928d0bbefcfad155afd2c6a8f dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-illumos.tar.xz=0078c069d9afe0b68f54f81b810546dd7c3e02a9bec54e15ef2b3648fee4819d
dist/2025-12-09/rust-std-beta-x86_64-unknown-linux-gnu.tar.gz=552bcdb9041169ab431674f7536107af05ef4b9f85351757ec890c0779f5ef1d dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-linux-gnu.tar.gz=8e276f68c7793bbc18a2856a501dd6b296af2296d6482407762e3ce79a2221ff
dist/2025-12-09/rust-std-beta-x86_64-unknown-linux-gnu.tar.xz=393e345443c8c16e9b796ffd1d1867650702c75db3a1d541396ad7d035eba249 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-linux-gnu.tar.xz=a849a418d0f27e69573e41763c395e924a0b98c16fcdc55599c1c79c27c1c777
dist/2025-12-09/rust-std-beta-x86_64-unknown-linux-gnux32.tar.gz=91bf07d6ae7cc836aa4f5440a639a89cc0c706e11145a2dd9e1a46d87a85a8f3 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-linux-gnux32.tar.gz=02154c60250cec1b828731e9636b3f71844869f5170780ff26addb90204ee4c0
dist/2025-12-09/rust-std-beta-x86_64-unknown-linux-gnux32.tar.xz=5acb8a3606a14d6ba23296d1dba83fbdc9e10d33c4a0859ae675a8910963661f dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-linux-gnux32.tar.xz=83c5ae0ac2ea5b98f99ac8da86de6f8ead9e5cee573b343fe97bddfcc130d287
dist/2025-12-09/rust-std-beta-x86_64-unknown-linux-musl.tar.gz=7d5307cdbc388a9635bad36081d067e3bb1ea6b30f53fddcb7a7b4a5046ad86e dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-linux-musl.tar.gz=45c24ad043ad86c78e1343481d553f59546577169da3e477dcdc448ab789529e
dist/2025-12-09/rust-std-beta-x86_64-unknown-linux-musl.tar.xz=33087e52b9683d0653e3c3315b03d39b7e7cf6b0f1d1a4a11a1ae21949a62765 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-linux-musl.tar.xz=874658d2ced1ed2b9bf66c148b78a2e10cad475d0a4db32e68a08900905b89b8
dist/2025-12-09/rust-std-beta-x86_64-unknown-linux-ohos.tar.gz=c4bd53291e41545a9e48c3951d591ffd3ef3c549b644a333913dd3770ce4020f dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-linux-ohos.tar.gz=a8c5b56f9600bcd0415ea5419320d69aa1451d0ebad5b3244d44e2564b17446d
dist/2025-12-09/rust-std-beta-x86_64-unknown-linux-ohos.tar.xz=dc70e5c4e567962bc98a62a2f492828ee5f0420b9f44f6bd4279d2e59efe4433 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-linux-ohos.tar.xz=58f7a69b8bba56a42094bcccc73f54fe00c61e66de7364c5ae486bb628f0e773
dist/2025-12-09/rust-std-beta-x86_64-unknown-netbsd.tar.gz=b08307db96fdc7777825ed9a2f09c1fe9b2bd3bcc8862a10ee31c8306ffd45ae dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-netbsd.tar.gz=e91fafd7d2f6de55b23080582a574be078ebdfffab6fad7f4e07826672b39a2e
dist/2025-12-09/rust-std-beta-x86_64-unknown-netbsd.tar.xz=8e2fcfd80f0a678a91df324c198609bee2b02a76fdff6e861fa166be7964e03e dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-netbsd.tar.xz=aad63193af89772031f9a85f193afc0b15f8e6d4a9a4983c5f5d3802f69a89e8
dist/2025-12-09/rust-std-beta-x86_64-unknown-none.tar.gz=c459a4cf0b0b38282bad8a80f42af8bd7567613432106396246f1751b3e1b187 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-none.tar.gz=843838367cc4fd85f3d23d612b2e010b394a10adf52b56f1aea71aa209561851
dist/2025-12-09/rust-std-beta-x86_64-unknown-none.tar.xz=da43d6038f9b0ea443c5a317e2d3414df076ae5f6e59433c4371289ed3852a46 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-none.tar.xz=01dcca7ae4b7e82fbfa399adb5e160afaa13143e5a17e1e0737c38cf07365fb3
dist/2025-12-09/rust-std-beta-x86_64-unknown-redox.tar.gz=20cd456f8d9012aefe5ea5fc639ff18142614af45f00b101526587fedc735382 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-redox.tar.gz=40a030a65cd2fb01e7365be3fd9bfa3c4215010fa1cba4e6426fe0d04605304c
dist/2025-12-09/rust-std-beta-x86_64-unknown-redox.tar.xz=7d31c1346facd16accb3a58dcae5fc62af5db3c99c26ba5915839a3118571208 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-redox.tar.xz=73455862d6f52f5b719f309b7b6cb007c23ff2b94c4c347a1c12b56ac70ae2a6
dist/2025-12-09/rust-std-beta-x86_64-unknown-uefi.tar.gz=7c738b0354a7d25b5d931d2e73b1207d452d027935f034a7ae106e4119ebcae8 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-uefi.tar.gz=1f997d3b41df61a9f8ed0fb2aa50a23e9bc826597d3e339dea7cbfbf2dcd5f9f
dist/2025-12-09/rust-std-beta-x86_64-unknown-uefi.tar.xz=e0640c8cfb01603576e58142829e96f06b650ad9131b8bfa8ecc76d26a49fbd1 dist/2026-01-22/rust-std-1.93.0-x86_64-unknown-uefi.tar.xz=ec4e439d9485ce752b56999e8e41ed82373fc833a005cf2531c6f7ef7e785392
dist/2025-12-09/cargo-beta-aarch64-apple-darwin.tar.gz=9f75819749c4cc87f7435e765ac987f0816e8a17636828a152bba7dd02b46b6a dist/2026-01-22/cargo-1.93.0-aarch64-apple-darwin.tar.gz=904b6638bb2dcc274b03aaae322ce5a98704f8333f5343f351cfbd7cf12df869
dist/2025-12-09/cargo-beta-aarch64-apple-darwin.tar.xz=38b8c3e43121c5a1f93e6b81d53598185d0c42c41933db4e09bb402aacf719d9 dist/2026-01-22/cargo-1.93.0-aarch64-apple-darwin.tar.xz=6443909350322ad07f09bb5edfd9ff29268e6fe88c7d78bfba7a5e254248dc25
dist/2025-12-09/cargo-beta-aarch64-pc-windows-gnullvm.tar.gz=5823f511f5e81e2b4cb72a9dc5955b311b31c7e07ac84be7c81a2ab537e20ec8 dist/2026-01-22/cargo-1.93.0-aarch64-pc-windows-gnullvm.tar.gz=fc779469cc40fd6722591d2c911a4f142ed8170b5eaa88ade24d03caf77a5732
dist/2025-12-09/cargo-beta-aarch64-pc-windows-gnullvm.tar.xz=e1cc29549af4fc472a1edc603de3ec9e575d4c18d67346b2b3b17ec1f3d4d140 dist/2026-01-22/cargo-1.93.0-aarch64-pc-windows-gnullvm.tar.xz=387832b989c8eb96c9ebd66402a87962167633bc6d91a49ffb8c7903c45f3476
dist/2025-12-09/cargo-beta-aarch64-pc-windows-msvc.tar.gz=e7486bdbd06111ef8e0c328a0ba4e8a5a56d710054a17dc2b9ffbaf05c7c4e17 dist/2026-01-22/cargo-1.93.0-aarch64-pc-windows-msvc.tar.gz=3a9e09990940d2763976a729bf107211074cf68d046b8bfde153bdecb0f2c5e8
dist/2025-12-09/cargo-beta-aarch64-pc-windows-msvc.tar.xz=18c81a2a41051362e1e0a040bb8615f4e3b3ed671147ad585ae9befd17e41c94 dist/2026-01-22/cargo-1.93.0-aarch64-pc-windows-msvc.tar.xz=155bff7a16aa7054e7ed7c3a82e362d4b302b3882d751b823e06ff63ae3f103d
dist/2025-12-09/cargo-beta-aarch64-unknown-linux-gnu.tar.gz=5f846b7dbb282195160213f282e4746c874e60f6cff5ecef2083f0805765ec72 dist/2026-01-22/cargo-1.93.0-aarch64-unknown-linux-gnu.tar.gz=21c823462acf538d9e35bc36a39f1690e1a809cf07048506bf7bb8dfd7be6df8
dist/2025-12-09/cargo-beta-aarch64-unknown-linux-gnu.tar.xz=c9eaf314667d3d0bb3da48857720be60c715a9fc3344bec15a7fb1b92c6214d6 dist/2026-01-22/cargo-1.93.0-aarch64-unknown-linux-gnu.tar.xz=5998940b8b97286bb67facb1a85535eeb3d4d7a61e36a85e386e5c0c5cfe5266
dist/2025-12-09/cargo-beta-aarch64-unknown-linux-musl.tar.gz=0394e35c668e58e9e6b2cf5eef24981ab97356f857546090a9af321b27fa9631 dist/2026-01-22/cargo-1.93.0-aarch64-unknown-linux-musl.tar.gz=ee4d99a96d836c8f216ff861ad61df7d36dee88ed924a9c7c0dfb83eaef2c637
dist/2025-12-09/cargo-beta-aarch64-unknown-linux-musl.tar.xz=cb3b9b54402f919244572eeee0cee0c16908fd80de7a07357eaa3fbde21852c5 dist/2026-01-22/cargo-1.93.0-aarch64-unknown-linux-musl.tar.xz=da3d215cc53cb72e203c25db874e8140b71945d0be1d409045f9e2b32a6e2345
dist/2025-12-09/cargo-beta-aarch64-unknown-linux-ohos.tar.gz=9845a957510458b2fee44efbde72b71e7575a557687f07f76f71f343e746aef3 dist/2026-01-22/cargo-1.93.0-aarch64-unknown-linux-ohos.tar.gz=f22ffb22a87dd8378c1bd1a319ab046935d2187b47326c2bbf3ddbbadcd42aef
dist/2025-12-09/cargo-beta-aarch64-unknown-linux-ohos.tar.xz=4ef90f7bc4c9eb87e259ba52f492ff100926ca0d5c874bf00f6e28f256dd9f32 dist/2026-01-22/cargo-1.93.0-aarch64-unknown-linux-ohos.tar.xz=53cb1d2745c24519c166765661dae6996f371572ed7431e3dc6c25072f884720
dist/2025-12-09/cargo-beta-arm-unknown-linux-gnueabi.tar.gz=c5e609db1371ceeb9a9c817fffa90b59aa5d88a2931100e68e5e5fcc49f98f7a dist/2026-01-22/cargo-1.93.0-arm-unknown-linux-gnueabi.tar.gz=dff4b0ab692246a160ccae05291590bfed33163cf869cf0fae74f8ae46fd6698
dist/2025-12-09/cargo-beta-arm-unknown-linux-gnueabi.tar.xz=aa454892dac6baaf4a51e6afaf41c9acb81e50bdd7a5de6c85045e2fad7d37c3 dist/2026-01-22/cargo-1.93.0-arm-unknown-linux-gnueabi.tar.xz=eb100d3781949f37ef29c29371a8402466a8396200cc78246364ee4161ddc4b8
dist/2025-12-09/cargo-beta-arm-unknown-linux-gnueabihf.tar.gz=5e8b574d1b758f045c7938439e44d173065525a1b99cdeb1f4ae822fd1dc7a31 dist/2026-01-22/cargo-1.93.0-arm-unknown-linux-gnueabihf.tar.gz=275612e467468972f5a6f627f91721a86565fd05dc9cbfaf4d7a10d6b30dcc88
dist/2025-12-09/cargo-beta-arm-unknown-linux-gnueabihf.tar.xz=6eb4178b85a3c6e7eaf324c28496e8701af2268151590ccd361853e8f52078da dist/2026-01-22/cargo-1.93.0-arm-unknown-linux-gnueabihf.tar.xz=79fb2ada7764f83efffba924350957efeb795f989f04e78110ff218779f28da9
dist/2025-12-09/cargo-beta-armv7-unknown-linux-gnueabihf.tar.gz=c4817681243ebeca687abc59fc0f1035d898ffc03b339634435fcdb6ac0563ba dist/2026-01-22/cargo-1.93.0-armv7-unknown-linux-gnueabihf.tar.gz=56e5378ce69e26d5e4164b04e32fc29c186c1264ede63dc8a4d940b776ee87e1
dist/2025-12-09/cargo-beta-armv7-unknown-linux-gnueabihf.tar.xz=74867e0de7d5eb96c10888c2aa536dbcf140e94190f42b3462a483fc3a17eea0 dist/2026-01-22/cargo-1.93.0-armv7-unknown-linux-gnueabihf.tar.xz=86aac7102a2709067e153f778c3bb9e3be6f679f923897f8b7efa85fa8de8ee1
dist/2025-12-09/cargo-beta-i686-pc-windows-gnu.tar.gz=4182caa439db0b6cb9ebed815d27de38d492904e9e4d05523b64de77657549f5 dist/2026-01-22/cargo-1.93.0-i686-pc-windows-gnu.tar.gz=4c7e0e5e99d0be173795744c4d1e655c41c4d0a45a5af64fa0d2f4b756aeeb34
dist/2025-12-09/cargo-beta-i686-pc-windows-gnu.tar.xz=12963ebddf340691ad70b4c1cb71ca1dbe9ea7b20e969ddaa1b01199519eed97 dist/2026-01-22/cargo-1.93.0-i686-pc-windows-gnu.tar.xz=fec979db8af43718a8d6b123931dddc33e0054b86971ad1b9b210c007e692130
dist/2025-12-09/cargo-beta-i686-pc-windows-msvc.tar.gz=5ad903382865f5e03659c8c128b33e8afb4288d52c515de1aee00ef119f1dc59 dist/2026-01-22/cargo-1.93.0-i686-pc-windows-msvc.tar.gz=13fc32329eaf259af6f6f6a2b0bb194cee2af71bf2d5ad212a023539e9857da1
dist/2025-12-09/cargo-beta-i686-pc-windows-msvc.tar.xz=4abf8df988ac23a7c2f3a974dc3f3ac2c5babf13c13a7089366813bb0e177d2b dist/2026-01-22/cargo-1.93.0-i686-pc-windows-msvc.tar.xz=139fdbba0e7c5a00fe58ae2b46cc9c12cf971d5a21f83a8571d6c474f26af53c
dist/2025-12-09/cargo-beta-i686-unknown-linux-gnu.tar.gz=8e161351713a615e0625ea79e20915427c4daa006be76336c45f0fb90a2d2a1f dist/2026-01-22/cargo-1.93.0-i686-unknown-linux-gnu.tar.gz=ed0d08e48c640288b756d99da347c93bded18412e2c9c0d91b8174a2f426fbf4
dist/2025-12-09/cargo-beta-i686-unknown-linux-gnu.tar.xz=3b550c261bd105fc5f3d027dcc90b37b343be3187ff2b1d84912b09faf0f976f dist/2026-01-22/cargo-1.93.0-i686-unknown-linux-gnu.tar.xz=2c6fb5893b4abcdf6af9dc3c4f60abc072318b0cb13f2bd969585910b7ba048b
dist/2025-12-09/cargo-beta-loongarch64-unknown-linux-gnu.tar.gz=cc345ca12eb88366b95de1c40ca182ca14f260cca7cfb857e775f011bc9c3adc dist/2026-01-22/cargo-1.93.0-loongarch64-unknown-linux-gnu.tar.gz=46051e486b84815fcf53099235b31aea53863c470b37f6e9e8e30e21e7f2a290
dist/2025-12-09/cargo-beta-loongarch64-unknown-linux-gnu.tar.xz=b6a3a0ab898dcf2b35556642f812870ee15e62bed465e33ed4e8bf1094444b52 dist/2026-01-22/cargo-1.93.0-loongarch64-unknown-linux-gnu.tar.xz=cf1af58dad1098c1f56d3df11f884b8d87b0db30ef038d1527872b7cdd7c9785
dist/2025-12-09/cargo-beta-loongarch64-unknown-linux-musl.tar.gz=a7ccd2f9f0dd4b7dfeacf06c42812471bdd24d2795f3533e41db872183157a14 dist/2026-01-22/cargo-1.93.0-loongarch64-unknown-linux-musl.tar.gz=e562063b61110b8342ad1c221c12e8b55ad3e2d5567304ebdda42bd0369e3dff
dist/2025-12-09/cargo-beta-loongarch64-unknown-linux-musl.tar.xz=b2a75d4597b62f9d2fd3534b0972a8f0f6447d8da14e887d6207f3869d8df4dc dist/2026-01-22/cargo-1.93.0-loongarch64-unknown-linux-musl.tar.xz=e41274dd77121c916c8cdf63bcf990876a373b25388565202306a5fb1358bdca
dist/2025-12-09/cargo-beta-powerpc-unknown-linux-gnu.tar.gz=0b8db0062b3220806d215eab392bde104a4846f16b07b14130efa456352f0610 dist/2026-01-22/cargo-1.93.0-powerpc-unknown-linux-gnu.tar.gz=79df07c8804e0e2ea82ffdf35f3ed7a3265255a4a13d1d614bf8f2158ef98eca
dist/2025-12-09/cargo-beta-powerpc-unknown-linux-gnu.tar.xz=51991f325aa8d01393c59af81d92d32fddb90a0e153178fa6d574f113a33376b dist/2026-01-22/cargo-1.93.0-powerpc-unknown-linux-gnu.tar.xz=f8472c773385820a9c8fe375f766b6918bb659eb2d517db72eff86a44c59546d
dist/2025-12-09/cargo-beta-powerpc64-unknown-linux-gnu.tar.gz=ae8d26626ff486f360f8b7d8178844024d4f458eca5997c9305825f3010f679c dist/2026-01-22/cargo-1.93.0-powerpc64-unknown-linux-gnu.tar.gz=9c71cca537656051a28e5ff542623ce2c59542a716aed7301d2b67fe9a1f02af
dist/2025-12-09/cargo-beta-powerpc64-unknown-linux-gnu.tar.xz=b40b3f43472ab0bfc46f821c12a1df17dd41aa0ff6375522861abcb77aabd68b dist/2026-01-22/cargo-1.93.0-powerpc64-unknown-linux-gnu.tar.xz=662a9d454073c178c052bbb001f7440ded82134185c7c656ba8fc37468799383
dist/2025-12-09/cargo-beta-powerpc64le-unknown-linux-gnu.tar.gz=362ca45ba28f18d3667416b2c81fc03d6b424d6d8d778f3d7a31dcb89f6f7fb8 dist/2026-01-22/cargo-1.93.0-powerpc64le-unknown-linux-gnu.tar.gz=029ae71f735a3695df32fa7562669b41db637e8967538d82ed527c5b63b34216
dist/2025-12-09/cargo-beta-powerpc64le-unknown-linux-gnu.tar.xz=4513dafaf90abb9eba29f578b1ca1c57934ce78f0ad05ea0f45be5b6e39da7a9 dist/2026-01-22/cargo-1.93.0-powerpc64le-unknown-linux-gnu.tar.xz=a587e9dab9385ea0651dd45a6cb6101d6028ccf578a3e1140ce083fe9419921a
dist/2025-12-09/cargo-beta-powerpc64le-unknown-linux-musl.tar.gz=d77e406f0e0056a24db4afe70addff520059bfcf2e4441d4e3972dc20953ed0d dist/2026-01-22/cargo-1.93.0-powerpc64le-unknown-linux-musl.tar.gz=1a0e61a27b91178fcdf2c85a6124e968e62c519538773ad688f978428feab867
dist/2025-12-09/cargo-beta-powerpc64le-unknown-linux-musl.tar.xz=17e2a1f489fcd6920543e46fdf08c54a63e9bba1490d6daa800e225c6b753fd1 dist/2026-01-22/cargo-1.93.0-powerpc64le-unknown-linux-musl.tar.xz=43777d204e5e5c5e91c31116d867d440272a11cc85eb0bc62939754d5d4d22e5
dist/2025-12-09/cargo-beta-riscv64gc-unknown-linux-gnu.tar.gz=469db45a320665a6a285bdfaf45791715a8c546c61cea3a35066b43b8d410c16 dist/2026-01-22/cargo-1.93.0-riscv64gc-unknown-linux-gnu.tar.gz=6c6fc638ccb46834d92a80e75994a3339cb2004e7883f7eea3768bb456764676
dist/2025-12-09/cargo-beta-riscv64gc-unknown-linux-gnu.tar.xz=0e2200fed953b69b4709ddc4df060e9718f09d062ae7184f51479ae684137e01 dist/2026-01-22/cargo-1.93.0-riscv64gc-unknown-linux-gnu.tar.xz=1f0fc840db26c426b26ce8a943b887756e9552974a39248ad0166960fa169f62
dist/2025-12-09/cargo-beta-s390x-unknown-linux-gnu.tar.gz=dd3f998f36bf93541072e3c5a6d93ab7cca773e93ec436f2202d791e009ce6fd dist/2026-01-22/cargo-1.93.0-s390x-unknown-linux-gnu.tar.gz=fe6f52eea0ed98f848bab244c367c77062b4a7df02d474e1f26b81984b11c7f0
dist/2025-12-09/cargo-beta-s390x-unknown-linux-gnu.tar.xz=f7c2707a6e855eb6ef6fa34da58c838db64a48ecf4baf84f62a3d676dc90a794 dist/2026-01-22/cargo-1.93.0-s390x-unknown-linux-gnu.tar.xz=7d0281d26142bf124c0393a99e73b7b8ae6cb579cb7ebe50f696da6922d2129a
dist/2025-12-09/cargo-beta-sparcv9-sun-solaris.tar.gz=646cc26a6cb13d404832ab6b10ba30c88ae232fdcf84ff2e524a61f6a8d3a3ad dist/2026-01-22/cargo-1.93.0-sparcv9-sun-solaris.tar.gz=c85645d31e04b1ee4b6381cdbee613b5d0851510837fcb4d2c2f02e2f72ff2e4
dist/2025-12-09/cargo-beta-sparcv9-sun-solaris.tar.xz=833dfe8175a28e9ba9997dddcdff73c17ca54a685805a00fa8d6b3e2b688b532 dist/2026-01-22/cargo-1.93.0-sparcv9-sun-solaris.tar.xz=4b0244de494d01844daf91e380a9c08867439d4db3a74d54e31d567a6d56b0dd
dist/2025-12-09/cargo-beta-x86_64-apple-darwin.tar.gz=4c73238ea769c53061b56937baad41e724669159a83b29b2ad71fd61a3e9b83c dist/2026-01-22/cargo-1.93.0-x86_64-apple-darwin.tar.gz=2d3ff96858dd1d7200fd1d19a48f5832643aab81dea06b9da8a542d7379f2240
dist/2025-12-09/cargo-beta-x86_64-apple-darwin.tar.xz=6eba917c9c319e082437bd402c933f27a0cd855619ccd7bc0eecef0745008714 dist/2026-01-22/cargo-1.93.0-x86_64-apple-darwin.tar.xz=95a47c5ed797c35419908f04188d8b7de09946e71073c4b72632b16f5b10dfae
dist/2025-12-09/cargo-beta-x86_64-pc-solaris.tar.gz=dbe7b52b7f4e5bacfd465918eae271981eb01d40906152da88fd65ac4aa915e9 dist/2026-01-22/cargo-1.93.0-x86_64-pc-solaris.tar.gz=603b35f3eb3ba9413d928c57657fab4464749714062a63cfbd1d261fece25449
dist/2025-12-09/cargo-beta-x86_64-pc-solaris.tar.xz=1a7addf40be3044cb9cc78574936ea3479466f573dca89c188a0e4fc367e70b8 dist/2026-01-22/cargo-1.93.0-x86_64-pc-solaris.tar.xz=8415e0c6759408d5cfa91f9dca067e1fc1e9dba3966e2d6deb534060ccae0ac2
dist/2025-12-09/cargo-beta-x86_64-pc-windows-gnu.tar.gz=7a4c5d11c78f79dbd83ea36b8d9f50b8dcc70345d4ded5c25727540d49f8c317 dist/2026-01-22/cargo-1.93.0-x86_64-pc-windows-gnu.tar.gz=a6ce10395345d8efce02f38c50c109f9a3c8418e478e200948c2c5c19a20e315
dist/2025-12-09/cargo-beta-x86_64-pc-windows-gnu.tar.xz=ea5c2c141cf5977cd230a28e7e64eb573090f9df58e694f9587cabbb24630b6a dist/2026-01-22/cargo-1.93.0-x86_64-pc-windows-gnu.tar.xz=035f31e1204dce65652cf35bc054f0bcade06ea0c1a40aff9b4a9c76453be863
dist/2025-12-09/cargo-beta-x86_64-pc-windows-gnullvm.tar.gz=6cf2d9cb061376f636ff23c42d4f70f6a7506f2d52a80995a4c0eb9e7011ca0f dist/2026-01-22/cargo-1.93.0-x86_64-pc-windows-gnullvm.tar.gz=58f026ee17bc9b7662f4b6b37b181dd1ad64a4a3dc1871bb235cce73e040616d
dist/2025-12-09/cargo-beta-x86_64-pc-windows-gnullvm.tar.xz=854904ff28e8138e5d6b4a07698aa762a199f18692666962172b70d3f98085ef dist/2026-01-22/cargo-1.93.0-x86_64-pc-windows-gnullvm.tar.xz=f19766837559f90476508140cb95cc708220012ec00a854fa9f99187b1f246b6
dist/2025-12-09/cargo-beta-x86_64-pc-windows-msvc.tar.gz=ffcf63ab2b6a5ab9291e79a7c0bb4b0404a6b0f662c8fee5400871e57030ba86 dist/2026-01-22/cargo-1.93.0-x86_64-pc-windows-msvc.tar.gz=4314e6ed5fe03b28e5c1056387f99ff60ffc591453093cc77641c6a24168c710
dist/2025-12-09/cargo-beta-x86_64-pc-windows-msvc.tar.xz=be6a9ebc401ba2e57dda2c278ac0fb04f07af05bae279df12a6db6cd92dd5fc8 dist/2026-01-22/cargo-1.93.0-x86_64-pc-windows-msvc.tar.xz=e59c5e2baa9ec17261f2cda6676ebf7b68b21a860e3f7451c4d964728951da75
dist/2025-12-09/cargo-beta-x86_64-unknown-freebsd.tar.gz=194e7c211473bf17a00924a60e87edf95e50c29610ad66b01e03d7a57192bbac dist/2026-01-22/cargo-1.93.0-x86_64-unknown-freebsd.tar.gz=11e5e94c0944623570136f99212daffde628ca25777d6c20ae3c71ab2e745afc
dist/2025-12-09/cargo-beta-x86_64-unknown-freebsd.tar.xz=ecf5f9e48deac7b3bb4207b24607904f084f78e1cbe099b6bf49623361bc2399 dist/2026-01-22/cargo-1.93.0-x86_64-unknown-freebsd.tar.xz=20e91b030350e7f49424ac66ffe9ac82cf67b2d4c2d524996263cf238bbeec06
dist/2025-12-09/cargo-beta-x86_64-unknown-illumos.tar.gz=e3b16e0e31260123c60e8061b72b10d5e655f778f6f852feec9ea87816d677b4 dist/2026-01-22/cargo-1.93.0-x86_64-unknown-illumos.tar.gz=3878a8efce9ade9ef3aca809fbc35c34f9815a259c556d3b254c46b0577d2f1d
dist/2025-12-09/cargo-beta-x86_64-unknown-illumos.tar.xz=6d1065cc19ae1d09f72740e53640502c3337613f210733fec561ba977dda28a4 dist/2026-01-22/cargo-1.93.0-x86_64-unknown-illumos.tar.xz=7bba18b37817a2c9fa9286cc6c83f225319ead1cea70152179b213f64c5a68e3
dist/2025-12-09/cargo-beta-x86_64-unknown-linux-gnu.tar.gz=2e1b3cf1ff6d6ebd72f309046c7a764fc3d689ab2cf3f66340a42c98cda06a9c dist/2026-01-22/cargo-1.93.0-x86_64-unknown-linux-gnu.tar.gz=c4ad6f857c3b72f1a515adc7d02fc1edd376a1313bb4edfdaffc1835cc920e37
dist/2025-12-09/cargo-beta-x86_64-unknown-linux-gnu.tar.xz=54f2e54197e4340aab81e4d81d9dff836473d098a0bc12b5f944581cca90567f dist/2026-01-22/cargo-1.93.0-x86_64-unknown-linux-gnu.tar.xz=c23de3ae709ff33eed5e4ae59d1f9bcd75fa4dbaa9fb92f7b06bfb534b8db880
dist/2025-12-09/cargo-beta-x86_64-unknown-linux-musl.tar.gz=f34964cfe1432e2af127d62824bcb6be68ee40e41c190774efc56347bb72164f dist/2026-01-22/cargo-1.93.0-x86_64-unknown-linux-musl.tar.gz=0844c40ef4285cf320228af5cf5f669548ebbc5d65c9e5c5f7339b7edd0539e7
dist/2025-12-09/cargo-beta-x86_64-unknown-linux-musl.tar.xz=40434b0a6609149823262f2a788a3f15c0343769286b8fd1addc9662fbd26825 dist/2026-01-22/cargo-1.93.0-x86_64-unknown-linux-musl.tar.xz=1eee0f6752a31430dc7cf16718de55ef7ad45882cc4c05fa97f1ef280af61135
dist/2025-12-09/cargo-beta-x86_64-unknown-netbsd.tar.gz=3c2356d84ecee2197db0963bc67b3c896a90175c1a33c1f0c7df98354a1c17a0 dist/2026-01-22/cargo-1.93.0-x86_64-unknown-netbsd.tar.gz=394f83781953af7aced0ae2c88a6f21ce509a500ff1d95137dd942fed967aa9d
dist/2025-12-09/cargo-beta-x86_64-unknown-netbsd.tar.xz=bf5fc50b555ed8b1dfa1d06b811c5d0bed790cc0d6ab159fb59ca65604f08a73 dist/2026-01-22/cargo-1.93.0-x86_64-unknown-netbsd.tar.xz=c285084618f0e9f322984ffcb19ec34898e09192a8e040a0112cdc8735829809
dist/2025-12-09/clippy-beta-aarch64-apple-darwin.tar.gz=07d985d4094b51973607b4857c32cca8371f2c9ea219309e25a8bbc09e7b6f19 dist/2026-01-22/clippy-1.93.0-aarch64-apple-darwin.tar.gz=9478d089ed5a3c80193cda7f85f0bb3b90cd417f05d3948be167bddff15bc8d8
dist/2025-12-09/clippy-beta-aarch64-apple-darwin.tar.xz=022457737252bc7ae1293c523cdaaae68a1952ecd43546c642f0bbf5721bb327 dist/2026-01-22/clippy-1.93.0-aarch64-apple-darwin.tar.xz=0b6e943a8d12be0e68575acf59c9ea102daf795055fcbbf862b0bfd35ec40039
dist/2025-12-09/clippy-beta-aarch64-pc-windows-gnullvm.tar.gz=77d9f6e425be1a19e684b609971f30373eba3d57f7afec837d41041318acf942 dist/2026-01-22/clippy-1.93.0-aarch64-pc-windows-gnullvm.tar.gz=4a90b9a6f9d13435b22692335141667b4a7edd87d6cca892d759295a49ae394c
dist/2025-12-09/clippy-beta-aarch64-pc-windows-gnullvm.tar.xz=2e785a6dd171a22c5e7d57e4692d396256c286e429646f12c5b9ea883ad29c59 dist/2026-01-22/clippy-1.93.0-aarch64-pc-windows-gnullvm.tar.xz=296949f49be2de77ce9d1c5023a5f0a58e28e329eec03642a3da0e175a67beeb
dist/2025-12-09/clippy-beta-aarch64-pc-windows-msvc.tar.gz=df3230490829d3f85e9089c0270436b64984c5c83009e4b7be856cc1533ac697 dist/2026-01-22/clippy-1.93.0-aarch64-pc-windows-msvc.tar.gz=1c9f85367d80ea008b8a827111a347cfe01c142a219df4395c52281608cc1cbd
dist/2025-12-09/clippy-beta-aarch64-pc-windows-msvc.tar.xz=69d8f5ba926d82d71084ed00be6088bb1537d77a90b24af8218b8995547d1214 dist/2026-01-22/clippy-1.93.0-aarch64-pc-windows-msvc.tar.xz=07bcf2edb88cdf5ead2f02e4a8493e9b0ef935a31253fac6f9f3378d8023f113
dist/2025-12-09/clippy-beta-aarch64-unknown-linux-gnu.tar.gz=9f23282495c4c598c21795c5938c3b072367d27c56f1ef6c5e9c81e0116a6736 dist/2026-01-22/clippy-1.93.0-aarch64-unknown-linux-gnu.tar.gz=a48e7cc6d7d8a749d5cc1ce3567388c6b3b7339e90917bb735aa35f3b3dab92c
dist/2025-12-09/clippy-beta-aarch64-unknown-linux-gnu.tar.xz=edca9027570949403f14f0e719249095ccd4b8d59296a41b4a72af54c020ef17 dist/2026-01-22/clippy-1.93.0-aarch64-unknown-linux-gnu.tar.xz=872ae6d68d625946d281b91d928332e6b74f6ab269b6af842338df4338805a60
dist/2025-12-09/clippy-beta-aarch64-unknown-linux-musl.tar.gz=651b5d61d641cf146799a747d4cfd35e18a43638f65765104bbfca1a61f89b60 dist/2026-01-22/clippy-1.93.0-aarch64-unknown-linux-musl.tar.gz=7f1b82961c12446660436b6d8ee25293f40ec3e3f835b8f198dee67284171a98
dist/2025-12-09/clippy-beta-aarch64-unknown-linux-musl.tar.xz=afee1d8d0b1c2b0a395ad5522e935e2d03c6bb88f2d0a496d8c453b2aaf65838 dist/2026-01-22/clippy-1.93.0-aarch64-unknown-linux-musl.tar.xz=e5d56f4c9e5536278ac830e23044ba3b522878cdddf706ae2f2442305eddb3c7
dist/2025-12-09/clippy-beta-aarch64-unknown-linux-ohos.tar.gz=871a039f625ae3e2fcd69249b4fbe7211bc57ffa460dbdba95f433731aed00ee dist/2026-01-22/clippy-1.93.0-aarch64-unknown-linux-ohos.tar.gz=13862b8c6c4c9d3c2f38dbc0c01276c55649190383e87418397de8ce16bf279c
dist/2025-12-09/clippy-beta-aarch64-unknown-linux-ohos.tar.xz=3a6413eac375103258fda9ecaeb79276144e96b1a7526932ff372b39676bf4e8 dist/2026-01-22/clippy-1.93.0-aarch64-unknown-linux-ohos.tar.xz=6ec8185abaa9d43d6f5a4be404e9fe1d1701fb793fd75499e0cb4d0d9510617b
dist/2025-12-09/clippy-beta-arm-unknown-linux-gnueabi.tar.gz=c4143ceb6c644d73c7bdf36dc12184ee0545e56c17762e310163f32d171142e3 dist/2026-01-22/clippy-1.93.0-arm-unknown-linux-gnueabi.tar.gz=47e8e9e807bf2c706792a5dec91a0fafbec390d6087492c1ef29a1853b14f463
dist/2025-12-09/clippy-beta-arm-unknown-linux-gnueabi.tar.xz=ea1d55e762194001dd67ecb9f36b6e88023174d2afc11c270560133122127004 dist/2026-01-22/clippy-1.93.0-arm-unknown-linux-gnueabi.tar.xz=76eaa773d7125cfee0cefb960e003a4ccd2c8aa1b5502c3c39262b86efcd9fc1
dist/2025-12-09/clippy-beta-arm-unknown-linux-gnueabihf.tar.gz=84619076b88d498a9db44f9b1a4e18646412becf406a9c0e3ca53266e1cc63e0 dist/2026-01-22/clippy-1.93.0-arm-unknown-linux-gnueabihf.tar.gz=70c6f7b9e7f7982f56a207d16c95287d770b4d106880aa2d5f6445ffbe12e9cc
dist/2025-12-09/clippy-beta-arm-unknown-linux-gnueabihf.tar.xz=518f0d5578fa1a3be13da7c74a4388db0a1e30a212e07e005f54a964af9e3b6e dist/2026-01-22/clippy-1.93.0-arm-unknown-linux-gnueabihf.tar.xz=2a02906cbf42d83ba557e1d9436da1f9e6141ea794bf797d3581cb4c0a393087
dist/2025-12-09/clippy-beta-armv7-unknown-linux-gnueabihf.tar.gz=71f1b0fa2d6353bd15a3e71e37705cfc05b32f1a995ceed6661860846156b6bb dist/2026-01-22/clippy-1.93.0-armv7-unknown-linux-gnueabihf.tar.gz=c7c3eae95485fc57901f1e68d62f56ea83c1b6d3d89226da812a711f13d6e1ca
dist/2025-12-09/clippy-beta-armv7-unknown-linux-gnueabihf.tar.xz=071d5f6a7726c049e8779ff0348a82e617faa2f0271d6a48785a829511f2ccd9 dist/2026-01-22/clippy-1.93.0-armv7-unknown-linux-gnueabihf.tar.xz=984f4ab45961bc47b52a3776d1fb6dd23c1bc35f38a6202eab447f7d8e95a615
dist/2025-12-09/clippy-beta-i686-pc-windows-gnu.tar.gz=1b0b74ad7374811536e8dee6276d95c00e93d5ff8582f47904311a801a4a457b dist/2026-01-22/clippy-1.93.0-i686-pc-windows-gnu.tar.gz=d0a52a5083411ad2290950d3d4fc749eecfa1650e8df919539420e9d10ae97cb
dist/2025-12-09/clippy-beta-i686-pc-windows-gnu.tar.xz=3909a6759b946bd26db078785ce2816d8e7ecc6b91f0a93da8e1215101315ec2 dist/2026-01-22/clippy-1.93.0-i686-pc-windows-gnu.tar.xz=6e755048196e3769e8d7c374c7f1c9d02a6f19feba0ca937f6e482a8e313c4f7
dist/2025-12-09/clippy-beta-i686-pc-windows-msvc.tar.gz=20daed7b47df1a6edc52f4e513a9d8a3fd9adcbb57193584967908062e0b5f5a dist/2026-01-22/clippy-1.93.0-i686-pc-windows-msvc.tar.gz=9e0eb18b1a87ed6511209efa101ac57b1e70fc16190918a16f698ee7d77efc25
dist/2025-12-09/clippy-beta-i686-pc-windows-msvc.tar.xz=726cc91501ad1618b960bfa8ef2fb48aedae7b6bce2e579ee97c2feaf731e63f dist/2026-01-22/clippy-1.93.0-i686-pc-windows-msvc.tar.xz=bee11f784a03f221167985d0807c3335498d58629789c408043df540a16a2944
dist/2025-12-09/clippy-beta-i686-unknown-linux-gnu.tar.gz=76f33f847f9ca954ab4728d0ba59fc51eb45a19fb75162c37363a31d9cc81fbd dist/2026-01-22/clippy-1.93.0-i686-unknown-linux-gnu.tar.gz=1b17febb9c6e8e211ed599b8d5618439968b5c20c9108e4ce54bc6352f1580c6
dist/2025-12-09/clippy-beta-i686-unknown-linux-gnu.tar.xz=fb2e996550d4c50d2e932b947b730c1be9a237de5b30bf88d51f02d4fb3aace4 dist/2026-01-22/clippy-1.93.0-i686-unknown-linux-gnu.tar.xz=e8f6b16356548e2dbad3d380c07cd7b3654b49c513a15a2ceb9d17a49ac0aa04
dist/2025-12-09/clippy-beta-loongarch64-unknown-linux-gnu.tar.gz=23bdfce50ecf66d373a029b97fb5ada2bf302b39245a7f2c2673b21d13889cec dist/2026-01-22/clippy-1.93.0-loongarch64-unknown-linux-gnu.tar.gz=a592106ef7f35d8f760f217e05d594801efa1b5e5d5ebee636a24c377397a002
dist/2025-12-09/clippy-beta-loongarch64-unknown-linux-gnu.tar.xz=e3d80cd58be9c50fd9316b1e19fac0b27246bf32264db5c765a04bfe11acdfe0 dist/2026-01-22/clippy-1.93.0-loongarch64-unknown-linux-gnu.tar.xz=41f588aefa9e8bcdb4969afc14d18b19b4bd524defc026aca8c0275c19d183ac
dist/2025-12-09/clippy-beta-loongarch64-unknown-linux-musl.tar.gz=c531fe17d77ae42393b7fd556ce8508f9450f393dd612085977707bec106f402 dist/2026-01-22/clippy-1.93.0-loongarch64-unknown-linux-musl.tar.gz=f4e76c6ec45acfcd1a547fd92a8e0934e0eddf48ad834cbfc8afb8ab7ab44878
dist/2025-12-09/clippy-beta-loongarch64-unknown-linux-musl.tar.xz=805b2c4321e59d1d0d2f4dd6eb12920a472fa1422517bf506d41a09f887eb981 dist/2026-01-22/clippy-1.93.0-loongarch64-unknown-linux-musl.tar.xz=c86396a3ea43eab38257d634c3d32d7c0a23aaef6c8ec12092f8ac0b131b078d
dist/2025-12-09/clippy-beta-powerpc-unknown-linux-gnu.tar.gz=8b82b14f74241aba3f65b80d726c3c43ff5d3452ea0268905eaa8247efd2e75c dist/2026-01-22/clippy-1.93.0-powerpc-unknown-linux-gnu.tar.gz=45b276e4e2d2570017e3f273a2dea4d5d76d7dcfa5f0cbbe5184d1f1b852c102
dist/2025-12-09/clippy-beta-powerpc-unknown-linux-gnu.tar.xz=5868780ae5c0cf07a613c3247b8339e6e5d0fb209ca279211061c20520a1916d dist/2026-01-22/clippy-1.93.0-powerpc-unknown-linux-gnu.tar.xz=9f48807b761998db304ade11573742f52dcd61bf62f3e339eb9975ec33feab65
dist/2025-12-09/clippy-beta-powerpc64-unknown-linux-gnu.tar.gz=f40011b8c9868f0f20e55d0be4600c277e1391ab5fdc832c0ba3261299680d4c dist/2026-01-22/clippy-1.93.0-powerpc64-unknown-linux-gnu.tar.gz=f5402e3656f7e12f22f97549c21e1b07f31fed2cf5c64a89e75fe66044d1f757
dist/2025-12-09/clippy-beta-powerpc64-unknown-linux-gnu.tar.xz=09ad15c8d179d38424c64a697af9d256b3905fa27aa21fffe0dcf60e18821376 dist/2026-01-22/clippy-1.93.0-powerpc64-unknown-linux-gnu.tar.xz=2242d23c8472b4d7efe6e2e538157f0b25d9ac99f6362b2cd534ba5030b2a71f
dist/2025-12-09/clippy-beta-powerpc64le-unknown-linux-gnu.tar.gz=5dccee69021050129a301aed0e2a092768aba58c0922f8265fc42172e55ef930 dist/2026-01-22/clippy-1.93.0-powerpc64le-unknown-linux-gnu.tar.gz=eb1ef8147ce1b94b19ef9192c6793a623f05540d00f1b678d6ae71d6467405b5
dist/2025-12-09/clippy-beta-powerpc64le-unknown-linux-gnu.tar.xz=3961d80cea94e31f8f571e962478fcc842a22163ed6e853b08b19063a56fb601 dist/2026-01-22/clippy-1.93.0-powerpc64le-unknown-linux-gnu.tar.xz=283b76a665927a7737dbf422d3a3459eb85e873a49f6a2de8cc0ab5a5c3a8350
dist/2025-12-09/clippy-beta-powerpc64le-unknown-linux-musl.tar.gz=d814ee9c7af0889b37ea08e4b2d059bc54d3bf3919b5d445d8a812ecd6bc122a dist/2026-01-22/clippy-1.93.0-powerpc64le-unknown-linux-musl.tar.gz=bc94a6679b6896e792ee59465d83b01c4e3274110b535373ae9dc2673fe9bd76
dist/2025-12-09/clippy-beta-powerpc64le-unknown-linux-musl.tar.xz=0ddea2966b675892b6f2f3161590af8adf4d9c278c4b50ac1d51bc82473a898a dist/2026-01-22/clippy-1.93.0-powerpc64le-unknown-linux-musl.tar.xz=9f63c8f8825d1e6e5510828022454121152c28511ef285ff0787f1a5b0a4ecb4
dist/2025-12-09/clippy-beta-riscv64gc-unknown-linux-gnu.tar.gz=e31bbd06adf63ab0b0abb357f3362d4398f7e6550aed91d7f5578e3a03cd55a7 dist/2026-01-22/clippy-1.93.0-riscv64gc-unknown-linux-gnu.tar.gz=568d7d87a6cd929b55abf830685bd67129c1282b08f6dfb720cc375375a922fe
dist/2025-12-09/clippy-beta-riscv64gc-unknown-linux-gnu.tar.xz=25affee87f7ec9b8b91368a64d9f5ce17f22a0c40f6bf1f6b51fadb43dec05b2 dist/2026-01-22/clippy-1.93.0-riscv64gc-unknown-linux-gnu.tar.xz=1c8bbbd36200f525949a2a3b1446ddc863b99bdc2552b818919fd64cc27b64d2
dist/2025-12-09/clippy-beta-s390x-unknown-linux-gnu.tar.gz=001b23bb4d8e88f96d3fc1fbaab7e8b6a64de4d8d5767334ac3e9db9d79e56b5 dist/2026-01-22/clippy-1.93.0-s390x-unknown-linux-gnu.tar.gz=e0c190d7ebdefc3914d3e3d8a0a6dfc4cbd85eb01f9639461a607ad5328f39e4
dist/2025-12-09/clippy-beta-s390x-unknown-linux-gnu.tar.xz=5f137aa245a5a168e71abef128e2181c4df0675666abad895d28df917ca9f0ff dist/2026-01-22/clippy-1.93.0-s390x-unknown-linux-gnu.tar.xz=1cf85452916d4f5696d93e45849a99aba23884a3bd3d886d0179a1b2cf7d2858
dist/2025-12-09/clippy-beta-sparcv9-sun-solaris.tar.gz=1db02f7429b6594a0c5e33fdf273a827429ce928d37a48f06d1f9908be04bd8a dist/2026-01-22/clippy-1.93.0-sparcv9-sun-solaris.tar.gz=fa26a0e1e3a1f406613e7c1c93c1ed5449e43bab935c1e78088b47094a3f6e04
dist/2025-12-09/clippy-beta-sparcv9-sun-solaris.tar.xz=802755153ad5af276df68592784206cbf49f49a8b678ec6dd621e46699e391c8 dist/2026-01-22/clippy-1.93.0-sparcv9-sun-solaris.tar.xz=7d09ce7503b75bc19de83fba8eee239d54cb59cf558a7ad586f9122b9bcf0d96
dist/2025-12-09/clippy-beta-x86_64-apple-darwin.tar.gz=3e5cf614a5dcc33b7a570f3b58d89bc930c84aacd05c8df00b40d1d813d13a9a dist/2026-01-22/clippy-1.93.0-x86_64-apple-darwin.tar.gz=0e264a908d8d0bc81525bc7ff47a569dc282ce2d495c9ff0c3cb72a45bdb230e
dist/2025-12-09/clippy-beta-x86_64-apple-darwin.tar.xz=aef870bd83eeb4b26ea3754a4ac3b11d81acfc74f9af97a006079445fb068069 dist/2026-01-22/clippy-1.93.0-x86_64-apple-darwin.tar.xz=e6d0b1afb9607c14a1172d09ee194a032bbb3e48af913d55c5a473e0559eddde
dist/2025-12-09/clippy-beta-x86_64-pc-solaris.tar.gz=6d1f58fcc6ebbfcec039a06375c09fdbad426e1bc4ed68881a63a19ea4edcc6d dist/2026-01-22/clippy-1.93.0-x86_64-pc-solaris.tar.gz=b349708b06a5b0d00db4d86bc48035c7de543f8684c0bfb223079b292be62348
dist/2025-12-09/clippy-beta-x86_64-pc-solaris.tar.xz=7309a240bca719dddc7d9c2e04906e765256407c397a759ee22ba6c6034beb28 dist/2026-01-22/clippy-1.93.0-x86_64-pc-solaris.tar.xz=108115370d5ab733c235b6e4dd1c5545666f9ca6ab9ea1e98609e84215a82838
dist/2025-12-09/clippy-beta-x86_64-pc-windows-gnu.tar.gz=ebd0d50c7ad0f975be1862f8b025f1c577bf0b969fc50da679165041fdff5de2 dist/2026-01-22/clippy-1.93.0-x86_64-pc-windows-gnu.tar.gz=4823f34398acc9b9a05725197e5eb89c04d7f7b7c7b86ed753f61712a66299f7
dist/2025-12-09/clippy-beta-x86_64-pc-windows-gnu.tar.xz=dd9fecb16743aa7584ac6c2e36e202194b51517cb86cd4a454a97dd63a83cf12 dist/2026-01-22/clippy-1.93.0-x86_64-pc-windows-gnu.tar.xz=27497305fc8bc6ee8da899574b5cd1a1143d9dc92565ab6dd1024225f31971a8
dist/2025-12-09/clippy-beta-x86_64-pc-windows-gnullvm.tar.gz=50eec7195970f99f0ba0f493e3c12b0cb8dfa9fbe60fef436c64a318bad0a6f4 dist/2026-01-22/clippy-1.93.0-x86_64-pc-windows-gnullvm.tar.gz=e5be7925647b9d81384bd46c481a636f9a2ae3f9f79624556658f55875b6fa4b
dist/2025-12-09/clippy-beta-x86_64-pc-windows-gnullvm.tar.xz=e6090190aa83a26b4d71c66422e6332d873580fe807be6a3f2aa9dd56cf53e7d dist/2026-01-22/clippy-1.93.0-x86_64-pc-windows-gnullvm.tar.xz=b6f1f7264ed6943c59dedfb9531fbadcc3c0fcf273c940a63d58898b14a1060f
dist/2025-12-09/clippy-beta-x86_64-pc-windows-msvc.tar.gz=e187f226606301670326e70f4f616d784d89fbe40be755f14a29e6df03e3fafd dist/2026-01-22/clippy-1.93.0-x86_64-pc-windows-msvc.tar.gz=91e70ec535085540cd21d1867e99b669297b24d41404ec6d085e3fabdfcf9363
dist/2025-12-09/clippy-beta-x86_64-pc-windows-msvc.tar.xz=0f69c54b1c112a276f5f538dcb007e34070e9a75681875d926d6f8f446692cae dist/2026-01-22/clippy-1.93.0-x86_64-pc-windows-msvc.tar.xz=25fb103390bf392980b4689ac09b2ec2ab4beefb7022a983215b613ad05eab57
dist/2025-12-09/clippy-beta-x86_64-unknown-freebsd.tar.gz=c107ed25ed5a09deb390b175e16a5102dafb21b12405cd227328f2e199a656e7 dist/2026-01-22/clippy-1.93.0-x86_64-unknown-freebsd.tar.gz=02e0935f1d3342eafc6b9f2bea44efc1aa7a79d8a59a2a29649cc9cc27c7b966
dist/2025-12-09/clippy-beta-x86_64-unknown-freebsd.tar.xz=8d8927b64fec353a5cf987457f059995f16e1b36e96ca8b1f8be8e016f49962c dist/2026-01-22/clippy-1.93.0-x86_64-unknown-freebsd.tar.xz=4e1a36a8cce956536b73295947b21986b4d61029d0418e862ad73dbd6d76845b
dist/2025-12-09/clippy-beta-x86_64-unknown-illumos.tar.gz=697d12dd34cb0176a839a1d08834fede0b39209f9b5ce102e40b3a41b4bab363 dist/2026-01-22/clippy-1.93.0-x86_64-unknown-illumos.tar.gz=c612827ba05a7c8522f8fcd47db1e1cfa29f5114a1b765cd01a8cd7a7ebebc55
dist/2025-12-09/clippy-beta-x86_64-unknown-illumos.tar.xz=c31578a3ebb692541cab846d81662ae554169d95018a4697c39fe1249c4e5154 dist/2026-01-22/clippy-1.93.0-x86_64-unknown-illumos.tar.xz=f23775132bfddd3953beb4de69899a2a5ec177e52e8f4f00db5bf335127f073b
dist/2025-12-09/clippy-beta-x86_64-unknown-linux-gnu.tar.gz=58b7c72e976dabeb431b897eaa921557b3460c5dc6c12a5ad908f2fcdaf697b8 dist/2026-01-22/clippy-1.93.0-x86_64-unknown-linux-gnu.tar.gz=3e50c570c8c718aeca66c99717cb8f00ccbf45b12e3224085ffbc689c68922ed
dist/2025-12-09/clippy-beta-x86_64-unknown-linux-gnu.tar.xz=649b10e076d03f2428b3284391c67a2a1f7daf3b58185a797973121fc5b4c337 dist/2026-01-22/clippy-1.93.0-x86_64-unknown-linux-gnu.tar.xz=793108977514b15c0f45ade28ae35c58b05370cb0f22e89bd98fdfa61eabf55d
dist/2025-12-09/clippy-beta-x86_64-unknown-linux-musl.tar.gz=c8f5c1c9990714c20ee85ff6d449caa0519e291b8068e6a5d27c6be1701c6a10 dist/2026-01-22/clippy-1.93.0-x86_64-unknown-linux-musl.tar.gz=1148e06bad43e30705b952c61d5d3a493b19b67be02ac281d8008df22dc05503
dist/2025-12-09/clippy-beta-x86_64-unknown-linux-musl.tar.xz=2ff9d03902202060d6059f78872f9606c67357a839dc1d84d0dabc9b0dc79e61 dist/2026-01-22/clippy-1.93.0-x86_64-unknown-linux-musl.tar.xz=da50b0d51ac233ef06eb3441823f322d37cc6076f18aac804a6fa1f6d85b59b5
dist/2025-12-09/clippy-beta-x86_64-unknown-netbsd.tar.gz=95f9c12acabbeca6eb1fe6abee785909009b39d2119c45e8c54f0aa4aee09ab9 dist/2026-01-22/clippy-1.93.0-x86_64-unknown-netbsd.tar.gz=0772a2c40bb2b6913565b59e6715c021f29b2f2ba9ae8c9636e242f97360a03b
dist/2025-12-09/clippy-beta-x86_64-unknown-netbsd.tar.xz=a8fc86de0d51cbe8ffc9622c539de5ec958948e8d510d113d4d86da0ff512a45 dist/2026-01-22/clippy-1.93.0-x86_64-unknown-netbsd.tar.xz=dcf04a6bd0ac3d286fba3f928abb85c7580a2ab6891a0fcee86b39834b6a7171
dist/2025-12-09/rust-beta-aarch64-pc-windows-gnullvm.msi=0decc8436fecf2946138123ba94002507c4e9e0883db90aec5639dadd2fe0fa6 dist/2026-01-22/rust-1.93.0-aarch64-pc-windows-gnullvm.msi=aae3611cc35fb3938b3f28679ceb9e3c805020ea6b62835a9d400490486ee68a
dist/2025-12-09/rust-beta-aarch64-pc-windows-msvc.msi=d094d7636cc4ab90b00539cf2fd63339dea88e2cce4ed1e6079d925c5102bbb2 dist/2026-01-22/rust-1.93.0-aarch64-pc-windows-msvc.msi=19d54b86ad1eebe3b030a713b1abb694a21a294a86a02a8674f602e66fdb24f4
dist/2025-12-09/rust-beta-i686-pc-windows-gnu.msi=546214c69cdb5ebcc1b30a0919e13ce15ee5bab0a6a3f5b2ba09506a7f1ccba8 dist/2026-01-22/rust-1.93.0-i686-pc-windows-gnu.msi=65571e4c76403617ddfd9445701a86b8ae6cb33f5dd367d549f3ca9bb1f7064c
dist/2025-12-09/rust-beta-i686-pc-windows-msvc.msi=9f93d409def886c556de52c35dae811e6d5d59cb88c4447bef80f126b08af64b dist/2026-01-22/rust-1.93.0-i686-pc-windows-msvc.msi=b199a1ea498b763f2c18e0cec571203d8f378ceb14e03ff3aaacee834bee7a2e
dist/2025-12-09/rust-beta-x86_64-pc-windows-gnu.msi=a348502a2cbd16752b792f69c24e49cdc1b241aabfb629e25d4136d34e1d7403 dist/2026-01-22/rust-1.93.0-x86_64-pc-windows-gnu.msi=080d1705adb62944bb46bb87f603735fbd63407f6034e7f27622cf86abba3e23
dist/2025-12-09/rust-beta-x86_64-pc-windows-gnullvm.msi=04b4c3d704d742b840bd1bc60aae178a87b6d04eeb970dbe5d84dcbe503cdd8c dist/2026-01-22/rust-1.93.0-x86_64-pc-windows-gnullvm.msi=b7105abe7197d0c28aca6565c7960afa591e9c3780e76aa2a99c4f10e5638240
dist/2025-12-09/rust-beta-x86_64-pc-windows-msvc.msi=660b04aeef50fac72ab4e53a524af5632ba5d43bcd37fe95c1a2a6e7704e8789 dist/2026-01-22/rust-1.93.0-x86_64-pc-windows-msvc.msi=8ffffeaf68ebf3e659b3cc0c61e2c160b49b9781e79b0bf015c00fdef88c6d1a
dist/2025-12-09/rust-beta-aarch64-apple-darwin.pkg=fc4889fa5dabb9e2a54535e33bb82aa658dadf2b53061b0cd5a47ad58e42cdf3 dist/2026-01-22/rust-1.93.0-aarch64-apple-darwin.pkg=b8e92e118be2961b365b2198ebd087543d0c6a22eb5e5c3d6d00758a048d3487
dist/2025-12-09/rust-beta-x86_64-apple-darwin.pkg=5224a904cef4284950d8c193c89e4f826ed5a5fb77a9b05fba3fcf6b8a107dfb dist/2026-01-22/rust-1.93.0-x86_64-apple-darwin.pkg=c567337d0762fb409b81352bf05894ef3d5853ae174b78c0b4323b8916fda922
dist/2025-12-09/rustc-beta-src.tar.gz=2ba3a82da54f472c3eb8253c0eee35f9d121f8027d34869455e9b10635a7b648 dist/2026-01-22/rustc-1.93.0-src.tar.gz=69112bd83c321943ffc390b7db2f59ef3febb95dac700f67c2156fbf6b50a705
dist/2025-12-09/rustc-beta-src.tar.xz=af3e7fe0843ecfff1168dba08615b7e500a8f9aa82926c422d01754156ca38f6 dist/2026-01-22/rustc-1.93.0-src.tar.xz=e30d898272c587a22f77679f03c5e8192b5645c7c9ccc3407ad1106761507cea
dist/2025-12-10/rustfmt-nightly-aarch64-apple-darwin.tar.gz=24ec825bd10f04ebef571174b08cd6f4041cba5da0255811b1eba58771f8ee84
dist/2025-12-10/rustfmt-nightly-aarch64-apple-darwin.tar.xz=4a80862cc5f685c325650b364361cb7d4b80faab1688988fc6d3e585cb37b133
dist/2025-12-10/rustfmt-nightly-aarch64-pc-windows-gnullvm.tar.gz=2322573bee75a407302fd18cea373975dad8d3bc77ae52fb4a65ab89a85ad8d1
dist/2025-12-10/rustfmt-nightly-aarch64-pc-windows-gnullvm.tar.xz=cefab5e313a8e184a243ecb7429acf2c9338396279467e4eb74b42dd0d74d588
dist/2025-12-10/rustfmt-nightly-aarch64-pc-windows-msvc.tar.gz=9c61e4763b7d5a378684cbf323522b18721be552f19b61303b0fcc257aad94fd
dist/2025-12-10/rustfmt-nightly-aarch64-pc-windows-msvc.tar.xz=960c96b8b5d5b1ae2b01103c59bd761b7ead18470795fac7d9de5b8ed635abd3
dist/2025-12-10/rustfmt-nightly-aarch64-unknown-linux-gnu.tar.gz=c7ab92e0faba8c29ac42aec6be553f2a98b6eb552a2327e7eea27fa90d324287
dist/2025-12-10/rustfmt-nightly-aarch64-unknown-linux-gnu.tar.xz=8245467e46eaf068f560c63e43e14de233be6481fa47a663dfc03e0343a21a24
dist/2025-12-10/rustfmt-nightly-aarch64-unknown-linux-musl.tar.gz=4f73b7d59a7f43f9732bb37779224d289dd9bfedd98963387e968283dd09959c
dist/2025-12-10/rustfmt-nightly-aarch64-unknown-linux-musl.tar.xz=4deeab8e28f00f7dfb11fc9fcffef9bfc866ec7a67e6da4cf0c2a68ced8eea7b
dist/2025-12-10/rustfmt-nightly-aarch64-unknown-linux-ohos.tar.gz=d7cfae90e1d3ee3c7e30a39e2cc789b045498e282eab5831a538910ae4c878fe
dist/2025-12-10/rustfmt-nightly-aarch64-unknown-linux-ohos.tar.xz=674460a55e04a6d1e505957bc1bbc560351f4143bcacdd93f86e301c0a7415b6
dist/2025-12-10/rustfmt-nightly-arm-unknown-linux-gnueabi.tar.gz=c745ef65f257d48dbaabb5aefa2ac0b2a51a3f2185f542f0e6017fd5378c1bc6
dist/2025-12-10/rustfmt-nightly-arm-unknown-linux-gnueabi.tar.xz=0765fe91b4ff940575c819259c2b2e328c81a7ff02a1a283ec2e6844bd026e85
dist/2025-12-10/rustfmt-nightly-arm-unknown-linux-gnueabihf.tar.gz=7b01938f5c56be23e682b7cbdbefe0da87e41a136029f09a38362aac4df05bc2
dist/2025-12-10/rustfmt-nightly-arm-unknown-linux-gnueabihf.tar.xz=f90fa659f11e39ce6145689cd3284fec95d7e4219e4e8c5b14876357b3892e4c
dist/2025-12-10/rustfmt-nightly-armv7-unknown-linux-gnueabihf.tar.gz=c168b4f52d9e4f17234a824e49e257577f3a2f2643cf5cfac8e28395d3c6a7c8
dist/2025-12-10/rustfmt-nightly-armv7-unknown-linux-gnueabihf.tar.xz=0a9cd71999664d67f83bb9c3f87415656329086f0e3503953992b1cbe34d9a5e
dist/2025-12-10/rustfmt-nightly-i686-pc-windows-gnu.tar.gz=207f1343fd0a348344b9866e99b80ff7112a9b48a2ff63168e133913fe161425
dist/2025-12-10/rustfmt-nightly-i686-pc-windows-gnu.tar.xz=83147ebb6c01438b55d2973759821178a6e109eb91146d96386c504070248769
dist/2025-12-10/rustfmt-nightly-i686-pc-windows-msvc.tar.gz=a59c45a3ab6601db73a1628266ff6dec37cc04bb964096116df21595aa53d358
dist/2025-12-10/rustfmt-nightly-i686-pc-windows-msvc.tar.xz=b1da98ed515858fe2659e42a31c9b9cd4adb60c3080ec154f3829859855c324e
dist/2025-12-10/rustfmt-nightly-i686-unknown-linux-gnu.tar.gz=59fd2ab17d3215a6bd6e34ec2e61146a48cb273754003d561df7ac2a7a3d131e
dist/2025-12-10/rustfmt-nightly-i686-unknown-linux-gnu.tar.xz=1b3aae40df398d2456ac82fd9ff86e83870b9ce46247a164eba82365c5624569
dist/2025-12-10/rustfmt-nightly-loongarch64-unknown-linux-gnu.tar.gz=f9f43f82d73e136a2f40dcdc41bd3c7e106a94a0a4e5edac661ba7a72a883a09
dist/2025-12-10/rustfmt-nightly-loongarch64-unknown-linux-gnu.tar.xz=bd4912cd32a56cffcf4b019a08b4b751d4a5006c754fa349cc5f38c396fc2e88
dist/2025-12-10/rustfmt-nightly-loongarch64-unknown-linux-musl.tar.gz=cc65c029ab8d0a5efbadf00b40b5bc8e4e737ce0eaa3f2bd24ff145725384038
dist/2025-12-10/rustfmt-nightly-loongarch64-unknown-linux-musl.tar.xz=0bc6580c37977c55c259e0da12732f0a3ff072fe629615ec3602c510129db20f
dist/2025-12-10/rustfmt-nightly-powerpc-unknown-linux-gnu.tar.gz=9837287d443e9519759e541f7d60128f535eb0990ca49cf107a6d7f8e13fb33c
dist/2025-12-10/rustfmt-nightly-powerpc-unknown-linux-gnu.tar.xz=55b0b24b2e33b6ed5eb8eaab1e6ef9b0cb7c64280d8f4a46fb8c644291bc72cb
dist/2025-12-10/rustfmt-nightly-powerpc64-unknown-linux-gnu.tar.gz=29510416f023edabd18ebb9a5f6fd96e55a07dc968a33922b68749d17a51df71
dist/2025-12-10/rustfmt-nightly-powerpc64-unknown-linux-gnu.tar.xz=aa9a16c99748912c2d9aa17ea1fd3d34afa87f352b922ebf5939e41ec4b2bc7f
dist/2025-12-10/rustfmt-nightly-powerpc64le-unknown-linux-gnu.tar.gz=9a0642853b345aa058dd7ed7bb3777fcb1bb6d8d15893bedf40595c7513beb67
dist/2025-12-10/rustfmt-nightly-powerpc64le-unknown-linux-gnu.tar.xz=5b4f5226d11cc8811d92a7ddd601fc6e0a7f1cafb973def40efa5c5a3b29fff1
dist/2025-12-10/rustfmt-nightly-powerpc64le-unknown-linux-musl.tar.gz=e6ed9a58e3d8b3e215d9e24cd47c363b5659cf32e9cb4c104a35cfaeeee1a6c0
dist/2025-12-10/rustfmt-nightly-powerpc64le-unknown-linux-musl.tar.xz=760ab76dfa17332f1c3b3330fec0774ae5a07599aaad838c946df4f588993f71
dist/2025-12-10/rustfmt-nightly-riscv64gc-unknown-linux-gnu.tar.gz=8f0bc4bd2bc633afff10982328f5a2b6d0a37faadadc7cbbf761a106a3a9ba71
dist/2025-12-10/rustfmt-nightly-riscv64gc-unknown-linux-gnu.tar.xz=9e0e069e0c57c2c07768b3fa4a9c38cc6f914a23b84e8efe6fabb250d6e99e34
dist/2025-12-10/rustfmt-nightly-s390x-unknown-linux-gnu.tar.gz=4a23ff6f2d3f2df2afa21ceaccf118c1711e4553090cac6caf116b567080f396
dist/2025-12-10/rustfmt-nightly-s390x-unknown-linux-gnu.tar.xz=98c672887a5d8ef1a9d356e5a53acb21ff9771b122f67e6fde8c1c362dfdfd21
dist/2025-12-10/rustfmt-nightly-sparcv9-sun-solaris.tar.gz=92dd3c460488e73cfa5a4162b910a9db64b3fb3952c32039fa1bb24dabbebec5
dist/2025-12-10/rustfmt-nightly-sparcv9-sun-solaris.tar.xz=231d454a308af3a1deafca579bbf82fd630bd42df903e47c3e48f84be588bf3c
dist/2025-12-10/rustfmt-nightly-x86_64-apple-darwin.tar.gz=e57059b13d749c0b671fd5bc4bf03b1162afe5d258304f80bd67b75a7dba7361
dist/2025-12-10/rustfmt-nightly-x86_64-apple-darwin.tar.xz=f837b268e872681f2cfad6c485a0e28647ac826ebe9d0ce2d01520f294ad0037
dist/2025-12-10/rustfmt-nightly-x86_64-pc-solaris.tar.gz=d5890236f6963d2a9a16a4edb3e6515216ea9f96f2996da298ed9756c75bbed8
dist/2025-12-10/rustfmt-nightly-x86_64-pc-solaris.tar.xz=789e877ca7a2fba536a62bc27d1034399a75c5df0c0fb677ee6aad8dfc8c0e1e
dist/2025-12-10/rustfmt-nightly-x86_64-pc-windows-gnu.tar.gz=eefadcc6be10ba4b41c21c60cd1fdb818389b17bfe09b97d41be64fba9643f35
dist/2025-12-10/rustfmt-nightly-x86_64-pc-windows-gnu.tar.xz=d9904734a9ba86930c4680f167c4c6d3b3c5c49d6274a47c1e25f3557a19e672
dist/2025-12-10/rustfmt-nightly-x86_64-pc-windows-gnullvm.tar.gz=b9d556aa1f760b6acfa6257a77fc489b4efaff3627a80ea25b1cb759786b9182
dist/2025-12-10/rustfmt-nightly-x86_64-pc-windows-gnullvm.tar.xz=3230a9ab8bfea6e9d90a444aedb546040fc743b6ae9f3e7830ecad35eb343896
dist/2025-12-10/rustfmt-nightly-x86_64-pc-windows-msvc.tar.gz=9cdb560c8941551b371f898f8d385a4952794aad27d27786d263b3ff02069cd7
dist/2025-12-10/rustfmt-nightly-x86_64-pc-windows-msvc.tar.xz=ec4b17c6c8aedc5bec3afdcda9a5f85b932e94c8711d03f06171c36ea9349b1c
dist/2025-12-10/rustfmt-nightly-x86_64-unknown-freebsd.tar.gz=bf5a2486465ee6848b2a145c6a16bb5116b893e8d22d3897c78c2930617e8e65
dist/2025-12-10/rustfmt-nightly-x86_64-unknown-freebsd.tar.xz=c71effbcbb3e1b2b90384799b1079658118e24a60408c482d75aaedc3628a6ef
dist/2025-12-10/rustfmt-nightly-x86_64-unknown-illumos.tar.gz=867a4ba29283c658f6a3db55e0edace19cd0102f17409338c75827d3dbceeed8
dist/2025-12-10/rustfmt-nightly-x86_64-unknown-illumos.tar.xz=ea07fe1ecc5480b246387a228a8ea342616385bf9ec25e40d3de9806e06e1e07
dist/2025-12-10/rustfmt-nightly-x86_64-unknown-linux-gnu.tar.gz=8457f82703b5dd5cf1c8ec74011b666239268f1151b0800209a5312274b99151
dist/2025-12-10/rustfmt-nightly-x86_64-unknown-linux-gnu.tar.xz=31f203fc0623c23d41cd64ec4928f0a8d330aeba0f28d0f451683e94da873f28
dist/2025-12-10/rustfmt-nightly-x86_64-unknown-linux-musl.tar.gz=5d752c9879b464b385c14c38ce2b6dad2542d3e4932337ce76d5fcf77b2d3d39
dist/2025-12-10/rustfmt-nightly-x86_64-unknown-linux-musl.tar.xz=797ed8b8c2f2f5764ab2965b7701d73dac4f3ea01a431b1b337dece0e718c940
dist/2025-12-10/rustfmt-nightly-x86_64-unknown-netbsd.tar.gz=a4eed85109f7d76a11e9bcfcb27550636c47c09a10e12f92d76778f6989ffff9
dist/2025-12-10/rustfmt-nightly-x86_64-unknown-netbsd.tar.xz=fdb91ee8d9edc3824426268654efa77a7366ee436b5969366b7f924e1efc8082
dist/2025-12-10/rustc-nightly-aarch64-apple-darwin.tar.gz=1debf4ac8bcc013d4a4a6f000a308bf69b1b99609e841f4eb5f63fb22edb68c4
dist/2025-12-10/rustc-nightly-aarch64-apple-darwin.tar.xz=460eb2dc63c9b2da77a9e12eeaacf3302fa0b2276cf6fab1b1875465fed221cf
dist/2025-12-10/rustc-nightly-aarch64-pc-windows-gnullvm.tar.gz=b9dfa64737763a506ba08a1485c7ba1cf985c1b3e68c282b0515cc646bcd7852
dist/2025-12-10/rustc-nightly-aarch64-pc-windows-gnullvm.tar.xz=f7aaf99ffb316c72fe1121344ae55f65e94448f6ae324ec00f6f73960360bcef
dist/2025-12-10/rustc-nightly-aarch64-pc-windows-msvc.tar.gz=832410daf93d83d489586bd9823b06c53cfd284072274b43e6db4514dc2c5c2c
dist/2025-12-10/rustc-nightly-aarch64-pc-windows-msvc.tar.xz=4e1a2e537f0daf6c000bfaedba3a306d3e9017574dba0ff53c08ad208f5a3326
dist/2025-12-10/rustc-nightly-aarch64-unknown-linux-gnu.tar.gz=f520d2e5ea92519c99ad80fd61af4621c5f6a3ecd1dcd6bcf797aff679ccc403
dist/2025-12-10/rustc-nightly-aarch64-unknown-linux-gnu.tar.xz=73120c237a0a19f6b5ca52fe02ea1c2300d5204861a6f7f5a5d059925a780a9e
dist/2025-12-10/rustc-nightly-aarch64-unknown-linux-musl.tar.gz=5121387c446ff2e3f766ed1f117526d21768e84dc07512cc738ef19870bddfed
dist/2025-12-10/rustc-nightly-aarch64-unknown-linux-musl.tar.xz=3deae487826308f70a7855adf612c4c87121ca2df8f890b744e738f667696883
dist/2025-12-10/rustc-nightly-aarch64-unknown-linux-ohos.tar.gz=ed6c93be35e43f787ab6838c468d984b6f3ccaf561a48bf6b4928e4d5bb17b75
dist/2025-12-10/rustc-nightly-aarch64-unknown-linux-ohos.tar.xz=76b40a2678643983781508a6fda99de7a3dd7b6269b410bf5f3638fd2db596e4
dist/2025-12-10/rustc-nightly-arm-unknown-linux-gnueabi.tar.gz=a0e75393de8ace2e7c40ed54a127e5dc25242914a31313f2520fc634f3e400e8
dist/2025-12-10/rustc-nightly-arm-unknown-linux-gnueabi.tar.xz=03ed745c4940c088893ceb36f563f43ecab1c6f17d3983e28ceb4e89d8234331
dist/2025-12-10/rustc-nightly-arm-unknown-linux-gnueabihf.tar.gz=4d473526c3e46f04550f2623542568fad0c397dfdb6194e2528cc21975bcb64e
dist/2025-12-10/rustc-nightly-arm-unknown-linux-gnueabihf.tar.xz=6dc10f3407d80a7ecb9594620ca070291e192275434daa6e49888484f0c1b9c7
dist/2025-12-10/rustc-nightly-armv7-unknown-linux-gnueabihf.tar.gz=3929d09ab864e5669b38f5b5a308fe637b22e88ad25e339bdd3e2df15e77a18a
dist/2025-12-10/rustc-nightly-armv7-unknown-linux-gnueabihf.tar.xz=2d674373dfbb2ac0caeab3e5fe053073f8313aa3d3c5937b982abcc5d467af22
dist/2025-12-10/rustc-nightly-i686-pc-windows-gnu.tar.gz=e7abc330e9f8554f29fce9c984ab624498c55b4f66aea12836564e097569a753
dist/2025-12-10/rustc-nightly-i686-pc-windows-gnu.tar.xz=887d766a9996d9b956e5d61bcb3166a5f5923ca37d114814e3a85db83bff30d7
dist/2025-12-10/rustc-nightly-i686-pc-windows-msvc.tar.gz=00854c8dfcd94264a88483241cfe79e9357f97ad5fd9ca1a59f49a54806e1b1f
dist/2025-12-10/rustc-nightly-i686-pc-windows-msvc.tar.xz=cbcf96dbb3250cd9d54e66858fa2af4c2506fe81ec2239b2ebbbeba1ef1b4911
dist/2025-12-10/rustc-nightly-i686-unknown-linux-gnu.tar.gz=42f92a1d712bfca3b365b8627d5a5266e0b35f8a6af67cd77ad7a78bd6dcc4db
dist/2025-12-10/rustc-nightly-i686-unknown-linux-gnu.tar.xz=a762070fe4c322916daccacca0e14793bd91339f5803d981fd83e8f2511d9eaf
dist/2025-12-10/rustc-nightly-loongarch64-unknown-linux-gnu.tar.gz=a621f4811d670ae885d63dbce5ced336cb26662527e5ad16a020bd31e0ffc4df
dist/2025-12-10/rustc-nightly-loongarch64-unknown-linux-gnu.tar.xz=b20f98c90930205966d88771dbf3ffed04f701be0d7dbe074791f63ae9d563ab
dist/2025-12-10/rustc-nightly-loongarch64-unknown-linux-musl.tar.gz=a8be28df240832939d2988af21a15b06dcd550ef6de9a468e8d1241f96a9d548
dist/2025-12-10/rustc-nightly-loongarch64-unknown-linux-musl.tar.xz=b4d883ddd22480c6adf1a9f448124532b50f8bc3d1da54e17ce30e1e07bdeac7
dist/2025-12-10/rustc-nightly-powerpc-unknown-linux-gnu.tar.gz=f15a8266370bbf23e5c33afd1dbde578eed56ef1d8b0dfd0f4a689cc90a55890
dist/2025-12-10/rustc-nightly-powerpc-unknown-linux-gnu.tar.xz=c4f63b2adebf61896681df4d8e4015bc510dfe83a7d99ffd0df996ceb56333d4
dist/2025-12-10/rustc-nightly-powerpc64-unknown-linux-gnu.tar.gz=864210b8ed936a21532ba16ed2c12538ab802bb1f678f4175738957949090515
dist/2025-12-10/rustc-nightly-powerpc64-unknown-linux-gnu.tar.xz=4dfa49bbc7e9bdc4edb33e8b21a4fde9dac6f178845bc0f86baec1cf0cccc661
dist/2025-12-10/rustc-nightly-powerpc64le-unknown-linux-gnu.tar.gz=4234e6dfc10b54510d4caa7266ddd2776cb6ac4a463f5fc0e105b56f90fe25a0
dist/2025-12-10/rustc-nightly-powerpc64le-unknown-linux-gnu.tar.xz=707e947a1a6afb285918f5116a7a821fcbfb5448e9dde4f93aecfd49d0ec206a
dist/2025-12-10/rustc-nightly-powerpc64le-unknown-linux-musl.tar.gz=9f2968856d329a2a87f3d6e035b75d78036941f30c7e5b9b99a8f2e18329d135
dist/2025-12-10/rustc-nightly-powerpc64le-unknown-linux-musl.tar.xz=138635257545931c183a5c6c41345391190c3bc5b64caf3192f05053f1243f87
dist/2025-12-10/rustc-nightly-riscv64gc-unknown-linux-gnu.tar.gz=31edf819c4374e2d56a9a3fb125e2879e78067695c05bb165f0246846968fc09
dist/2025-12-10/rustc-nightly-riscv64gc-unknown-linux-gnu.tar.xz=84c92f5bc6ebd0904db0e91a17163e4aadf93478b09681d7f659b2733e7ec7dd
dist/2025-12-10/rustc-nightly-s390x-unknown-linux-gnu.tar.gz=dd5bb23c59ef383fa51bc59e4dd869d8c195a02512306fa0010c00b0f13c0ad1
dist/2025-12-10/rustc-nightly-s390x-unknown-linux-gnu.tar.xz=48d041d57df47c4d99fc0ebc0a10b7cb374f664303ea8b4ffca4c08aab20289e
dist/2025-12-10/rustc-nightly-sparcv9-sun-solaris.tar.gz=006f8d00e4bf719a84f3f8244bf7587f6b7fa141d0659941fb1c0bef7e1c0f5c
dist/2025-12-10/rustc-nightly-sparcv9-sun-solaris.tar.xz=dc9b5086fb6f00164fd676baacccfe030af279e75c339162cb666ebba0f76692
dist/2025-12-10/rustc-nightly-x86_64-apple-darwin.tar.gz=71604d26e35b1d8d47edfa5744e1f56d99ae780ff39780f2e6f91dcd744881e7
dist/2025-12-10/rustc-nightly-x86_64-apple-darwin.tar.xz=67d9b818da84cae669f13e24e3be2e16036286f4ad3ba82965dbfc6a9cc0bd21
dist/2025-12-10/rustc-nightly-x86_64-pc-solaris.tar.gz=5b7eb8e65fc1c3f173e640487dce7778167710dfa403bb877905bdfda1f3e6c9
dist/2025-12-10/rustc-nightly-x86_64-pc-solaris.tar.xz=fdf2bd54e7278c1f601a894fd8e10a22bfef06aac7bd062e08ed08fdffc9d1a4
dist/2025-12-10/rustc-nightly-x86_64-pc-windows-gnu.tar.gz=4165469f2326441c64874ddddaec7897386e8f7808dbe48762f4e394319c33dd
dist/2025-12-10/rustc-nightly-x86_64-pc-windows-gnu.tar.xz=d60b8e47a871874a1e21b3b3e79255d818596364295b4fc7ab31ebd45576f66a
dist/2025-12-10/rustc-nightly-x86_64-pc-windows-gnullvm.tar.gz=2f6de03a3af0fb2c66eb7a2a01a425435dd3f6025aa9d83073798f37a0311c77
dist/2025-12-10/rustc-nightly-x86_64-pc-windows-gnullvm.tar.xz=0a4b940cfadddf0c1dd3c6ac44e1db9a48e71578803a1690d92ff35bf062eac0
dist/2025-12-10/rustc-nightly-x86_64-pc-windows-msvc.tar.gz=08b6ea3a88f0ed773edb97f02995a05afa142f08054a4c076dcfe07d6d95d406
dist/2025-12-10/rustc-nightly-x86_64-pc-windows-msvc.tar.xz=ed07457a628abfb45c5e1e290cd3df284d7aad4caa2fa72e1042b9c0fd0e8375
dist/2025-12-10/rustc-nightly-x86_64-unknown-freebsd.tar.gz=2dd8158c9a0f5715c20bc325100f89a8bf73703d426ae7222d86ffc4fc4b1f4f
dist/2025-12-10/rustc-nightly-x86_64-unknown-freebsd.tar.xz=35eca84b519cad4bcbd46cc40bde94ac22bf7e62af32bc802a8a3f05c82ab35d
dist/2025-12-10/rustc-nightly-x86_64-unknown-illumos.tar.gz=f41e19ee9031fd636b8b6ccac51949b0f52a884e866f75a04645f57a24f13216
dist/2025-12-10/rustc-nightly-x86_64-unknown-illumos.tar.xz=63a3c093db358866ec31c38a872f6024a02a611c5729127d5bff91b394f2b5ab
dist/2025-12-10/rustc-nightly-x86_64-unknown-linux-gnu.tar.gz=056872dae473bc6e843a5272698ab2de04a8d08aa1a510753f4dd46058601b1d
dist/2025-12-10/rustc-nightly-x86_64-unknown-linux-gnu.tar.xz=5342e6efe17f2ffbd2625f758e7389f201c15eff59288c3a929743ae9eb33d95
dist/2025-12-10/rustc-nightly-x86_64-unknown-linux-musl.tar.gz=9076cb3c1aeacd2e11bb6a2790b6b83234aae46cc956ae615eac171471f2c94f
dist/2025-12-10/rustc-nightly-x86_64-unknown-linux-musl.tar.xz=23ac96d176e79490597c80205c51b51682e7bb0f24e1020367958ec737614722
dist/2025-12-10/rustc-nightly-x86_64-unknown-netbsd.tar.gz=03c1c5fe68c45392a93774a228ff18abcc1b29fc1e83c3a901604594ef2e78fd
dist/2025-12-10/rustc-nightly-x86_64-unknown-netbsd.tar.xz=274cbef82373e1687534e81c53d2dc909ad8200c21062363bd2c892b528209d8
dist/2025-12-10/rust-nightly-aarch64-pc-windows-gnullvm.msi=0ad2a86241f5a786e7afeacbed7225f904748c62b0c2a91cc72123392834a234
dist/2025-12-10/rust-nightly-aarch64-pc-windows-msvc.msi=21b3530f3615448adfe61ce4e28c47fbf0b2f15e674d73b5a11e966476a9473e
dist/2025-12-10/rust-nightly-i686-pc-windows-gnu.msi=93d58d311e7bb3a75903e8539dd34bc65b85b951bf9eff5594f539f79bc65c72
dist/2025-12-10/rust-nightly-i686-pc-windows-msvc.msi=22ba8e3dfd93267d0c4660cf889951208c17ef0050538206a5fe7f799e24a2fd
dist/2025-12-10/rust-nightly-x86_64-pc-windows-gnu.msi=d8e6963725b2b8fb1c92cec90830a1cd73968450b676ddcd4ccd90b9006281a7
dist/2025-12-10/rust-nightly-x86_64-pc-windows-gnullvm.msi=d4c1af5399e97ec877d06ad0ef978ba08fb9994b2588b3195316a36c58915151
dist/2025-12-10/rust-nightly-x86_64-pc-windows-msvc.msi=c738f27b64f63b8702646effaddb4af8398bd2d2ef810ef6b2ac1cee4997c692
dist/2025-12-10/rust-nightly-aarch64-apple-darwin.pkg=6d35933519ae62d24b8c772aa43483d9e40138f7bb5894fe42fbe6e48299efe8
dist/2025-12-10/rust-nightly-x86_64-apple-darwin.pkg=388c57b33f3fb46bbf1f194e5bd899316eddf6a067103792e0df64861bbb193e
dist/2025-12-10/rustc-nightly-src.tar.gz=1cb5229e21c945bf992fc9e0eb8c5cbf3516fd7d4caea9969e8515971c45483a
dist/2025-12-10/rustc-nightly-src.tar.xz=96ce631d5b33858d220d686bb2c1388e3f055680366f94833ba4c2a026cfc796

View file

@ -85,7 +85,7 @@ impl LateLintPass<'_> for UncheckedTimeSubtraction {
fn check_expr(&mut self, cx: &LateContext<'_>, expr: &'_ Expr<'_>) { fn check_expr(&mut self, cx: &LateContext<'_>, expr: &'_ Expr<'_>) {
let (lhs, rhs) = match expr.kind { let (lhs, rhs) = match expr.kind {
ExprKind::Binary(op, lhs, rhs) if matches!(op.node, BinOpKind::Sub,) => (lhs, rhs), ExprKind::Binary(op, lhs, rhs) if matches!(op.node, BinOpKind::Sub,) => (lhs, rhs),
ExprKind::MethodCall(fn_name, lhs, [rhs], _) if cx.ty_based_def(expr).is_diag_item(cx, sym::sub) => { ExprKind::MethodCall(_, lhs, [rhs], _) if cx.ty_based_def(expr).is_diag_item(cx, sym::sub) => {
(lhs, rhs) (lhs, rhs)
}, },
_ => return, _ => return,

View file

@ -0,0 +1,7 @@
fn foo() {
let a = [(); const { let x = 1; x }];
}
fn foo() {
let x = [(); const { 1 }];
}

View file

@ -0,0 +1,10 @@
fn foo() {
let a = [(); const {
let x = 1;
x
}];
}
fn foo() {
let x = [(); const { 1 }];
}

View file

@ -15,20 +15,11 @@ fn main() {
.run_fail() .run_fail()
.assert_stderr_contains("error loading target specification"); .assert_stderr_contains("error loading target specification");
rustc() rustc()
.arg("-Zunstable-options")
.input("foo.rs") .input("foo.rs")
.target("my-incomplete-platform.json") .target("my-incomplete-platform.json")
.run_fail() .run_fail()
.assert_stderr_contains("missing field `llvm-target`"); .assert_stderr_contains("missing field `llvm-target`");
let test_platform = rustc()
.input("foo.rs")
.target("my-x86_64-unknown-linux-gnu-platform")
.crate_type("lib")
.emit("asm")
.run_fail()
.assert_stderr_contains("custom targets are unstable and require `-Zunstable-options`");
rustc() rustc()
.arg("-Zunstable-options")
.env("RUST_TARGET_PATH", ".") .env("RUST_TARGET_PATH", ".")
.input("foo.rs") .input("foo.rs")
.target("my-awesome-platform") .target("my-awesome-platform")
@ -36,7 +27,6 @@ fn main() {
.emit("asm") .emit("asm")
.run(); .run();
rustc() rustc()
.arg("-Zunstable-options")
.env("RUST_TARGET_PATH", ".") .env("RUST_TARGET_PATH", ".")
.input("foo.rs") .input("foo.rs")
.target("my-x86_64-unknown-linux-gnu-platform") .target("my-x86_64-unknown-linux-gnu-platform")
@ -62,31 +52,27 @@ fn main() {
.actual_text("test-platform-2", test_platform_2) .actual_text("test-platform-2", test_platform_2)
.run(); .run();
rustc() rustc()
.arg("-Zunstable-options")
.input("foo.rs") .input("foo.rs")
.target("endianness-mismatch") .target("endianness-mismatch")
.run_fail() .run_fail()
.assert_stderr_contains(r#""data-layout" claims architecture is little-endian"#); .assert_stderr_contains(r#""data-layout" claims architecture is little-endian"#);
rustc() rustc()
.arg("-Zunstable-options")
.input("foo.rs") .input("foo.rs")
.target("mismatching-data-layout") .target("mismatching-data-layout")
.crate_type("lib") .crate_type("lib")
.run_fail() .run_fail()
.assert_stderr_contains("data-layout for target"); .assert_stderr_contains("data-layout for target");
rustc() rustc()
.arg("-Zunstable-options")
.input("foo.rs") .input("foo.rs")
.target("require-explicit-cpu") .target("require-explicit-cpu")
.crate_type("lib") .crate_type("lib")
.run_fail() .run_fail()
.assert_stderr_contains("target requires explicitly specifying a cpu"); .assert_stderr_contains("target requires explicitly specifying a cpu");
rustc() rustc()
.arg("-Zunstable-options")
.input("foo.rs") .input("foo.rs")
.target("require-explicit-cpu") .target("require-explicit-cpu")
.crate_type("lib") .crate_type("lib")
.arg("-Ctarget-cpu=generic") .arg("-Ctarget-cpu=generic")
.run(); .run();
rustc().arg("-Zunstable-options").target("require-explicit-cpu").print("target-cpus").run(); rustc().target("require-explicit-cpu").arg("--print=target-cpus").run();
} }

View file

@ -1,20 +0,0 @@
// Make sure search stores its data in `window`
// It needs to use a global to avoid racing on search-index.js and search.js
// https://github.com/rust-lang/rust/pull/118961
include: "utils.goml"
// URL query
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html?search=sa'%3Bda'%3Bds"
wait-for: "#search-tabs"
assert-window-property-false: {"searchIndex": null}
// Form input
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
call-function: ("perform-search", {"query": "Foo"})
assert-window-property-false: {"searchIndex": null}
// source sidebar
go-to: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
click: "#sidebar-button"
wait-for: "#src-sidebar details"
assert-window-property: {"searchIndex": null}

View file

@ -1,71 +0,0 @@
// This test check for headings text and background colors for the different themes.
include: "utils.goml"
define-function: (
"check-colors",
[theme, color, code_header_color, focus_background_color, headings_color],
block {
go-to: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
// This is needed so that the text color is computed.
show-text: true
call-function: ("switch-theme", {"theme": |theme|})
assert-css: (
".impl",
{"color": |color|, "background-color": "rgba(0, 0, 0, 0)"},
ALL,
)
assert-css: (
".impl .code-header",
{"color": |code_header_color|, "background-color": "rgba(0, 0, 0, 0)"},
ALL,
)
go-to: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html#impl-Foo"
assert-css: (
"#impl-Foo",
{"color": |color|, "background-color": |focus_background_color|},
)
go-to: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html#method.must_use"
assert-css: (
"#method\.must_use",
{"color": |color|, "background-color": |focus_background_color|},
ALL,
)
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
assert-css: (".section-header a", {"color": |color|}, ALL)
go-to: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
// We select headings (h2, h3, h...).
assert-css: (".docblock > :not(p) > a", {"color": |headings_color|}, ALL)
},
)
call-function: (
"check-colors",
{
"theme": "ayu",
"color": "#c5c5c5",
"code_header_color": "#e6e1cf",
"focus_background_color": "rgba(255, 236, 164, 0.06)",
"headings_color": "#c5c5c5",
},
)
call-function: (
"check-colors",
{
"theme": "dark",
"color": "#ddd",
"code_header_color": "#ddd",
"focus_background_color": "#494a3d",
"headings_color": "#ddd",
},
)
call-function: (
"check-colors",
{
"theme": "light",
"color": "black",
"code_header_color": "black",
"focus_background_color": "#fdffd3",
"headings_color": "black",
},
)

View file

@ -1,256 +0,0 @@
// This test checks the position of the `i` for the notable traits.
include: "utils.goml"
go-to: "file://" + |DOC_PATH| + "/test_docs/struct.NotableStructWithLongName.html"
show-text: true
define-function: (
"check-notable-tooltip-position",
[x, i_x],
block {
// Checking they have the same y position.
compare-elements-position-near: (
"//*[@id='method.create_an_iterator_from_read']//a[normalize-space()='NotableStructWithLongName']",
"//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']",
{"y": 1},
)
// Checking they don't have the same x position.
compare-elements-position-false: (
"//*[@id='method.create_an_iterator_from_read']//a[normalize-space()='NotableStructWithLongName']",
"//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']",
["x"],
)
// The `i` should be *after* the type.
assert-position: (
"//*[@id='method.create_an_iterator_from_read']//a[normalize-space()='NotableStructWithLongName']",
{"x": |x|},
)
assert-position: (
"//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']",
{"x": |i_x|},
)
},
)
define-function: (
"check-notable-tooltip-position-complete",
[x, i_x, popover_x],
block {
call-function: ("check-notable-tooltip-position", {"x": |x|, "i_x": |i_x|})
assert-count: ("//*[@class='tooltip popover']", 0)
click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']"
assert-count: ("//*[@class='tooltip popover']", 1)
compare-elements-position-near: (
"//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']",
"//*[@class='tooltip popover']",
{"y": 30}
)
compare-elements-position-false: (
"//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']",
"//*[@class='tooltip popover']",
["x"]
)
assert-position: (
"//*[@class='tooltip popover']",
{"x": |popover_x|}
)
click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']"
move-cursor-to: "//h1"
assert-count: ("//*[@class='tooltip popover']", 0)
},
)
// We start with a wide screen.
set-window-size: (1100, 600)
call-function: ("check-notable-tooltip-position-complete", {
"x": 682,
"i_x": 960,
"popover_x": 468,
})
// Now only the `i` should be on the next line.
set-window-size: (1055, 600)
compare-elements-position-false: (
"//*[@id='method.create_an_iterator_from_read']//a[normalize-space()='NotableStructWithLongName']",
"//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']",
["y", "x"],
)
// Now both the `i` and the struct name should be on the next line.
set-window-size: (980, 600)
call-function: ("check-notable-tooltip-position", {
"x": 250,
"i_x": 528,
})
go-to: "file://" + |DOC_PATH| + "/test_docs/struct.NotableStructWithLongName.html"
// This is needed to ensure that the text color is computed.
show-text: true
// Now check the colors.
define-function: (
"check-colors",
[theme, header_color, content_color, type_color, trait_color, link_color],
block {
call-function: ("switch-theme", {"theme": |theme|})
assert-css: (
"//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']",
{"color": |content_color|},
ALL,
)
move-cursor-to: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']"
wait-for-count: (".tooltip.popover", 1)
assert-css: (
"//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']",
{"color": |link_color|},
ALL,
)
assert-css: (
".tooltip.popover h3",
{"color": |header_color|},
ALL,
)
assert-css: (
".tooltip.popover pre",
{"color": |content_color|},
ALL,
)
assert-css: (
".tooltip.popover pre a.struct",
{"color": |type_color|},
ALL,
)
assert-css: (
".tooltip.popover pre a.trait",
{"color": |trait_color|},
ALL,
)
},
)
call-function: (
"check-colors",
{
"theme": "ayu",
"link_color": "#39afd7",
"content_color": "#e6e1cf",
"header_color": "#fff",
"type_color": "#ffa0a5",
"trait_color": "#39afd7",
},
)
call-function: (
"check-colors",
{
"theme": "dark",
"link_color": "#d2991d",
"content_color": "#ddd",
"header_color": "#ddd",
"type_color": "#2dbfb8",
"trait_color": "#b78cf2",
},
)
call-function: (
"check-colors",
{
"theme": "light",
"link_color": "#3873ad",
"content_color": "black",
"header_color": "black",
"type_color": "#ad378a",
"trait_color": "#6e4fc9",
},
)
// Checking on mobile now.
set-window-size: (650, 600)
wait-for-size: ("body", {"width": 650})
call-function: ("check-notable-tooltip-position-complete", {
"x": 26,
"i_x": 305,
"popover_x": 0,
})
reload:
// Check that pressing escape works
click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']"
move-cursor-to: "//*[@class='tooltip popover']"
assert-count: ("//*[@class='tooltip popover']", 1)
press-key: "Escape"
assert-count: ("//*[@class='tooltip popover']", 0)
assert: "#method\.create_an_iterator_from_read .tooltip:focus"
// Check that clicking outside works.
click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']"
assert-count: ("//*[@class='tooltip popover']", 1)
click: ".main-heading h1"
assert-count: ("//*[@class='tooltip popover']", 0)
assert-false: "#method\.create_an_iterator_from_read .tooltip:focus"
// Check that pressing tab over and over works.
click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']"
move-cursor-to: "//*[@class='tooltip popover']"
assert-count: ("//*[@class='tooltip popover']", 1)
press-key: "Tab"
press-key: "Tab"
press-key: "Tab"
press-key: "Tab"
press-key: "Tab"
press-key: "Tab"
press-key: "Tab"
assert-count: ("//*[@class='tooltip popover']", 0)
assert: "#method\.create_an_iterator_from_read .tooltip:focus"
define-function: (
"setup-popup",
[],
block {
store-window-property: {"scrollY": scroll}
click: "#method\.create_an_iterator_from_read .fn"
// We ensure that the scroll position changed.
assert-window-property-false: {"scrollY": |scroll|}
// Store the new position.
store-window-property: {"scrollY": scroll}
click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']"
wait-for: "//*[@class='tooltip popover']"
click: ".main-heading h1"
}
)
// Now we check that the focus isn't given back to the wrong item when opening
// another popover.
call-function: ("setup-popup", {})
click: ".main-heading h1"
// We ensure we didn't come back to the previous focused item.
assert-window-property-false: {"scrollY": |scroll|}
// Same but with Escape handling.
call-function: ("setup-popup", {})
press-key: "Escape"
// We ensure we didn't come back to the previous focused item.
assert-window-property-false: {"scrollY": |scroll|}
// Opening the mobile sidebar should close the popover.
set-window-size: (650, 600)
click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']"
assert-count: ("//*[@class='tooltip popover']", 1)
click: ".sidebar-menu-toggle"
assert: "//*[@class='sidebar shown']"
assert-count: ("//*[@class='tooltip popover']", 0)
assert-false: "#method\.create_an_iterator_from_read .tooltip:focus"
// Also check the focus handling for the settings button.
set-window-size: (1100, 600)
reload:
assert-count: ("//*[@class='tooltip popover']", 0)
click: "//*[@id='method.create_an_iterator_from_read']//*[@class='tooltip']"
wait-for-count: ("//*[@class='tooltip popover']", 1)
call-function: ("open-settings-menu", {})
wait-for-count: ("//*[@class='tooltip popover']", 0)
assert-false: "#method\.create_an_iterator_from_read .tooltip:focus"

View file

@ -1,86 +0,0 @@
// Checks that the crate search filtering is handled correctly and changes the results.
include: "utils.goml"
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
show-text: true
call-function: ("perform-search", {"query": "test"})
assert-text: ("#results .externcrate", "test_docs")
wait-for: "#crate-search"
// We now want to change the crate filter.
click: "#crate-search"
// We select "lib2" option then press enter to change the filter.
press-key: "ArrowDown"
press-key: "ArrowDown"
press-key: "ArrowDown"
press-key: "ArrowDown"
press-key: "ArrowDown"
press-key: "Enter"
// Waiting for the search results to appear...
wait-for: "#search-tabs"
wait-for-false: "#search-tabs .count.loading"
assert-document-property: ({"URL": "&filter-crate="}, CONTAINS)
// We check that there is no more "test_docs" appearing.
assert-false: "#results .externcrate"
// We also check that "lib2" is the filter crate.
assert-property: ("#crate-search", {"value": "lib2"})
// Now we check that leaving the search results and putting them back keeps the
// crate filtering.
press-key: "Escape"
wait-for-css: ("#main-content", {"display": "block"})
click: "#search-button"
wait-for: ".search-input"
wait-for-css: ("#main-content", {"display": "none"})
// We check that there is no more "test_docs" appearing.
assert-false: "#results .externcrate"
assert-property: ("#crate-search", {"value": "lib2"})
// Selecting back "All crates"
click: "#crate-search"
press-key: "ArrowUp"
press-key: "ArrowUp"
press-key: "ArrowUp"
press-key: "ArrowUp"
press-key: "ArrowUp"
press-key: "Enter"
// Waiting for the search results to appear...
wait-for: "#search-tabs"
wait-for-false: "#search-tabs .count.loading"
assert-property: ("#crate-search", {"value": "all crates"})
// Checking that the URL parameter is taken into account for crate filtering.
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html?search=test&filter-crate=lib2"
wait-for: "#crate-search"
assert-property: ("#crate-search", {"value": "lib2"})
assert-false: "#results .externcrate"
// Checking that the text for the "title" is correct (the "all crates" comes from the "<select>").
assert-text: (".search-switcher", "Search results in all crates", STARTS_WITH)
// Checking the display of the crate filter.
// We start with the light theme.
call-function: ("switch-theme", {"theme": "light"})
set-timeout: 2000
wait-for: "#crate-search"
assert-css: ("#crate-search", {
"border": "1px solid #e0e0e0",
"color": "black",
"background-color": "white",
})
// We now check the dark theme.
call-function: ("switch-theme", {"theme": "dark"})
wait-for-css: ("#crate-search", {
"border": "1px solid #e0e0e0",
"color": "#ddd",
"background-color": "#353535",
})
// And finally we check the ayu theme.
call-function: ("switch-theme", {"theme": "ayu"})
wait-for-css: ("#crate-search", {
"border": "1px solid #5c6773",
"color": "#c5c5c5",
"background-color": "#0f1419",
})

View file

@ -1,114 +0,0 @@
// ignore-tidy-linelength
// Checks that the search results have the expected width.
include: "utils.goml"
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
set-window-size: (900, 1000)
write-into: (".search-input", "test")
// To be SURE that the search will be run.
press-key: 'Enter'
wait-for: "#crate-search"
wait-for-false: "#search-tabs .count.loading"
// The width is returned by "getComputedStyle" which returns the exact number instead of the
// CSS rule which is "50%"...
assert-size: (".search-results div.desc", {"width": 248})
store-size: (".search-results .result-name .typename", {"width": width})
set-window-size: (600, 100)
// As counter-intuitive as it may seem, in this width, the width is "100%", which is why
// when computed it's larger.
assert-size: (".search-results div.desc", {"width": 566})
// The result set is all on one line.
compare-elements-position-near: (
".search-results .result-name .typename",
".search-results .result-name .path",
{"y": 2},
)
compare-elements-position-near-false: (
".search-results .result-name .typename",
".search-results .result-name .path",
{"x": 5},
)
// The width of the "typename" isn't fixed anymore in this display mode.
store-size: (".search-results .result-name .typename", {"width": new_width})
assert: |new_width| < |width| - 10
// Check that if the search is too long on mobile, it'll go under the "typename".
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html?search=SuperIncrediblyLongLongLongLongLongLongLongGigaGigaGigaMegaLongLongLongStructName"
wait-for: "#crate-search"
wait-for-false: "#search-tabs .count.loading"
compare-elements-position-near: (
".search-results .result-name .typename",
".search-results .result-name .path",
{"y": 2, "x": 0},
)
compare-elements-size-near: (
".search-results .result-name",
".search-results .result-name .path",
{"width": 8, "height": 8},
)
// Check that the crate filter `<select>` is correctly handled when it goes to next line.
// To do so we need to update the length of one of its `<option>`.
set-window-size: (900, 900)
// First we check the current width, height and position.
assert-css: ("#crate-search", {"width": "159px"})
store-size: (".search-switcher", {
"height": search_results_title_height,
"width": search_results_title_width,
})
assert-css: ("#search", {"width": "640px"})
// Then we update the text of one of the `<option>`.
set-text: (
"#crate-search option",
"sdjfaksdjfaksjdbfkadsbfkjsadbfkdsbkfbsadkjfbkdsabfkadsfkjdsafa",
)
// Then we compare again to confirm the height didn't change.
assert-size: ("#crate-search", {"width": 185})
assert-size: (".search-switcher", {
"height": |search_results_title_height|,
})
assert-css: ("#search", {"width": "640px"})
assert: |search_results_title_width| <= 640
// Now checking that the crate filter is working as expected too.
show-text: true
define-function: (
"check-filter",
[theme, border, filter, hover_border, hover_filter],
block {
call-function: ("switch-theme", {"theme": |theme|})
wait-for: "#crate-search"
wait-for-false: "#search-tabs .count.loading"
assert-css: ("#crate-search", {"border": "1px solid " + |border|})
assert-css: ("#crate-search-div::after", {"filter": |filter|})
move-cursor-to: "#crate-search"
assert-css: ("#crate-search", {"border": "1px solid " + |hover_border|})
assert-css: ("#crate-search-div::after", {"filter": |hover_filter|})
move-cursor-to: ".search-input"
},
)
call-function: ("check-filter", {
"theme": "ayu",
"border": "#5c6773",
"filter": "invert(0.41) sepia(0.12) saturate(4.87) hue-rotate(171deg) brightness(0.94) contrast(0.94)",
"hover_border": "#e0e0e0",
"hover_filter": "invert(0.98) sepia(0.12) saturate(0.81) hue-rotate(343deg) brightness(1.13) contrast(0.76)",
})
call-function: ("check-filter", {
"theme": "dark",
"border": "#e0e0e0",
"filter": "invert(0.94) sepia(0) saturate(7.21) hue-rotate(255deg) brightness(0.9) contrast(0.9)",
"hover_border": "#2196f3",
"hover_filter": "invert(0.69) sepia(0.6) saturate(66.13) hue-rotate(184deg) brightness(1) contrast(0.91)",
})
call-function: ("check-filter", {
"theme": "light",
"border": "#e0e0e0",
"filter": "invert(1) sepia(0) saturate(42.23) hue-rotate(289deg) brightness(1.14) contrast(0.76)",
"hover_border": "#717171",
"hover_filter": "invert(0.44) sepia(0.18) saturate(0.23) hue-rotate(317deg) brightness(0.96) contrast(0.93)",
})

View file

@ -64,6 +64,12 @@ pub type GenericTypeAlias = (Generic<(u32, ())>, Generic<u32>);
//@ hasraw type_layout/type.Edges.html 'Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.' //@ hasraw type_layout/type.Edges.html 'Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.'
pub type Edges<'a, E> = std::borrow::Cow<'a, [E]>; pub type Edges<'a, E> = std::borrow::Cow<'a, [E]>;
pub trait Project { type Assoc; }
// We can't compute layout as the alias stays rigid. A `LayoutError::TooGeneric` is returned.
//@ hasraw type_layout/struct.RigidAlias.html 'Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.'
//@ !hasraw - 'Size: '
pub struct RigidAlias(<() as Project>::Assoc) where for<'a> (): Project;
//@ !hasraw type_layout/trait.MyTrait.html 'Size: ' //@ !hasraw type_layout/trait.MyTrait.html 'Size: '
pub trait MyTrait {} pub trait MyTrait {}
@ -92,9 +98,3 @@ pub enum Uninhabited {}
//@ hasraw type_layout/struct.Uninhabited2.html 'Size: ' //@ hasraw type_layout/struct.Uninhabited2.html 'Size: '
//@ hasraw - '8 bytes (<a href="{{channel}}/reference/glossary.html#uninhabited">uninhabited</a>)' //@ hasraw - '8 bytes (<a href="{{channel}}/reference/glossary.html#uninhabited">uninhabited</a>)'
pub struct Uninhabited2(std::convert::Infallible, u64); pub struct Uninhabited2(std::convert::Infallible, u64);
pub trait Project { type Assoc; }
// We can't compute layout. A `LayoutError::Unknown` is returned.
//@ hasraw type_layout/struct.Unknown.html 'Unable to compute type layout.'
//@ !hasraw - 'Size: '
pub struct Unknown(<() as Project>::Assoc) where for<'a> (): Project;

View file

@ -1,29 +1,30 @@
// regression test for https://github.com/rust-lang/rust/issues/149187 // regression test for https://github.com/rust-lang/rust/issues/149187
#![deny(invalid_doc_attributes)]
#![doc(html_favicon_url)] #![doc(html_favicon_url)]
//~^ ERROR: malformed `doc` attribute //~^ ERROR
//~| NOTE expected this to be of the form `html_favicon_url = "..."` //~| WARN
#![doc(html_logo_url)] #![doc(html_logo_url)]
//~^ ERROR: malformed `doc` attribute //~^ ERROR
//~| NOTE expected this to be of the form `html_logo_url = "..."` //~| WARN
#![doc(html_playground_url)] #![doc(html_playground_url)]
//~^ ERROR: malformed `doc` attribute //~^ ERROR
//~| NOTE expected this to be of the form `html_playground_url = "..."` //~| WARN
#![doc(issue_tracker_base_url)] #![doc(issue_tracker_base_url)]
//~^ ERROR: malformed `doc` attribute //~^ ERROR
//~| NOTE expected this to be of the form `issue_tracker_base_url = "..."` //~| WARN
#![doc(html_favicon_url = 1)] #![doc(html_favicon_url = 1)]
//~^ ERROR malformed `doc` attribute //~^ ERROR
//~| NOTE expected a string literal //~| WARN
#![doc(html_logo_url = 2)] #![doc(html_logo_url = 2)]
//~^ ERROR malformed `doc` attribute //~^ ERROR
//~| NOTE expected a string literal //~| WARN
#![doc(html_playground_url = 3)] #![doc(html_playground_url = 3)]
//~^ ERROR malformed `doc` attribute //~^ ERROR
//~| NOTE expected a string literal //~| WARN
#![doc(issue_tracker_base_url = 4)] #![doc(issue_tracker_base_url = 4)]
//~^ ERROR malformed `doc` attribute //~^ ERROR
//~| NOTE expected a string literal //~| WARN
#![doc(html_no_source = "asdf")] #![doc(html_no_source = "asdf")]
//~^ ERROR malformed `doc` attribute //~^ ERROR
//~| NOTE didn't expect any arguments here //~| WARN

View file

@ -1,76 +1,79 @@
error[E0539]: malformed `doc` attribute input error: expected this to be of the form `... = "..."`
--> $DIR/bad-render-options.rs:3:1 --> $DIR/bad-render-options.rs:4:8
| |
LL | #![doc(html_favicon_url)] LL | #![doc(html_favicon_url)]
| ^^^^^^^----------------^^ | ^^^^^^^^^^^^^^^^
| | |
| expected this to be of the form `html_favicon_url = "..."` = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
note: the lint level is defined here
--> $DIR/bad-render-options.rs:2:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error[E0539]: malformed `doc` attribute input error: expected this to be of the form `... = "..."`
--> $DIR/bad-render-options.rs:6:1 --> $DIR/bad-render-options.rs:7:8
| |
LL | #![doc(html_logo_url)] LL | #![doc(html_logo_url)]
| ^^^^^^^-------------^^ | ^^^^^^^^^^^^^
| | |
| expected this to be of the form `html_logo_url = "..."` = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error[E0539]: malformed `doc` attribute input error: expected this to be of the form `... = "..."`
--> $DIR/bad-render-options.rs:9:1 --> $DIR/bad-render-options.rs:10:8
| |
LL | #![doc(html_playground_url)] LL | #![doc(html_playground_url)]
| ^^^^^^^-------------------^^ | ^^^^^^^^^^^^^^^^^^^
| | |
| expected this to be of the form `html_playground_url = "..."` = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error[E0539]: malformed `doc` attribute input error: expected this to be of the form `... = "..."`
--> $DIR/bad-render-options.rs:12:1 --> $DIR/bad-render-options.rs:13:8
| |
LL | #![doc(issue_tracker_base_url)] LL | #![doc(issue_tracker_base_url)]
| ^^^^^^^----------------------^^ | ^^^^^^^^^^^^^^^^^^^^^^
| | |
| expected this to be of the form `issue_tracker_base_url = "..."` = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error[E0539]: malformed `doc` attribute input error: malformed `doc` attribute input
--> $DIR/bad-render-options.rs:15:1 --> $DIR/bad-render-options.rs:16:27
| |
LL | #![doc(html_favicon_url = 1)] LL | #![doc(html_favicon_url = 1)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^-^^ | ^
| | |
| expected a string literal here = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error[E0539]: malformed `doc` attribute input error: malformed `doc` attribute input
--> $DIR/bad-render-options.rs:18:1 --> $DIR/bad-render-options.rs:19:24
| |
LL | #![doc(html_logo_url = 2)] LL | #![doc(html_logo_url = 2)]
| ^^^^^^^^^^^^^^^^^^^^^^^-^^ | ^
| | |
| expected a string literal here = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error[E0539]: malformed `doc` attribute input error: malformed `doc` attribute input
--> $DIR/bad-render-options.rs:21:1 --> $DIR/bad-render-options.rs:22:30
| |
LL | #![doc(html_playground_url = 3)] LL | #![doc(html_playground_url = 3)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-^^ | ^
| | |
| expected a string literal here = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error[E0539]: malformed `doc` attribute input error: malformed `doc` attribute input
--> $DIR/bad-render-options.rs:24:1 --> $DIR/bad-render-options.rs:25:33
| |
LL | #![doc(issue_tracker_base_url = 4)] LL | #![doc(issue_tracker_base_url = 4)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-^^ | ^
| | |
| expected a string literal here = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error[E0565]: malformed `doc` attribute input error: didn't expect any arguments here
--> $DIR/bad-render-options.rs:27:1 --> $DIR/bad-render-options.rs:28:23
| |
LL | #![doc(html_no_source = "asdf")] LL | #![doc(html_no_source = "asdf")]
| ^^^^^^^^^^^^^^^^^^^^^^--------^^ | ^^^^^^^^
| | |
| didn't expect any arguments here = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error: aborting due to 9 previous errors error: aborting due to 9 previous errors
Some errors have detailed explanations: E0539, E0565.
For more information about an error, try `rustc --explain E0539`.

View file

@ -1,11 +1,13 @@
//@ compile-flags: --passes unknown-pass //@ compile-flags: --passes unknown-pass
#![deny(invalid_doc_attributes)]
//~^ NOTE
#![doc(no_default_passes)] #![doc(no_default_passes)]
//~^ ERROR unknown `doc` attribute `no_default_passes` //~^ ERROR unknown `doc` attribute `no_default_passes`
//~| NOTE no longer functions //~| NOTE no longer functions
//~| NOTE see issue #44136 //~| NOTE see issue #44136
//~| NOTE `doc(no_default_passes)` is now a no-op //~| NOTE `doc(no_default_passes)` is now a no-op
//~| NOTE `#[deny(invalid_doc_attributes)]` on by default
#![doc(passes = "collapse-docs unindent-comments")] #![doc(passes = "collapse-docs unindent-comments")]
//~^ ERROR unknown `doc` attribute `passes` //~^ ERROR unknown `doc` attribute `passes`
//~| NOTE no longer functions //~| NOTE no longer functions

View file

@ -4,17 +4,21 @@ warning: the `passes` flag no longer functions
= help: you may want to use --document-private-items = help: you may want to use --document-private-items
error: unknown `doc` attribute `no_default_passes` error: unknown `doc` attribute `no_default_passes`
--> $DIR/deprecated-attrs.rs:3:8 --> $DIR/deprecated-attrs.rs:6:8
| |
LL | #![doc(no_default_passes)] LL | #![doc(no_default_passes)]
| ^^^^^^^^^^^^^^^^^ no longer functions | ^^^^^^^^^^^^^^^^^ no longer functions
| |
= note: `doc` attribute `no_default_passes` no longer functions; see issue #44136 <https://github.com/rust-lang/rust/issues/44136> = note: `doc` attribute `no_default_passes` no longer functions; see issue #44136 <https://github.com/rust-lang/rust/issues/44136>
= note: `doc(no_default_passes)` is now a no-op = note: `doc(no_default_passes)` is now a no-op
= note: `#[deny(invalid_doc_attributes)]` on by default note: the lint level is defined here
--> $DIR/deprecated-attrs.rs:3:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: unknown `doc` attribute `passes` error: unknown `doc` attribute `passes`
--> $DIR/deprecated-attrs.rs:9:8 --> $DIR/deprecated-attrs.rs:11:8
| |
LL | #![doc(passes = "collapse-docs unindent-comments")] LL | #![doc(passes = "collapse-docs unindent-comments")]
| ^^^^^^ no longer functions | ^^^^^^ no longer functions
@ -23,7 +27,7 @@ LL | #![doc(passes = "collapse-docs unindent-comments")]
= note: `doc(passes)` is now a no-op = note: `doc(passes)` is now a no-op
error: unknown `doc` attribute `plugins` error: unknown `doc` attribute `plugins`
--> $DIR/deprecated-attrs.rs:14:8 --> $DIR/deprecated-attrs.rs:16:8
| |
LL | #![doc(plugins = "xxx")] LL | #![doc(plugins = "xxx")]
| ^^^^^^^ no longer functions | ^^^^^^^ no longer functions

View file

@ -1,3 +1,4 @@
#![deny(invalid_doc_attributes)]
#![feature(doc_cfg)] #![feature(doc_cfg)]
#[doc(cfg(foo), cfg(bar))] #[doc(cfg(foo), cfg(bar))]

View file

@ -1,5 +1,5 @@
warning: unexpected `cfg` condition name: `foo` warning: unexpected `cfg` condition name: `foo`
--> $DIR/doc-cfg-2.rs:3:11 --> $DIR/doc-cfg-2.rs:4:11
| |
LL | #[doc(cfg(foo), cfg(bar))] LL | #[doc(cfg(foo), cfg(bar))]
| ^^^ | ^^^
@ -10,7 +10,7 @@ LL | #[doc(cfg(foo), cfg(bar))]
= note: `#[warn(unexpected_cfgs)]` on by default = note: `#[warn(unexpected_cfgs)]` on by default
warning: unexpected `cfg` condition name: `bar` warning: unexpected `cfg` condition name: `bar`
--> $DIR/doc-cfg-2.rs:3:21 --> $DIR/doc-cfg-2.rs:4:21
| |
LL | #[doc(cfg(foo), cfg(bar))] LL | #[doc(cfg(foo), cfg(bar))]
| ^^^ | ^^^
@ -19,45 +19,49 @@ LL | #[doc(cfg(foo), cfg(bar))]
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
error: only `hide` or `show` are allowed in `#[doc(auto_cfg(...))]` error: only `hide` or `show` are allowed in `#[doc(auto_cfg(...))]`
--> $DIR/doc-cfg-2.rs:6:16 --> $DIR/doc-cfg-2.rs:7:16
| |
LL | #[doc(auto_cfg(42))] LL | #[doc(auto_cfg(42))]
| ^^ | ^^
| |
= note: `#[deny(invalid_doc_attributes)]` on by default note: the lint level is defined here
--> $DIR/doc-cfg-2.rs:1:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: `#![doc(auto_cfg(hide(...)))]` only accepts identifiers or key/value items error: `#![doc(auto_cfg(hide(...)))]` only accepts identifiers or key/value items
--> $DIR/doc-cfg-2.rs:7:21 --> $DIR/doc-cfg-2.rs:8:21
| |
LL | #[doc(auto_cfg(hide(true)))] LL | #[doc(auto_cfg(hide(true)))]
| ^^^^ | ^^^^
error: `#![doc(auto_cfg(hide(...)))]` only accepts identifiers or key/value items error: `#![doc(auto_cfg(hide(...)))]` only accepts identifiers or key/value items
--> $DIR/doc-cfg-2.rs:8:21 --> $DIR/doc-cfg-2.rs:9:21
| |
LL | #[doc(auto_cfg(hide(42)))] LL | #[doc(auto_cfg(hide(42)))]
| ^^ | ^^
error: `#![doc(auto_cfg(hide(...)))]` only accepts identifiers or key/value items error: `#![doc(auto_cfg(hide(...)))]` only accepts identifiers or key/value items
--> $DIR/doc-cfg-2.rs:9:21 --> $DIR/doc-cfg-2.rs:10:21
| |
LL | #[doc(auto_cfg(hide("a")))] LL | #[doc(auto_cfg(hide("a")))]
| ^^^ | ^^^
error: expected boolean for `#[doc(auto_cfg = ...)]` error: expected boolean for `#[doc(auto_cfg = ...)]`
--> $DIR/doc-cfg-2.rs:10:18 --> $DIR/doc-cfg-2.rs:11:18
| |
LL | #[doc(auto_cfg = 42)] LL | #[doc(auto_cfg = 42)]
| ^^ | ^^
error: expected boolean for `#[doc(auto_cfg = ...)]` error: expected boolean for `#[doc(auto_cfg = ...)]`
--> $DIR/doc-cfg-2.rs:11:18 --> $DIR/doc-cfg-2.rs:12:18
| |
LL | #[doc(auto_cfg = "a")] LL | #[doc(auto_cfg = "a")]
| ^^^ | ^^^
warning: unexpected `cfg` condition name: `feature` warning: unexpected `cfg` condition name: `feature`
--> $DIR/doc-cfg-2.rs:14:21 --> $DIR/doc-cfg-2.rs:15:21
| |
LL | #[doc(auto_cfg(hide(feature = "windows")))] LL | #[doc(auto_cfg(hide(feature = "windows")))]
| ^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^
@ -66,7 +70,7 @@ LL | #[doc(auto_cfg(hide(feature = "windows")))]
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg.html> for more information about checking conditional configuration
warning: unexpected `cfg` condition name: `foo` warning: unexpected `cfg` condition name: `foo`
--> $DIR/doc-cfg-2.rs:16:21 --> $DIR/doc-cfg-2.rs:17:21
| |
LL | #[doc(auto_cfg(hide(foo)))] LL | #[doc(auto_cfg(hide(foo)))]
| ^^^ | ^^^

View file

@ -1,9 +1,10 @@
#![deny(invalid_doc_attributes)]
#![feature(doc_cfg)] #![feature(doc_cfg)]
#[doc(cfg(), cfg(foo, bar))] #[doc(cfg(), cfg(foo, bar))]
//~^ ERROR malformed `doc` attribute input //~^ ERROR
//~| ERROR malformed `doc` attribute input //~| ERROR
#[doc(cfg())] //~ ERROR #[doc(cfg())] //~ ERROR
#[doc(cfg(foo, bar))] //~ ERROR #[doc(cfg(foo, bar))] //~ ERROR
#[doc(auto_cfg(hide(foo::bar)))] //~ ERROR #[doc(auto_cfg(hide(foo::bar)))]
pub fn foo() {} pub fn foo() {}

View file

@ -1,5 +1,5 @@
error[E0805]: malformed `doc` attribute input error[E0805]: malformed `doc` attribute input
--> $DIR/doc-cfg.rs:3:1 --> $DIR/doc-cfg.rs:4:1
| |
LL | #[doc(cfg(), cfg(foo, bar))] LL | #[doc(cfg(), cfg(foo, bar))]
| ^^^^^^^^^--^^^^^^^^^^^^^^^^^ | ^^^^^^^^^--^^^^^^^^^^^^^^^^^
@ -7,7 +7,7 @@ LL | #[doc(cfg(), cfg(foo, bar))]
| expected a single argument here | expected a single argument here
error[E0805]: malformed `doc` attribute input error[E0805]: malformed `doc` attribute input
--> $DIR/doc-cfg.rs:3:1 --> $DIR/doc-cfg.rs:4:1
| |
LL | #[doc(cfg(), cfg(foo, bar))] LL | #[doc(cfg(), cfg(foo, bar))]
| ^^^^^^^^^^^^^^^^----------^^ | ^^^^^^^^^^^^^^^^----------^^
@ -15,7 +15,7 @@ LL | #[doc(cfg(), cfg(foo, bar))]
| expected a single argument here | expected a single argument here
error[E0805]: malformed `doc` attribute input error[E0805]: malformed `doc` attribute input
--> $DIR/doc-cfg.rs:6:1 --> $DIR/doc-cfg.rs:7:1
| |
LL | #[doc(cfg())] LL | #[doc(cfg())]
| ^^^^^^^^^--^^ | ^^^^^^^^^--^^
@ -23,22 +23,13 @@ LL | #[doc(cfg())]
| expected a single argument here | expected a single argument here
error[E0805]: malformed `doc` attribute input error[E0805]: malformed `doc` attribute input
--> $DIR/doc-cfg.rs:7:1 --> $DIR/doc-cfg.rs:8:1
| |
LL | #[doc(cfg(foo, bar))] LL | #[doc(cfg(foo, bar))]
| ^^^^^^^^^----------^^ | ^^^^^^^^^----------^^
| | | |
| expected a single argument here | expected a single argument here
error[E0539]: malformed `doc` attribute input error: aborting due to 4 previous errors
--> $DIR/doc-cfg.rs:8:1
|
LL | #[doc(auto_cfg(hide(foo::bar)))]
| ^^^^^^^^^^^^^^^^^^^^--------^^^^
| |
| expected a valid identifier here
error: aborting due to 5 previous errors For more information about this error, try `rustc --explain E0805`.
Some errors have detailed explanations: E0539, E0805.
For more information about an error, try `rustc --explain E0539`.

View file

@ -1,6 +1,8 @@
#![deny(invalid_doc_attributes)]
//~^ NOTE
#[doc(include = "external-cross-doc.md")] #[doc(include = "external-cross-doc.md")]
//~^ ERROR unknown `doc` attribute `include` //~^ ERROR unknown `doc` attribute `include`
//~| HELP use `doc = include_str!` instead //~| HELP use `doc = include_str!` instead
// FIXME(#85497): make this a deny instead so it's more clear what's happening // FIXME(#85497): make this a deny instead so it's more clear what's happening
//~| NOTE on by default
pub struct NeedMoreDocs; pub struct NeedMoreDocs;

View file

@ -1,10 +1,14 @@
error: unknown `doc` attribute `include` error: unknown `doc` attribute `include`
--> $DIR/doc-include-suggestion.rs:1:7 --> $DIR/doc-include-suggestion.rs:4:7
| |
LL | #[doc(include = "external-cross-doc.md")] LL | #[doc(include = "external-cross-doc.md")]
| ^^^^^^^ help: use `doc = include_str!` instead: `#[doc = include_str!("external-cross-doc.md")]` | ^^^^^^^ help: use `doc = include_str!` instead: `#[doc = include_str!("external-cross-doc.md")]`
| |
= note: `#[deny(invalid_doc_attributes)]` on by default note: the lint level is defined here
--> $DIR/doc-include-suggestion.rs:1:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 1 previous error error: aborting due to 1 previous error

View file

@ -1,3 +1,4 @@
#![deny(invalid_doc_attributes)]
#![crate_type = "lib"] #![crate_type = "lib"]
#![doc(test)] #![doc(test)]

View file

@ -1,19 +1,23 @@
error: `#[doc(test(...)]` takes a list of attributes error: `#[doc(test(...)]` takes a list of attributes
--> $DIR/doc-test-attr.rs:3:8 --> $DIR/doc-test-attr.rs:4:8
| |
LL | #![doc(test)] LL | #![doc(test)]
| ^^^^ | ^^^^
| |
= note: `#[deny(invalid_doc_attributes)]` on by default note: the lint level is defined here
--> $DIR/doc-test-attr.rs:1:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: `#[doc(test(...)]` takes a list of attributes error: `#[doc(test(...)]` takes a list of attributes
--> $DIR/doc-test-attr.rs:5:13 --> $DIR/doc-test-attr.rs:6:13
| |
LL | #![doc(test = "hello")] LL | #![doc(test = "hello")]
| ^^^^^^^^^ | ^^^^^^^^^
error: unknown `doc(test)` attribute `a` error: unknown `doc(test)` attribute `a`
--> $DIR/doc-test-attr.rs:7:13 --> $DIR/doc-test-attr.rs:8:13
| |
LL | #![doc(test(a))] LL | #![doc(test(a))]
| ^ | ^

View file

@ -1,3 +1,4 @@
#![deny(invalid_doc_attributes)]
#![doc(as_ptr)] #![doc(as_ptr)]
//~^ ERROR unknown `doc` attribute `as_ptr` //~^ ERROR unknown `doc` attribute `as_ptr`

View file

@ -1,25 +1,29 @@
error: unknown `doc` attribute `as_ptr` error: unknown `doc` attribute `as_ptr`
--> $DIR/doc-attr-2.rs:4:7 --> $DIR/doc-attr-2.rs:5:7
| |
LL | #[doc(as_ptr)] LL | #[doc(as_ptr)]
| ^^^^^^ | ^^^^^^
| |
= note: `#[deny(invalid_doc_attributes)]` on by default note: the lint level is defined here
--> $DIR/doc-attr-2.rs:1:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: unknown `doc` attribute `foo::bar` error: unknown `doc` attribute `foo::bar`
--> $DIR/doc-attr-2.rs:8:7 --> $DIR/doc-attr-2.rs:9:7
| |
LL | #[doc(foo::bar, crate::bar::baz = "bye")] LL | #[doc(foo::bar, crate::bar::baz = "bye")]
| ^^^^^^^^ | ^^^^^^^^
error: unknown `doc` attribute `crate::bar::baz` error: unknown `doc` attribute `crate::bar::baz`
--> $DIR/doc-attr-2.rs:8:17 --> $DIR/doc-attr-2.rs:9:17
| |
LL | #[doc(foo::bar, crate::bar::baz = "bye")] LL | #[doc(foo::bar, crate::bar::baz = "bye")]
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
error: unknown `doc` attribute `as_ptr` error: unknown `doc` attribute `as_ptr`
--> $DIR/doc-attr-2.rs:1:8 --> $DIR/doc-attr-2.rs:2:8
| |
LL | #![doc(as_ptr)] LL | #![doc(as_ptr)]
| ^^^^^^ | ^^^^^^

View file

@ -1,8 +1,12 @@
#![crate_type = "lib"] #![crate_type = "lib"]
#![deny(invalid_doc_attributes)]
#[doc(123)] #[doc(123)]
//~^ ERROR malformed `doc` attribute //~^ ERROR
//~| WARN
#[doc("hello", "bar")] #[doc("hello", "bar")]
//~^ ERROR malformed `doc` attribute //~^ ERROR
//~| ERROR malformed `doc` attribute //~| ERROR
//~| WARN
//~| WARN
fn bar() {} fn bar() {}

View file

@ -1,27 +1,31 @@
error[E0539]: malformed `doc` attribute input error: expected this to be of the form `... = "..."`
--> $DIR/doc-attr.rs:3:1 --> $DIR/doc-attr.rs:4:7
| |
LL | #[doc(123)] LL | #[doc(123)]
| ^^^^^^---^^ | ^^^
| | |
| expected this to be of the form `... = "..."` = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
note: the lint level is defined here
--> $DIR/doc-attr.rs:2:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error[E0539]: malformed `doc` attribute input error: expected this to be of the form `... = "..."`
--> $DIR/doc-attr.rs:5:1 --> $DIR/doc-attr.rs:7:7
| |
LL | #[doc("hello", "bar")] LL | #[doc("hello", "bar")]
| ^^^^^^-------^^^^^^^^^ | ^^^^^^^
| | |
| expected this to be of the form `... = "..."` = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error[E0539]: malformed `doc` attribute input error: expected this to be of the form `... = "..."`
--> $DIR/doc-attr.rs:5:1 --> $DIR/doc-attr.rs:7:16
| |
LL | #[doc("hello", "bar")] LL | #[doc("hello", "bar")]
| ^^^^^^^^^^^^^^^-----^^ | ^^^^^
| | |
| expected this to be of the form `... = "..."` = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error: aborting due to 3 previous errors error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0539`.

View file

@ -1,5 +1,6 @@
//@ run-rustfix //@ run-rustfix
#![feature(doc_notable_trait)] #![feature(doc_notable_trait)]
#![deny(invalid_doc_attributes)]
#[doc(notable_trait)] #[doc(notable_trait)]
//~^ ERROR unknown `doc` attribute `spotlight` //~^ ERROR unknown `doc` attribute `spotlight`

View file

@ -1,5 +1,6 @@
//@ run-rustfix //@ run-rustfix
#![feature(doc_notable_trait)] #![feature(doc_notable_trait)]
#![deny(invalid_doc_attributes)]
#[doc(spotlight)] #[doc(spotlight)]
//~^ ERROR unknown `doc` attribute `spotlight` //~^ ERROR unknown `doc` attribute `spotlight`

View file

@ -1,12 +1,16 @@
error: unknown `doc` attribute `spotlight` error: unknown `doc` attribute `spotlight`
--> $DIR/doc-spotlight.rs:4:7 --> $DIR/doc-spotlight.rs:5:7
| |
LL | #[doc(spotlight)] LL | #[doc(spotlight)]
| ^^^^^^^^^ help: use `notable_trait` instead | ^^^^^^^^^ help: use `notable_trait` instead
| |
= note: `doc(spotlight)` was renamed to `doc(notable_trait)` = note: `doc(spotlight)` was renamed to `doc(notable_trait)`
= note: `doc(spotlight)` is now a no-op = note: `doc(spotlight)` is now a no-op
= note: `#[deny(invalid_doc_attributes)]` on by default note: the lint level is defined here
--> $DIR/doc-spotlight.rs:3:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 1 previous error error: aborting due to 1 previous error

View file

@ -1,3 +1,4 @@
#![deny(invalid_doc_attributes)]
#![feature(doc_cfg)] #![feature(doc_cfg)]
#![doc(auto_cfg(hide = "test"))] //~ ERROR #![doc(auto_cfg(hide = "test"))] //~ ERROR
#![doc(auto_cfg(hide))] //~ ERROR #![doc(auto_cfg(hide))] //~ ERROR

View file

@ -1,19 +1,23 @@
error: `#![doc(auto_cfg(hide(...)))]` expects a list of items error: `#![doc(auto_cfg(hide(...)))]` expects a list of items
--> $DIR/doc_cfg_hide.rs:2:17 --> $DIR/doc_cfg_hide.rs:3:17
| |
LL | #![doc(auto_cfg(hide = "test"))] LL | #![doc(auto_cfg(hide = "test"))]
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^
| |
= note: `#[deny(invalid_doc_attributes)]` on by default note: the lint level is defined here
--> $DIR/doc_cfg_hide.rs:1:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: `#![doc(auto_cfg(hide(...)))]` expects a list of items error: `#![doc(auto_cfg(hide(...)))]` expects a list of items
--> $DIR/doc_cfg_hide.rs:3:17 --> $DIR/doc_cfg_hide.rs:4:17
| |
LL | #![doc(auto_cfg(hide))] LL | #![doc(auto_cfg(hide))]
| ^^^^ | ^^^^
error: `#![doc(auto_cfg(hide(...)))]` only accepts identifiers or key/value items error: `#![doc(auto_cfg(hide(...)))]` only accepts identifiers or key/value items
--> $DIR/doc_cfg_hide.rs:4:22 --> $DIR/doc_cfg_hide.rs:5:22
| |
LL | #![doc(auto_cfg(hide(not(windows))))] LL | #![doc(auto_cfg(hide(not(windows))))]
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^

View file

@ -0,0 +1,6 @@
#![deny(invalid_doc_attributes)]
#![expect(unused_attributes)]
#![doc(test(no_crate_inject))]
#![doc(test(no_crate_inject))]
//~^ ERROR
//~| WARN

View file

@ -0,0 +1,20 @@
error: unused attribute
--> $DIR/duplicated-attr.rs:4:13
|
LL | #![doc(test(no_crate_inject))]
| ^^^^^^^^^^^^^^^ help: remove this attribute
|
note: attribute also specified here
--> $DIR/duplicated-attr.rs:3:13
|
LL | #![doc(test(no_crate_inject))]
| ^^^^^^^^^^^^^^^
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
note: the lint level is defined here
--> $DIR/duplicated-attr.rs:1:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 1 previous error

View file

@ -1,3 +1,4 @@
#![deny(invalid_doc_attributes)]
#![crate_type = "lib"] #![crate_type = "lib"]
#[doc(test(no_crate_inject))] #[doc(test(no_crate_inject))]

View file

@ -1,14 +1,18 @@
error: this attribute can only be applied at the crate level error: this attribute can only be applied at the crate level
--> $DIR/invalid-crate-level-lint.rs:3:12 --> $DIR/invalid-crate-level-lint.rs:4:12
| |
LL | #[doc(test(no_crate_inject))] LL | #[doc(test(no_crate_inject))]
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
| |
= note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#at-the-crate-level> for more information = note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#at-the-crate-level> for more information
= note: `#[deny(invalid_doc_attributes)]` on by default note: the lint level is defined here
--> $DIR/invalid-crate-level-lint.rs:1:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: this attribute can only be applied at the crate level error: this attribute can only be applied at the crate level
--> $DIR/invalid-crate-level-lint.rs:7:17 --> $DIR/invalid-crate-level-lint.rs:8:17
| |
LL | #![doc(test(no_crate_inject))] LL | #![doc(test(no_crate_inject))]
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
@ -16,7 +20,7 @@ LL | #![doc(test(no_crate_inject))]
= note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#at-the-crate-level> for more information = note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#at-the-crate-level> for more information
error: this attribute can only be applied at the crate level error: this attribute can only be applied at the crate level
--> $DIR/invalid-crate-level-lint.rs:10:16 --> $DIR/invalid-crate-level-lint.rs:11:16
| |
LL | #[doc(test(no_crate_inject))] LL | #[doc(test(no_crate_inject))]
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^

View file

@ -0,0 +1,7 @@
#![deny(invalid_doc_attributes)]
#![doc("other attribute")]
//~^ ERROR
//~| WARN
#![doc]
//~^ ERROR

View file

@ -0,0 +1,21 @@
error: expected this to be of the form `... = "..."`
--> $DIR/invalid-doc-attr-2.rs:3:8
|
LL | #![doc("other attribute")]
| ^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
note: the lint level is defined here
--> $DIR/invalid-doc-attr-2.rs:1:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: valid forms for the attribute are `#![doc = "string"]`, `#![doc(alias)]`, `#![doc(attribute)]`, `#![doc(auto_cfg)]`, `#![doc(cfg)]`, `#![doc(fake_variadic)]`, `#![doc(hidden)]`, `#![doc(html_favicon_url)]`, `#![doc(html_logo_url)]`, `#![doc(html_no_source)]`, `#![doc(html_playground_url)]`, `#![doc(html_root_url)]`, `#![doc(include)]`, `#![doc(inline)]`, `#![doc(issue_tracker_base_url)]`, `#![doc(keyword)]`, `#![doc(masked)]`, `#![doc(no_default_passes)]`, `#![doc(no_inline)]`, `#![doc(notable_trait)]`, `#![doc(passes)]`, `#![doc(plugins)]`, `#![doc(rust_logo)]`, `#![doc(search_unbox)]`, `#![doc(spotlight)]`, and `#![doc(test)]`
--> $DIR/invalid-doc-attr-2.rs:6:1
|
LL | #![doc]
| ^^^^^^^
error: aborting due to 2 previous errors

View file

@ -0,0 +1,22 @@
#![deny(invalid_doc_attributes)]
#![doc(test(no_crate_inject = 1))]
//~^ ERROR
//~| WARN
#![doc(test(attr = 1))]
//~^ ERROR
//~| WARN
#[doc(hidden = true)]
//~^ ERROR
//~| WARN
#[doc(hidden("or you will be fired"))]
//~^ ERROR
//~| WARN
#[doc(hidden = "handled transparently by codegen")]
//~^ ERROR
//~| WARN
#[doc = 1]
//~^ ERROR
//~| WARN
pub struct X;

View file

@ -0,0 +1,55 @@
error: didn't expect any arguments here
--> $DIR/invalid-doc-attr-3.rs:10:14
|
LL | #[doc(hidden = true)]
| ^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
note: the lint level is defined here
--> $DIR/invalid-doc-attr-3.rs:1:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: didn't expect any arguments here
--> $DIR/invalid-doc-attr-3.rs:13:13
|
LL | #[doc(hidden("or you will be fired"))]
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error: didn't expect any arguments here
--> $DIR/invalid-doc-attr-3.rs:16:14
|
LL | #[doc(hidden = "handled transparently by codegen")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error: malformed `doc` attribute input
--> $DIR/invalid-doc-attr-3.rs:19:9
|
LL | #[doc = 1]
| ^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error: didn't expect any arguments here
--> $DIR/invalid-doc-attr-3.rs:3:29
|
LL | #![doc(test(no_crate_inject = 1))]
| ^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error: malformed `doc` attribute input
--> $DIR/invalid-doc-attr-3.rs:6:1
|
LL | #![doc(test(attr = 1))]
| ^^^^^^^^^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error: aborting due to 6 previous errors

View file

@ -1,3 +1,4 @@
#![deny(invalid_doc_attributes)]
#![crate_type = "lib"] #![crate_type = "lib"]
#![feature(doc_masked)] #![feature(doc_masked)]

View file

@ -1,5 +1,5 @@
error: this attribute can only be applied to a `use` item error: this attribute can only be applied to a `use` item
--> $DIR/invalid-doc-attr.rs:7:7 --> $DIR/invalid-doc-attr.rs:8:7
| |
LL | #[doc(inline)] LL | #[doc(inline)]
| ^^^^^^ only applicable on `use` items | ^^^^^^ only applicable on `use` items
@ -8,10 +8,14 @@ LL | pub fn foo() {}
| ------------ not a `use` item | ------------ not a `use` item
| |
= note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#inline-and-no_inline> for more information = note: read <https://doc.rust-lang.org/nightly/rustdoc/the-doc-attribute.html#inline-and-no_inline> for more information
= note: `#[deny(invalid_doc_attributes)]` on by default note: the lint level is defined here
--> $DIR/invalid-doc-attr.rs:1:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: conflicting doc inlining attributes error: conflicting doc inlining attributes
--> $DIR/invalid-doc-attr.rs:17:7 --> $DIR/invalid-doc-attr.rs:18:7
| |
LL | #[doc(inline)] LL | #[doc(inline)]
| ^^^^^^ this attribute... | ^^^^^^ this attribute...
@ -21,7 +25,7 @@ LL | #[doc(no_inline)]
= help: remove one of the conflicting attributes = help: remove one of the conflicting attributes
error: this attribute can only be applied to an `extern crate` item error: this attribute can only be applied to an `extern crate` item
--> $DIR/invalid-doc-attr.rs:23:7 --> $DIR/invalid-doc-attr.rs:24:7
| |
LL | #[doc(masked)] LL | #[doc(masked)]
| ^^^^^^ only applicable on `extern crate` items | ^^^^^^ only applicable on `extern crate` items
@ -32,7 +36,7 @@ LL | pub struct Masked;
= note: read <https://doc.rust-lang.org/unstable-book/language-features/doc-masked.html> for more information = note: read <https://doc.rust-lang.org/unstable-book/language-features/doc-masked.html> for more information
error: this attribute cannot be applied to an `extern crate self` item error: this attribute cannot be applied to an `extern crate self` item
--> $DIR/invalid-doc-attr.rs:27:7 --> $DIR/invalid-doc-attr.rs:28:7
| |
LL | #[doc(masked)] LL | #[doc(masked)]
| ^^^^^^ not applicable on `extern crate self` items | ^^^^^^ not applicable on `extern crate self` items
@ -41,9 +45,10 @@ LL | pub extern crate self as reexport;
| --------------------------------- `extern crate self` defined here | --------------------------------- `extern crate self` defined here
error: this attribute can only be applied to an `extern crate` item error: this attribute can only be applied to an `extern crate` item
--> $DIR/invalid-doc-attr.rs:4:8 --> $DIR/invalid-doc-attr.rs:5:8
| |
LL | / #![crate_type = "lib"] LL | / #![deny(invalid_doc_attributes)]
LL | | #![crate_type = "lib"]
LL | | #![feature(doc_masked)] LL | | #![feature(doc_masked)]
LL | | LL | |
LL | | #![doc(masked)] LL | | #![doc(masked)]
@ -55,7 +60,7 @@ LL | | pub extern crate self as reexport;
= note: read <https://doc.rust-lang.org/unstable-book/language-features/doc-masked.html> for more information = note: read <https://doc.rust-lang.org/unstable-book/language-features/doc-masked.html> for more information
error: this attribute can only be applied to a `use` item error: this attribute can only be applied to a `use` item
--> $DIR/invalid-doc-attr.rs:12:11 --> $DIR/invalid-doc-attr.rs:13:11
| |
LL | #[doc(inline)] LL | #[doc(inline)]
| ^^^^^^ only applicable on `use` items | ^^^^^^ only applicable on `use` items

View file

@ -1,3 +1,4 @@
#![deny(invalid_doc_attributes)]
#![crate_type = "lib"] #![crate_type = "lib"]
#![doc(as_ptr)] #![doc(as_ptr)]
//~^ ERROR unknown `doc` attribute //~^ ERROR unknown `doc` attribute
@ -7,10 +8,13 @@
pub fn foo() {} pub fn foo() {}
#[doc(123)] #[doc(123)]
//~^ ERROR malformed `doc` attribute //~^ ERROR
//~| WARN
#[doc("hello", "bar")] #[doc("hello", "bar")]
//~^ ERROR malformed `doc` attribute //~^ ERROR
//~| ERROR malformed `doc` attribute //~| ERROR
//~| WARN
//~| WARN
#[doc(foo::bar, crate::bar::baz = "bye")] #[doc(foo::bar, crate::bar::baz = "bye")]
//~^ ERROR unknown `doc` attribute //~^ ERROR unknown `doc` attribute
//~| ERROR unknown `doc` attribute //~| ERROR unknown `doc` attribute

View file

@ -1,53 +1,56 @@
error[E0539]: malformed `doc` attribute input
--> $DIR/doc-attr.rs:9:1
|
LL | #[doc(123)]
| ^^^^^^---^^
| |
| expected this to be of the form `... = "..."`
error[E0539]: malformed `doc` attribute input
--> $DIR/doc-attr.rs:11:1
|
LL | #[doc("hello", "bar")]
| ^^^^^^-------^^^^^^^^^
| |
| expected this to be of the form `... = "..."`
error[E0539]: malformed `doc` attribute input
--> $DIR/doc-attr.rs:11:1
|
LL | #[doc("hello", "bar")]
| ^^^^^^^^^^^^^^^-----^^
| |
| expected this to be of the form `... = "..."`
error: unknown `doc` attribute `as_ptr` error: unknown `doc` attribute `as_ptr`
--> $DIR/doc-attr.rs:5:7 --> $DIR/doc-attr.rs:6:7
| |
LL | #[doc(as_ptr)] LL | #[doc(as_ptr)]
| ^^^^^^ | ^^^^^^
| |
= note: `#[deny(invalid_doc_attributes)]` on by default note: the lint level is defined here
--> $DIR/doc-attr.rs:1:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: expected this to be of the form `... = "..."`
--> $DIR/doc-attr.rs:10:7
|
LL | #[doc(123)]
| ^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error: expected this to be of the form `... = "..."`
--> $DIR/doc-attr.rs:13:7
|
LL | #[doc("hello", "bar")]
| ^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error: expected this to be of the form `... = "..."`
--> $DIR/doc-attr.rs:13:16
|
LL | #[doc("hello", "bar")]
| ^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
error: unknown `doc` attribute `foo::bar` error: unknown `doc` attribute `foo::bar`
--> $DIR/doc-attr.rs:14:7 --> $DIR/doc-attr.rs:18:7
| |
LL | #[doc(foo::bar, crate::bar::baz = "bye")] LL | #[doc(foo::bar, crate::bar::baz = "bye")]
| ^^^^^^^^ | ^^^^^^^^
error: unknown `doc` attribute `crate::bar::baz` error: unknown `doc` attribute `crate::bar::baz`
--> $DIR/doc-attr.rs:14:17 --> $DIR/doc-attr.rs:18:17
| |
LL | #[doc(foo::bar, crate::bar::baz = "bye")] LL | #[doc(foo::bar, crate::bar::baz = "bye")]
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
error: unknown `doc` attribute `as_ptr` error: unknown `doc` attribute `as_ptr`
--> $DIR/doc-attr.rs:2:8 --> $DIR/doc-attr.rs:3:8
| |
LL | #![doc(as_ptr)] LL | #![doc(as_ptr)]
| ^^^^^^ | ^^^^^^
error: aborting due to 7 previous errors error: aborting due to 7 previous errors
For more information about this error, try `rustc --explain E0539`.

View file

@ -1,4 +1,7 @@
#![deny(invalid_doc_attributes)]
#![doc(test(""))] #![doc(test(""))]
//~^ ERROR malformed `doc` attribute input //~^ ERROR
//~| WARN
fn main() {} fn main() {}

View file

@ -1,11 +1,15 @@
error[E0565]: malformed `doc` attribute input error: malformed `doc` attribute input
--> $DIR/doc-test-literal.rs:1:1 --> $DIR/doc-test-literal.rs:3:13
| |
LL | #![doc(test(""))] LL | #![doc(test(""))]
| ^^^^^^^^^^^^--^^^ | ^^
| | |
| didn't expect a literal here = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
note: the lint level is defined here
--> $DIR/doc-test-literal.rs:1:9
|
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 1 previous error error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0565`.

View file

@ -1,5 +1,6 @@
// This file contains a bunch of malformed attributes. // This file contains a bunch of malformed attributes.
// We enable a bunch of features to not get feature-gate errs in this test. // We enable a bunch of features to not get feature-gate errs in this test.
#![deny(invalid_doc_attributes)]
#![feature(rustc_attrs)] #![feature(rustc_attrs)]
#![feature(rustc_allow_const_fn_unstable)] #![feature(rustc_allow_const_fn_unstable)]
#![feature(allow_internal_unstable)] #![feature(allow_internal_unstable)]
@ -39,8 +40,7 @@
#[deprecated = 5] #[deprecated = 5]
//~^ ERROR malformed //~^ ERROR malformed
#[doc] #[doc]
//~^ ERROR valid forms for the attribute are //~^ ERROR
//~| WARN this was previously accepted by the compiler
#[rustc_macro_transparency] #[rustc_macro_transparency]
//~^ ERROR malformed //~^ ERROR malformed
//~| ERROR attribute cannot be used on //~| ERROR attribute cannot be used on
@ -75,8 +75,7 @@
//~^ ERROR malformed //~^ ERROR malformed
//~| WARN crate-level attribute should be an inner attribute //~| WARN crate-level attribute should be an inner attribute
#[doc] #[doc]
//~^ ERROR valid forms for the attribute are //~^ ERROR
//~| WARN this was previously accepted by the compiler
#[target_feature] #[target_feature]
//~^ ERROR malformed //~^ ERROR malformed
#[export_stable = 1] #[export_stable = 1]

View file

@ -1,5 +1,5 @@
error[E0539]: malformed `cfg` attribute input error[E0539]: malformed `cfg` attribute input
--> $DIR/malformed-attrs.rs:108:1 --> $DIR/malformed-attrs.rs:107:1
| |
LL | #[cfg] LL | #[cfg]
| ^^^^^^ | ^^^^^^
@ -10,7 +10,7 @@ LL | #[cfg]
= note: for more information, visit <https://doc.rust-lang.org/reference/conditional-compilation.html#the-cfg-attribute> = note: for more information, visit <https://doc.rust-lang.org/reference/conditional-compilation.html#the-cfg-attribute>
error[E0539]: malformed `cfg_attr` attribute input error[E0539]: malformed `cfg_attr` attribute input
--> $DIR/malformed-attrs.rs:110:1 --> $DIR/malformed-attrs.rs:109:1
| |
LL | #[cfg_attr] LL | #[cfg_attr]
| ^^^^^^^^^^^ | ^^^^^^^^^^^
@ -21,19 +21,19 @@ LL | #[cfg_attr]
= note: for more information, visit <https://doc.rust-lang.org/reference/conditional-compilation.html#the-cfg_attr-attribute> = note: for more information, visit <https://doc.rust-lang.org/reference/conditional-compilation.html#the-cfg_attr-attribute>
error[E0463]: can't find crate for `wloop` error[E0463]: can't find crate for `wloop`
--> $DIR/malformed-attrs.rs:218:1 --> $DIR/malformed-attrs.rs:217:1
| |
LL | extern crate wloop; LL | extern crate wloop;
| ^^^^^^^^^^^^^^^^^^^ can't find crate | ^^^^^^^^^^^^^^^^^^^ can't find crate
error: malformed `patchable_function_entry` attribute input error: malformed `patchable_function_entry` attribute input
--> $DIR/malformed-attrs.rs:114:1 --> $DIR/malformed-attrs.rs:113:1
| |
LL | #[patchable_function_entry] LL | #[patchable_function_entry]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[patchable_function_entry(prefix_nops = m, entry_nops = n)]` | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[patchable_function_entry(prefix_nops = m, entry_nops = n)]`
error: malformed `allow` attribute input error: malformed `allow` attribute input
--> $DIR/malformed-attrs.rs:184:1 --> $DIR/malformed-attrs.rs:183:1
| |
LL | #[allow] LL | #[allow]
| ^^^^^^^^ | ^^^^^^^^
@ -49,7 +49,7 @@ LL | #[allow(lint1, lint2, lint3, reason = "...")]
| +++++++++++++++++++++++++++++++++++++ | +++++++++++++++++++++++++++++++++++++
error: malformed `expect` attribute input error: malformed `expect` attribute input
--> $DIR/malformed-attrs.rs:186:1 --> $DIR/malformed-attrs.rs:185:1
| |
LL | #[expect] LL | #[expect]
| ^^^^^^^^^ | ^^^^^^^^^
@ -65,7 +65,7 @@ LL | #[expect(lint1, lint2, lint3, reason = "...")]
| +++++++++++++++++++++++++++++++++++++ | +++++++++++++++++++++++++++++++++++++
error: malformed `warn` attribute input error: malformed `warn` attribute input
--> $DIR/malformed-attrs.rs:188:1 --> $DIR/malformed-attrs.rs:187:1
| |
LL | #[warn] LL | #[warn]
| ^^^^^^^ | ^^^^^^^
@ -81,7 +81,7 @@ LL | #[warn(lint1, lint2, lint3, reason = "...")]
| +++++++++++++++++++++++++++++++++++++ | +++++++++++++++++++++++++++++++++++++
error: malformed `deny` attribute input error: malformed `deny` attribute input
--> $DIR/malformed-attrs.rs:190:1 --> $DIR/malformed-attrs.rs:189:1
| |
LL | #[deny] LL | #[deny]
| ^^^^^^^ | ^^^^^^^
@ -97,7 +97,7 @@ LL | #[deny(lint1, lint2, lint3, reason = "...")]
| +++++++++++++++++++++++++++++++++++++ | +++++++++++++++++++++++++++++++++++++
error: malformed `forbid` attribute input error: malformed `forbid` attribute input
--> $DIR/malformed-attrs.rs:192:1 --> $DIR/malformed-attrs.rs:191:1
| |
LL | #[forbid] LL | #[forbid]
| ^^^^^^^^^ | ^^^^^^^^^
@ -113,25 +113,25 @@ LL | #[forbid(lint1, lint2, lint3, reason = "...")]
| +++++++++++++++++++++++++++++++++++++ | +++++++++++++++++++++++++++++++++++++
error: the `#[proc_macro]` attribute is only usable with crates of the `proc-macro` crate type error: the `#[proc_macro]` attribute is only usable with crates of the `proc-macro` crate type
--> $DIR/malformed-attrs.rs:105:1 --> $DIR/malformed-attrs.rs:104:1
| |
LL | #[proc_macro = 18] LL | #[proc_macro = 18]
| ^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^
error: the `#[proc_macro_attribute]` attribute is only usable with crates of the `proc-macro` crate type error: the `#[proc_macro_attribute]` attribute is only usable with crates of the `proc-macro` crate type
--> $DIR/malformed-attrs.rs:122:1 --> $DIR/malformed-attrs.rs:121:1
| |
LL | #[proc_macro_attribute = 19] LL | #[proc_macro_attribute = 19]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: the `#[proc_macro_derive]` attribute is only usable with crates of the `proc-macro` crate type error: the `#[proc_macro_derive]` attribute is only usable with crates of the `proc-macro` crate type
--> $DIR/malformed-attrs.rs:129:1 --> $DIR/malformed-attrs.rs:128:1
| |
LL | #[proc_macro_derive] LL | #[proc_macro_derive]
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^
error[E0658]: allow_internal_unsafe side-steps the unsafe_code lint error[E0658]: allow_internal_unsafe side-steps the unsafe_code lint
--> $DIR/malformed-attrs.rs:223:1 --> $DIR/malformed-attrs.rs:222:1
| |
LL | #[allow_internal_unsafe = 1] LL | #[allow_internal_unsafe = 1]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -140,7 +140,7 @@ LL | #[allow_internal_unsafe = 1]
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
error[E0539]: malformed `windows_subsystem` attribute input error[E0539]: malformed `windows_subsystem` attribute input
--> $DIR/malformed-attrs.rs:26:1 --> $DIR/malformed-attrs.rs:27:1
| |
LL | #![windows_subsystem] LL | #![windows_subsystem]
| ^^^-----------------^ | ^^^-----------------^
@ -156,25 +156,25 @@ LL | #![windows_subsystem = "windows"]
| +++++++++++ | +++++++++++
error[E0539]: malformed `export_name` attribute input error[E0539]: malformed `export_name` attribute input
--> $DIR/malformed-attrs.rs:29:1 --> $DIR/malformed-attrs.rs:30:1
| |
LL | #[unsafe(export_name)] LL | #[unsafe(export_name)]
| ^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[export_name = "name"]` | ^^^^^^^^^^^^^^^^^^^^^^ help: must be of the form: `#[export_name = "name"]`
error: `rustc_allow_const_fn_unstable` expects a list of feature names error: `rustc_allow_const_fn_unstable` expects a list of feature names
--> $DIR/malformed-attrs.rs:31:1 --> $DIR/malformed-attrs.rs:32:1
| |
LL | #[rustc_allow_const_fn_unstable] LL | #[rustc_allow_const_fn_unstable]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: `allow_internal_unstable` expects a list of feature names error: `allow_internal_unstable` expects a list of feature names
--> $DIR/malformed-attrs.rs:34:1 --> $DIR/malformed-attrs.rs:35:1
| |
LL | #[allow_internal_unstable] LL | #[allow_internal_unstable]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0539]: malformed `rustc_confusables` attribute input error[E0539]: malformed `rustc_confusables` attribute input
--> $DIR/malformed-attrs.rs:36:1 --> $DIR/malformed-attrs.rs:37:1
| |
LL | #[rustc_confusables] LL | #[rustc_confusables]
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^
@ -183,7 +183,7 @@ LL | #[rustc_confusables]
| help: must be of the form: `#[rustc_confusables("name1", "name2", ...)]` | help: must be of the form: `#[rustc_confusables("name1", "name2", ...)]`
error: `#[rustc_confusables]` attribute cannot be used on functions error: `#[rustc_confusables]` attribute cannot be used on functions
--> $DIR/malformed-attrs.rs:36:1 --> $DIR/malformed-attrs.rs:37:1
| |
LL | #[rustc_confusables] LL | #[rustc_confusables]
| ^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^
@ -191,7 +191,7 @@ LL | #[rustc_confusables]
= help: `#[rustc_confusables]` can only be applied to inherent methods = help: `#[rustc_confusables]` can only be applied to inherent methods
error[E0539]: malformed `deprecated` attribute input error[E0539]: malformed `deprecated` attribute input
--> $DIR/malformed-attrs.rs:39:1 --> $DIR/malformed-attrs.rs:40:1
| |
LL | #[deprecated = 5] LL | #[deprecated = 5]
| ^^^^^^^^^^^^^^^-^ | ^^^^^^^^^^^^^^^-^
@ -355,7 +355,7 @@ LL | #[crate_name]
| ^^^^^^^^^^^^^ help: must be of the form: `#[crate_name = "name"]` | ^^^^^^^^^^^^^ help: must be of the form: `#[crate_name = "name"]`
error[E0539]: malformed `target_feature` attribute input error[E0539]: malformed `target_feature` attribute input
--> $DIR/malformed-attrs.rs:80:1 --> $DIR/malformed-attrs.rs:79:1
| |
LL | #[target_feature] LL | #[target_feature]
| ^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^
@ -364,7 +364,7 @@ LL | #[target_feature]
| help: must be of the form: `#[target_feature(enable = "feat1, feat2")]` | help: must be of the form: `#[target_feature(enable = "feat1, feat2")]`
error[E0565]: malformed `export_stable` attribute input error[E0565]: malformed `export_stable` attribute input
--> $DIR/malformed-attrs.rs:82:1 --> $DIR/malformed-attrs.rs:81:1
| |
LL | #[export_stable = 1] LL | #[export_stable = 1]
| ^^^^^^^^^^^^^^^^---^ | ^^^^^^^^^^^^^^^^---^
@ -373,7 +373,7 @@ LL | #[export_stable = 1]
| help: must be of the form: `#[export_stable]` | help: must be of the form: `#[export_stable]`
error[E0539]: malformed `link` attribute input error[E0539]: malformed `link` attribute input
--> $DIR/malformed-attrs.rs:84:1 --> $DIR/malformed-attrs.rs:83:1
| |
LL | #[link] LL | #[link]
| ^^^^^^^ expected this to be a list | ^^^^^^^ expected this to be a list
@ -381,7 +381,7 @@ LL | #[link]
= note: for more information, visit <https://doc.rust-lang.org/reference/items/external-blocks.html#the-link-attribute> = note: for more information, visit <https://doc.rust-lang.org/reference/items/external-blocks.html#the-link-attribute>
error[E0539]: malformed `link_name` attribute input error[E0539]: malformed `link_name` attribute input
--> $DIR/malformed-attrs.rs:88:1 --> $DIR/malformed-attrs.rs:87:1
| |
LL | #[link_name] LL | #[link_name]
| ^^^^^^^^^^^^ help: must be of the form: `#[link_name = "name"]` | ^^^^^^^^^^^^ help: must be of the form: `#[link_name = "name"]`
@ -389,7 +389,7 @@ LL | #[link_name]
= note: for more information, visit <https://doc.rust-lang.org/reference/items/external-blocks.html#the-link_name-attribute> = note: for more information, visit <https://doc.rust-lang.org/reference/items/external-blocks.html#the-link_name-attribute>
error[E0539]: malformed `link_section` attribute input error[E0539]: malformed `link_section` attribute input
--> $DIR/malformed-attrs.rs:92:1 --> $DIR/malformed-attrs.rs:91:1
| |
LL | #[link_section] LL | #[link_section]
| ^^^^^^^^^^^^^^^ help: must be of the form: `#[link_section = "name"]` | ^^^^^^^^^^^^^^^ help: must be of the form: `#[link_section = "name"]`
@ -397,7 +397,7 @@ LL | #[link_section]
= note: for more information, visit <https://doc.rust-lang.org/reference/abi.html#the-link_section-attribute> = note: for more information, visit <https://doc.rust-lang.org/reference/abi.html#the-link_section-attribute>
error[E0539]: malformed `coverage` attribute input error[E0539]: malformed `coverage` attribute input
--> $DIR/malformed-attrs.rs:94:1 --> $DIR/malformed-attrs.rs:93:1
| |
LL | #[coverage] LL | #[coverage]
| ^^^^^^^^^^^ this attribute is only valid with either `on` or `off` as an argument | ^^^^^^^^^^^ this attribute is only valid with either `on` or `off` as an argument
@ -410,13 +410,13 @@ LL | #[coverage(on)]
| ++++ | ++++
error[E0539]: malformed `sanitize` attribute input error[E0539]: malformed `sanitize` attribute input
--> $DIR/malformed-attrs.rs:96:1 --> $DIR/malformed-attrs.rs:95:1
| |
LL | #[sanitize] LL | #[sanitize]
| ^^^^^^^^^^^ expected this to be a list | ^^^^^^^^^^^ expected this to be a list
error[E0565]: malformed `no_implicit_prelude` attribute input error[E0565]: malformed `no_implicit_prelude` attribute input
--> $DIR/malformed-attrs.rs:101:1 --> $DIR/malformed-attrs.rs:100:1
| |
LL | #[no_implicit_prelude = 23] LL | #[no_implicit_prelude = 23]
| ^^^^^^^^^^^^^^^^^^^^^^----^ | ^^^^^^^^^^^^^^^^^^^^^^----^
@ -425,7 +425,7 @@ LL | #[no_implicit_prelude = 23]
| help: must be of the form: `#[no_implicit_prelude]` | help: must be of the form: `#[no_implicit_prelude]`
error[E0565]: malformed `proc_macro` attribute input error[E0565]: malformed `proc_macro` attribute input
--> $DIR/malformed-attrs.rs:105:1 --> $DIR/malformed-attrs.rs:104:1
| |
LL | #[proc_macro = 18] LL | #[proc_macro = 18]
| ^^^^^^^^^^^^^----^ | ^^^^^^^^^^^^^----^
@ -434,7 +434,7 @@ LL | #[proc_macro = 18]
| help: must be of the form: `#[proc_macro]` | help: must be of the form: `#[proc_macro]`
error[E0539]: malformed `instruction_set` attribute input error[E0539]: malformed `instruction_set` attribute input
--> $DIR/malformed-attrs.rs:112:1 --> $DIR/malformed-attrs.rs:111:1
| |
LL | #[instruction_set] LL | #[instruction_set]
| ^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^
@ -445,7 +445,7 @@ LL | #[instruction_set]
= note: for more information, visit <https://doc.rust-lang.org/reference/attributes/codegen.html#the-instruction_set-attribute> = note: for more information, visit <https://doc.rust-lang.org/reference/attributes/codegen.html#the-instruction_set-attribute>
error[E0565]: malformed `coroutine` attribute input error[E0565]: malformed `coroutine` attribute input
--> $DIR/malformed-attrs.rs:117:5 --> $DIR/malformed-attrs.rs:116:5
| |
LL | #[coroutine = 63] || {} LL | #[coroutine = 63] || {}
| ^^^^^^^^^^^^----^ | ^^^^^^^^^^^^----^
@ -454,7 +454,7 @@ LL | #[coroutine = 63] || {}
| help: must be of the form: `#[coroutine]` | help: must be of the form: `#[coroutine]`
error[E0565]: malformed `proc_macro_attribute` attribute input error[E0565]: malformed `proc_macro_attribute` attribute input
--> $DIR/malformed-attrs.rs:122:1 --> $DIR/malformed-attrs.rs:121:1
| |
LL | #[proc_macro_attribute = 19] LL | #[proc_macro_attribute = 19]
| ^^^^^^^^^^^^^^^^^^^^^^^----^ | ^^^^^^^^^^^^^^^^^^^^^^^----^
@ -463,7 +463,7 @@ LL | #[proc_macro_attribute = 19]
| help: must be of the form: `#[proc_macro_attribute]` | help: must be of the form: `#[proc_macro_attribute]`
error[E0539]: malformed `must_use` attribute input error[E0539]: malformed `must_use` attribute input
--> $DIR/malformed-attrs.rs:125:1 --> $DIR/malformed-attrs.rs:124:1
| |
LL | #[must_use = 1] LL | #[must_use = 1]
| ^^^^^^^^^^^^^-^ | ^^^^^^^^^^^^^-^
@ -481,7 +481,7 @@ LL + #[must_use]
| |
error[E0539]: malformed `proc_macro_derive` attribute input error[E0539]: malformed `proc_macro_derive` attribute input
--> $DIR/malformed-attrs.rs:129:1 --> $DIR/malformed-attrs.rs:128:1
| |
LL | #[proc_macro_derive] LL | #[proc_macro_derive]
| ^^^^^^^^^^^^^^^^^^^^ expected this to be a list | ^^^^^^^^^^^^^^^^^^^^ expected this to be a list
@ -495,7 +495,7 @@ LL | #[proc_macro_derive(TraitName, attributes(name1, name2, ...))]
| ++++++++++++++++++++++++++++++++++++++++++ | ++++++++++++++++++++++++++++++++++++++++++
error[E0539]: malformed `rustc_layout_scalar_valid_range_start` attribute input error[E0539]: malformed `rustc_layout_scalar_valid_range_start` attribute input
--> $DIR/malformed-attrs.rs:134:1 --> $DIR/malformed-attrs.rs:133:1
| |
LL | #[rustc_layout_scalar_valid_range_start] LL | #[rustc_layout_scalar_valid_range_start]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -504,7 +504,7 @@ LL | #[rustc_layout_scalar_valid_range_start]
| help: must be of the form: `#[rustc_layout_scalar_valid_range_start(start)]` | help: must be of the form: `#[rustc_layout_scalar_valid_range_start(start)]`
error[E0539]: malformed `rustc_layout_scalar_valid_range_end` attribute input error[E0539]: malformed `rustc_layout_scalar_valid_range_end` attribute input
--> $DIR/malformed-attrs.rs:136:1 --> $DIR/malformed-attrs.rs:135:1
| |
LL | #[rustc_layout_scalar_valid_range_end] LL | #[rustc_layout_scalar_valid_range_end]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -513,7 +513,7 @@ LL | #[rustc_layout_scalar_valid_range_end]
| help: must be of the form: `#[rustc_layout_scalar_valid_range_end(end)]` | help: must be of the form: `#[rustc_layout_scalar_valid_range_end(end)]`
error[E0539]: malformed `must_not_suspend` attribute input error[E0539]: malformed `must_not_suspend` attribute input
--> $DIR/malformed-attrs.rs:138:1 --> $DIR/malformed-attrs.rs:137:1
| |
LL | #[must_not_suspend()] LL | #[must_not_suspend()]
| ^^^^^^^^^^^^^^^^^^--^ | ^^^^^^^^^^^^^^^^^^--^
@ -529,7 +529,7 @@ LL + #[must_not_suspend]
| |
error[E0539]: malformed `cfi_encoding` attribute input error[E0539]: malformed `cfi_encoding` attribute input
--> $DIR/malformed-attrs.rs:140:1 --> $DIR/malformed-attrs.rs:139:1
| |
LL | #[cfi_encoding = ""] LL | #[cfi_encoding = ""]
| ^^^^^^^^^^^^^^^^^--^ | ^^^^^^^^^^^^^^^^^--^
@ -538,7 +538,7 @@ LL | #[cfi_encoding = ""]
| help: must be of the form: `#[cfi_encoding = "encoding"]` | help: must be of the form: `#[cfi_encoding = "encoding"]`
error[E0565]: malformed `marker` attribute input error[E0565]: malformed `marker` attribute input
--> $DIR/malformed-attrs.rs:161:1 --> $DIR/malformed-attrs.rs:160:1
| |
LL | #[marker = 3] LL | #[marker = 3]
| ^^^^^^^^^---^ | ^^^^^^^^^---^
@ -547,7 +547,7 @@ LL | #[marker = 3]
| help: must be of the form: `#[marker]` | help: must be of the form: `#[marker]`
error[E0565]: malformed `fundamental` attribute input error[E0565]: malformed `fundamental` attribute input
--> $DIR/malformed-attrs.rs:163:1 --> $DIR/malformed-attrs.rs:162:1
| |
LL | #[fundamental()] LL | #[fundamental()]
| ^^^^^^^^^^^^^--^ | ^^^^^^^^^^^^^--^
@ -556,7 +556,7 @@ LL | #[fundamental()]
| help: must be of the form: `#[fundamental]` | help: must be of the form: `#[fundamental]`
error[E0565]: malformed `ffi_pure` attribute input error[E0565]: malformed `ffi_pure` attribute input
--> $DIR/malformed-attrs.rs:171:5 --> $DIR/malformed-attrs.rs:170:5
| |
LL | #[unsafe(ffi_pure = 1)] LL | #[unsafe(ffi_pure = 1)]
| ^^^^^^^^^^^^^^^^^^---^^ | ^^^^^^^^^^^^^^^^^^---^^
@ -565,7 +565,7 @@ LL | #[unsafe(ffi_pure = 1)]
| help: must be of the form: `#[ffi_pure]` | help: must be of the form: `#[ffi_pure]`
error[E0539]: malformed `link_ordinal` attribute input error[E0539]: malformed `link_ordinal` attribute input
--> $DIR/malformed-attrs.rs:173:5 --> $DIR/malformed-attrs.rs:172:5
| |
LL | #[link_ordinal] LL | #[link_ordinal]
| ^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^
@ -576,7 +576,7 @@ LL | #[link_ordinal]
= note: for more information, visit <https://doc.rust-lang.org/reference/items/external-blocks.html#the-link_ordinal-attribute> = note: for more information, visit <https://doc.rust-lang.org/reference/items/external-blocks.html#the-link_ordinal-attribute>
error[E0565]: malformed `ffi_const` attribute input error[E0565]: malformed `ffi_const` attribute input
--> $DIR/malformed-attrs.rs:177:5 --> $DIR/malformed-attrs.rs:176:5
| |
LL | #[unsafe(ffi_const = 1)] LL | #[unsafe(ffi_const = 1)]
| ^^^^^^^^^^^^^^^^^^^---^^ | ^^^^^^^^^^^^^^^^^^^---^^
@ -585,13 +585,13 @@ LL | #[unsafe(ffi_const = 1)]
| help: must be of the form: `#[ffi_const]` | help: must be of the form: `#[ffi_const]`
error[E0539]: malformed `linkage` attribute input error[E0539]: malformed `linkage` attribute input
--> $DIR/malformed-attrs.rs:179:5 --> $DIR/malformed-attrs.rs:178:5
| |
LL | #[linkage] LL | #[linkage]
| ^^^^^^^^^^ expected this to be of the form `linkage = "..."` | ^^^^^^^^^^ expected this to be of the form `linkage = "..."`
error[E0539]: malformed `debugger_visualizer` attribute input error[E0539]: malformed `debugger_visualizer` attribute input
--> $DIR/malformed-attrs.rs:194:1 --> $DIR/malformed-attrs.rs:193:1
| |
LL | #[debugger_visualizer] LL | #[debugger_visualizer]
| ^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^
@ -602,7 +602,7 @@ LL | #[debugger_visualizer]
= note: for more information, visit <https://doc.rust-lang.org/reference/attributes/debugger.html#the-debugger_visualizer-attribute> = note: for more information, visit <https://doc.rust-lang.org/reference/attributes/debugger.html#the-debugger_visualizer-attribute>
error[E0565]: malformed `automatically_derived` attribute input error[E0565]: malformed `automatically_derived` attribute input
--> $DIR/malformed-attrs.rs:196:1 --> $DIR/malformed-attrs.rs:195:1
| |
LL | #[automatically_derived = 18] LL | #[automatically_derived = 18]
| ^^^^^^^^^^^^^^^^^^^^^^^^----^ | ^^^^^^^^^^^^^^^^^^^^^^^^----^
@ -611,7 +611,7 @@ LL | #[automatically_derived = 18]
| help: must be of the form: `#[automatically_derived]` | help: must be of the form: `#[automatically_derived]`
error[E0565]: malformed `non_exhaustive` attribute input error[E0565]: malformed `non_exhaustive` attribute input
--> $DIR/malformed-attrs.rs:204:1 --> $DIR/malformed-attrs.rs:203:1
| |
LL | #[non_exhaustive = 1] LL | #[non_exhaustive = 1]
| ^^^^^^^^^^^^^^^^^---^ | ^^^^^^^^^^^^^^^^^---^
@ -620,7 +620,7 @@ LL | #[non_exhaustive = 1]
| help: must be of the form: `#[non_exhaustive]` | help: must be of the form: `#[non_exhaustive]`
error[E0565]: malformed `thread_local` attribute input error[E0565]: malformed `thread_local` attribute input
--> $DIR/malformed-attrs.rs:210:1 --> $DIR/malformed-attrs.rs:209:1
| |
LL | #[thread_local()] LL | #[thread_local()]
| ^^^^^^^^^^^^^^--^ | ^^^^^^^^^^^^^^--^
@ -629,7 +629,7 @@ LL | #[thread_local()]
| help: must be of the form: `#[thread_local]` | help: must be of the form: `#[thread_local]`
error[E0565]: malformed `no_link` attribute input error[E0565]: malformed `no_link` attribute input
--> $DIR/malformed-attrs.rs:214:1 --> $DIR/malformed-attrs.rs:213:1
| |
LL | #[no_link()] LL | #[no_link()]
| ^^^^^^^^^--^ | ^^^^^^^^^--^
@ -638,7 +638,7 @@ LL | #[no_link()]
| help: must be of the form: `#[no_link]` | help: must be of the form: `#[no_link]`
error[E0539]: malformed `macro_use` attribute input error[E0539]: malformed `macro_use` attribute input
--> $DIR/malformed-attrs.rs:216:1 --> $DIR/malformed-attrs.rs:215:1
| |
LL | #[macro_use = 1] LL | #[macro_use = 1]
| ^^^^^^^^^^^^---^ | ^^^^^^^^^^^^---^
@ -656,7 +656,7 @@ LL + #[macro_use]
| |
error[E0539]: malformed `macro_export` attribute input error[E0539]: malformed `macro_export` attribute input
--> $DIR/malformed-attrs.rs:221:1 --> $DIR/malformed-attrs.rs:220:1
| |
LL | #[macro_export = 18] LL | #[macro_export = 18]
| ^^^^^^^^^^^^^^^----^ | ^^^^^^^^^^^^^^^----^
@ -673,7 +673,7 @@ LL + #[macro_export]
| |
error[E0565]: malformed `allow_internal_unsafe` attribute input error[E0565]: malformed `allow_internal_unsafe` attribute input
--> $DIR/malformed-attrs.rs:223:1 --> $DIR/malformed-attrs.rs:222:1
| |
LL | #[allow_internal_unsafe = 1] LL | #[allow_internal_unsafe = 1]
| ^^^^^^^^^^^^^^^^^^^^^^^^---^ | ^^^^^^^^^^^^^^^^^^^^^^^^---^
@ -682,7 +682,7 @@ LL | #[allow_internal_unsafe = 1]
| help: must be of the form: `#[allow_internal_unsafe]` | help: must be of the form: `#[allow_internal_unsafe]`
error[E0565]: malformed `type_const` attribute input error[E0565]: malformed `type_const` attribute input
--> $DIR/malformed-attrs.rs:149:5 --> $DIR/malformed-attrs.rs:148:5
| |
LL | #[type_const = 1] LL | #[type_const = 1]
| ^^^^^^^^^^^^^---^ | ^^^^^^^^^^^^^---^
@ -691,7 +691,7 @@ LL | #[type_const = 1]
| help: must be of the form: `#[type_const]` | help: must be of the form: `#[type_const]`
error: attribute should be applied to `const fn` error: attribute should be applied to `const fn`
--> $DIR/malformed-attrs.rs:31:1 --> $DIR/malformed-attrs.rs:32:1
| |
LL | #[rustc_allow_const_fn_unstable] LL | #[rustc_allow_const_fn_unstable]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -703,7 +703,7 @@ LL | | }
| |_- not a `const fn` | |_- not a `const fn`
warning: attribute should be applied to an `extern` block with non-Rust ABI warning: attribute should be applied to an `extern` block with non-Rust ABI
--> $DIR/malformed-attrs.rs:84:1 --> $DIR/malformed-attrs.rs:83:1
| |
LL | #[link] LL | #[link]
| ^^^^^^^ | ^^^^^^^
@ -730,7 +730,7 @@ LL | #[repr]
| ^^^^^^^ | ^^^^^^^
warning: missing options for `on_unimplemented` attribute warning: missing options for `on_unimplemented` attribute
--> $DIR/malformed-attrs.rs:144:1 --> $DIR/malformed-attrs.rs:143:1
| |
LL | #[diagnostic::on_unimplemented] LL | #[diagnostic::on_unimplemented]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -739,7 +739,7 @@ LL | #[diagnostic::on_unimplemented]
= note: `#[warn(malformed_diagnostic_attributes)]` (part of `#[warn(unknown_or_malformed_diagnostic_attributes)]`) on by default = note: `#[warn(malformed_diagnostic_attributes)]` (part of `#[warn(unknown_or_malformed_diagnostic_attributes)]`) on by default
warning: malformed `on_unimplemented` attribute warning: malformed `on_unimplemented` attribute
--> $DIR/malformed-attrs.rs:146:1 --> $DIR/malformed-attrs.rs:145:1
| |
LL | #[diagnostic::on_unimplemented = 1] LL | #[diagnostic::on_unimplemented = 1]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invalid option found here | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ invalid option found here
@ -747,14 +747,16 @@ LL | #[diagnostic::on_unimplemented = 1]
= help: only `message`, `note` and `label` are allowed as options = help: only `message`, `note` and `label` are allowed as options
error: valid forms for the attribute are `#[doc = "string"]`, `#[doc(alias)]`, `#[doc(attribute)]`, `#[doc(auto_cfg)]`, `#[doc(cfg)]`, `#[doc(fake_variadic)]`, `#[doc(hidden)]`, `#[doc(html_favicon_url)]`, `#[doc(html_logo_url)]`, `#[doc(html_no_source)]`, `#[doc(html_playground_url)]`, `#[doc(html_root_url)]`, `#[doc(include)]`, `#[doc(inline)]`, `#[doc(issue_tracker_base_url)]`, `#[doc(keyword)]`, `#[doc(masked)]`, `#[doc(no_default_passes)]`, `#[doc(no_inline)]`, `#[doc(notable_trait)]`, `#[doc(passes)]`, `#[doc(plugins)]`, `#[doc(rust_logo)]`, `#[doc(search_unbox)]`, `#[doc(spotlight)]`, and `#[doc(test)]` error: valid forms for the attribute are `#[doc = "string"]`, `#[doc(alias)]`, `#[doc(attribute)]`, `#[doc(auto_cfg)]`, `#[doc(cfg)]`, `#[doc(fake_variadic)]`, `#[doc(hidden)]`, `#[doc(html_favicon_url)]`, `#[doc(html_logo_url)]`, `#[doc(html_no_source)]`, `#[doc(html_playground_url)]`, `#[doc(html_root_url)]`, `#[doc(include)]`, `#[doc(inline)]`, `#[doc(issue_tracker_base_url)]`, `#[doc(keyword)]`, `#[doc(masked)]`, `#[doc(no_default_passes)]`, `#[doc(no_inline)]`, `#[doc(notable_trait)]`, `#[doc(passes)]`, `#[doc(plugins)]`, `#[doc(rust_logo)]`, `#[doc(search_unbox)]`, `#[doc(spotlight)]`, and `#[doc(test)]`
--> $DIR/malformed-attrs.rs:41:1 --> $DIR/malformed-attrs.rs:42:1
| |
LL | #[doc] LL | #[doc]
| ^^^^^^ | ^^^^^^
| |
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! note: the lint level is defined here
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571> --> $DIR/malformed-attrs.rs:3:9
= note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default |
LL | #![deny(invalid_doc_attributes)]
| ^^^^^^^^^^^^^^^^^^^^^^
error: valid forms for the attribute are `#[inline(always)]`, `#[inline(never)]`, and `#[inline]` error: valid forms for the attribute are `#[inline(always)]`, `#[inline(never)]`, and `#[inline]`
--> $DIR/malformed-attrs.rs:52:1 --> $DIR/malformed-attrs.rs:52:1
@ -764,6 +766,7 @@ LL | #[inline = 5]
| |
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571> = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
= note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![crate_name]` warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![crate_name]`
--> $DIR/malformed-attrs.rs:74:1 --> $DIR/malformed-attrs.rs:74:1
@ -772,7 +775,7 @@ LL | #[crate_name]
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^
| |
note: This attribute does not have an `!`, which means it is applied to this function note: This attribute does not have an `!`, which means it is applied to this function
--> $DIR/malformed-attrs.rs:116:1 --> $DIR/malformed-attrs.rs:115:1
| |
LL | / fn test() { LL | / fn test() {
LL | | #[coroutine = 63] || {} LL | | #[coroutine = 63] || {}
@ -785,12 +788,9 @@ error: valid forms for the attribute are `#[doc = "string"]`, `#[doc(alias)]`, `
| |
LL | #[doc] LL | #[doc]
| ^^^^^^ | ^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
warning: `#[link_name]` attribute cannot be used on functions warning: `#[link_name]` attribute cannot be used on functions
--> $DIR/malformed-attrs.rs:88:1 --> $DIR/malformed-attrs.rs:87:1
| |
LL | #[link_name] LL | #[link_name]
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^
@ -799,7 +799,7 @@ LL | #[link_name]
= help: `#[link_name]` can be applied to foreign functions and foreign statics = help: `#[link_name]` can be applied to foreign functions and foreign statics
error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]` error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]`
--> $DIR/malformed-attrs.rs:98:1 --> $DIR/malformed-attrs.rs:97:1
| |
LL | #[ignore()] LL | #[ignore()]
| ^^^^^^^^^^^ | ^^^^^^^^^^^
@ -808,7 +808,7 @@ LL | #[ignore()]
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571> = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
warning: `#[no_implicit_prelude]` attribute cannot be used on functions warning: `#[no_implicit_prelude]` attribute cannot be used on functions
--> $DIR/malformed-attrs.rs:101:1 --> $DIR/malformed-attrs.rs:100:1
| |
LL | #[no_implicit_prelude = 23] LL | #[no_implicit_prelude = 23]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -817,13 +817,13 @@ LL | #[no_implicit_prelude = 23]
= help: `#[no_implicit_prelude]` can be applied to crates and modules = help: `#[no_implicit_prelude]` can be applied to crates and modules
warning: `#[diagnostic::do_not_recommend]` does not expect any arguments warning: `#[diagnostic::do_not_recommend]` does not expect any arguments
--> $DIR/malformed-attrs.rs:155:1 --> $DIR/malformed-attrs.rs:154:1
| |
LL | #[diagnostic::do_not_recommend()] LL | #[diagnostic::do_not_recommend()]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: `#[automatically_derived]` attribute cannot be used on modules warning: `#[automatically_derived]` attribute cannot be used on modules
--> $DIR/malformed-attrs.rs:196:1 --> $DIR/malformed-attrs.rs:195:1
| |
LL | #[automatically_derived = 18] LL | #[automatically_derived = 18]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -832,7 +832,7 @@ LL | #[automatically_derived = 18]
= help: `#[automatically_derived]` can only be applied to trait impl blocks = help: `#[automatically_derived]` can only be applied to trait impl blocks
error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]` error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]`
--> $DIR/malformed-attrs.rs:230:1 --> $DIR/malformed-attrs.rs:229:1
| |
LL | #[ignore = 1] LL | #[ignore = 1]
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^
@ -841,7 +841,7 @@ LL | #[ignore = 1]
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571> = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
error[E0308]: mismatched types error[E0308]: mismatched types
--> $DIR/malformed-attrs.rs:117:23 --> $DIR/malformed-attrs.rs:116:23
| |
LL | fn test() { LL | fn test() {
| - help: a return type might be missing here: `-> _` | - help: a return type might be missing here: `-> _`
@ -849,24 +849,13 @@ LL | #[coroutine = 63] || {}
| ^^^^^ expected `()`, found coroutine | ^^^^^ expected `()`, found coroutine
| |
= note: expected unit type `()` = note: expected unit type `()`
found coroutine `{coroutine@$DIR/malformed-attrs.rs:117:23: 117:25}` found coroutine `{coroutine@$DIR/malformed-attrs.rs:116:23: 116:25}`
error: aborting due to 76 previous errors; 8 warnings emitted error: aborting due to 76 previous errors; 8 warnings emitted
Some errors have detailed explanations: E0308, E0463, E0539, E0565, E0658, E0805. Some errors have detailed explanations: E0308, E0463, E0539, E0565, E0658, E0805.
For more information about an error, try `rustc --explain E0308`. For more information about an error, try `rustc --explain E0308`.
Future incompatibility report: Future breakage diagnostic: Future incompatibility report: Future breakage diagnostic:
error: valid forms for the attribute are `#[doc = "string"]`, `#[doc(alias)]`, `#[doc(attribute)]`, `#[doc(auto_cfg)]`, `#[doc(cfg)]`, `#[doc(fake_variadic)]`, `#[doc(hidden)]`, `#[doc(html_favicon_url)]`, `#[doc(html_logo_url)]`, `#[doc(html_no_source)]`, `#[doc(html_playground_url)]`, `#[doc(html_root_url)]`, `#[doc(include)]`, `#[doc(inline)]`, `#[doc(issue_tracker_base_url)]`, `#[doc(keyword)]`, `#[doc(masked)]`, `#[doc(no_default_passes)]`, `#[doc(no_inline)]`, `#[doc(notable_trait)]`, `#[doc(passes)]`, `#[doc(plugins)]`, `#[doc(rust_logo)]`, `#[doc(search_unbox)]`, `#[doc(spotlight)]`, and `#[doc(test)]`
--> $DIR/malformed-attrs.rs:41:1
|
LL | #[doc]
| ^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
= note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
Future breakage diagnostic:
error: valid forms for the attribute are `#[inline(always)]`, `#[inline(never)]`, and `#[inline]` error: valid forms for the attribute are `#[inline(always)]`, `#[inline(never)]`, and `#[inline]`
--> $DIR/malformed-attrs.rs:52:1 --> $DIR/malformed-attrs.rs:52:1
| |
@ -877,20 +866,9 @@ LL | #[inline = 5]
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571> = note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
= note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default = note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
Future breakage diagnostic:
error: valid forms for the attribute are `#[doc = "string"]`, `#[doc(alias)]`, `#[doc(attribute)]`, `#[doc(auto_cfg)]`, `#[doc(cfg)]`, `#[doc(fake_variadic)]`, `#[doc(hidden)]`, `#[doc(html_favicon_url)]`, `#[doc(html_logo_url)]`, `#[doc(html_no_source)]`, `#[doc(html_playground_url)]`, `#[doc(html_root_url)]`, `#[doc(include)]`, `#[doc(inline)]`, `#[doc(issue_tracker_base_url)]`, `#[doc(keyword)]`, `#[doc(masked)]`, `#[doc(no_default_passes)]`, `#[doc(no_inline)]`, `#[doc(notable_trait)]`, `#[doc(passes)]`, `#[doc(plugins)]`, `#[doc(rust_logo)]`, `#[doc(search_unbox)]`, `#[doc(spotlight)]`, and `#[doc(test)]`
--> $DIR/malformed-attrs.rs:77:1
|
LL | #[doc]
| ^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
= note: `#[deny(ill_formed_attribute_input)]` (part of `#[deny(future_incompatible)]`) on by default
Future breakage diagnostic: Future breakage diagnostic:
error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]` error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]`
--> $DIR/malformed-attrs.rs:98:1 --> $DIR/malformed-attrs.rs:97:1
| |
LL | #[ignore()] LL | #[ignore()]
| ^^^^^^^^^^^ | ^^^^^^^^^^^
@ -901,7 +879,7 @@ LL | #[ignore()]
Future breakage diagnostic: Future breakage diagnostic:
error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]` error: valid forms for the attribute are `#[ignore = "reason"]` and `#[ignore]`
--> $DIR/malformed-attrs.rs:230:1 --> $DIR/malformed-attrs.rs:229:1
| |
LL | #[ignore = 1] LL | #[ignore = 1]
| ^^^^^^^^^^^^^ | ^^^^^^^^^^^^^

View file

@ -1,73 +0,0 @@
#![feature(generic_const_items, min_generic_const_args)]
#![expect(incomplete_features)]
// library crates exercise weirder code paths around
// DefIds which were created for const args.
#![crate_type = "lib"]
struct Foo<const N: usize>;
type Adt1<const N: usize> = Foo<N>;
type Adt2<const N: usize> = Foo<{ N }>;
type Adt3<const N: usize> = Foo<const { N }>;
//~^ ERROR: generic parameters may not be used in const operations
type Adt4<const N: usize> = Foo<{ 1 + 1 }>;
//~^ ERROR: complex const arguments must be placed inside of a `const` block
type Adt5<const N: usize> = Foo<const { 1 + 1 }>;
type Arr<const N: usize> = [(); N];
type Arr2<const N: usize> = [(); { N }];
type Arr3<const N: usize> = [(); const { N }];
//~^ ERROR: generic parameters may not be used in const operations
type Arr4<const N: usize> = [(); 1 + 1];
//~^ ERROR: complex const arguments must be placed inside of a `const` block
type Arr5<const N: usize> = [(); const { 1 + 1 }];
fn repeats<const N: usize>() -> [(); N] {
let _1 = [(); N];
let _2 = [(); { N }];
let _3 = [(); const { N }];
//~^ ERROR: generic parameters may not be used in const operations
let _4 = [(); 1 + 1];
//~^ ERROR: complex const arguments must be placed inside of a `const` block
let _5 = [(); const { 1 + 1 }];
let _6: [(); const { N }] = todo!();
//~^ ERROR: generic parameters may not be used in const operations
}
#[type_const]
const ITEM1<const N: usize>: usize = N;
#[type_const]
const ITEM2<const N: usize>: usize = { N };
#[type_const]
const ITEM3<const N: usize>: usize = const { N };
//~^ ERROR: generic parameters may not be used in const operations
#[type_const]
const ITEM4<const N: usize>: usize = { 1 + 1 };
//~^ ERROR: complex const arguments must be placed inside of a `const` block
#[type_const]
const ITEM5<const N: usize>: usize = const { 1 + 1};
trait Trait {
#[type_const]
const ASSOC: usize;
}
fn ace_bounds<
const N: usize,
// We skip the T1 case because it doesn't resolve
// T1: Trait<ASSOC = N>,
T2: Trait<ASSOC = { N }>,
T3: Trait<ASSOC = const { N }>,
//~^ ERROR: generic parameters may not be used in const operations
T4: Trait<ASSOC = { 1 + 1 }>,
//~^ ERROR: complex const arguments must be placed inside of a `const` block
T5: Trait<ASSOC = const { 1 + 1 }>,
>() {}
struct Default1<const N: usize, const M: usize = N>;
struct Default2<const N: usize, const M: usize = { N }>;
struct Default3<const N: usize, const M: usize = const { N }>;
//~^ ERROR: generic parameters may not be used in const operations
struct Default4<const N: usize, const M: usize = { 1 + 1 }>;
//~^ ERROR: complex const arguments must be placed inside of a `const` block
struct Default5<const N: usize, const M: usize = const { 1 + 1}>;

Some files were not shown because too many files have changed in this diff Show more