#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(dead_code)]
use const_struct_version::StructVersion;
enum EnumTupleVariants {
A(u32),
B(f32),
}
#[doc(hidden)]
const _: () = {
extern crate const_struct_version as _const_struct_version;
use _const_struct_version::__private::sha1::Digest as _;
#[automatically_derived]
impl _const_struct_version::StructVersion for EnumTupleVariants {
fn version() -> String {
let mut hasher = _const_struct_version::__private::sha1::Sha1::new();
hasher.update("A");
hasher.update("0");
hasher
.update(
<u32 as _const_struct_version::StructVersion>::version().as_bytes(),
);
hasher.update("B");
hasher.update("0");
hasher
.update(
<f32 as _const_struct_version::StructVersion>::version().as_bytes(),
);
::alloc::__export::must_use({
let res = ::alloc::fmt::format(format_args!("{0:x}", hasher.finalize()));
res
})
}
}
};
impl EnumTupleVariants {
fn version_cached() -> &'static str {
extern crate const_struct_version as _const_struct_version;
static VERSION: ::std::sync::OnceLock<String> = ::std::sync::OnceLock::new();
VERSION.get_or_init(|| <Self as _const_struct_version::StructVersion>::version())
}
}
enum EnumTupleVariants2 {
B(f32),
A(u32),
}
#[doc(hidden)]
const _: () = {
extern crate const_struct_version as _const_struct_version;
use _const_struct_version::__private::sha1::Digest as _;
#[automatically_derived]
impl _const_struct_version::StructVersion for EnumTupleVariants2 {
fn version() -> String {
let mut hasher = _const_struct_version::__private::sha1::Sha1::new();
hasher.update("B");
hasher.update("0");
hasher
.update(
<f32 as _const_struct_version::StructVersion>::version().as_bytes(),
);
hasher.update("A");
hasher.update("0");
hasher
.update(
<u32 as _const_struct_version::StructVersion>::version().as_bytes(),
);
::alloc::__export::must_use({
let res = ::alloc::fmt::format(format_args!("{0:x}", hasher.finalize()));
res
})
}
}
};
impl EnumTupleVariants2 {
fn version_cached() -> &'static str {
extern crate const_struct_version as _const_struct_version;
static VERSION: ::std::sync::OnceLock<String> = ::std::sync::OnceLock::new();
VERSION.get_or_init(|| <Self as _const_struct_version::StructVersion>::version())
}
}
fn test_enum_ordering_changes_hash() {
let version = <EnumTupleVariants as StructVersion>::version();
let version2 = <EnumTupleVariants2 as StructVersion>::version();
match (&version, &version2) {
(left_val, right_val) => {
if *left_val == *right_val {
let kind = ::core::panicking::AssertKind::Ne;
::core::panicking::assert_failed(
kind,
&*left_val,
&*right_val,
::core::option::Option::None,
);
}
}
};
}
#[rustc_main]
#[coverage(off)]
#[doc(hidden)]
pub fn main() -> () {
extern crate test;
test::test_main_static(&[])
}