pub const PUBLISHED_GENERATED_SUPPORT_SCHEMA_ID: &[u8; 32] = &[
185, 251, 251, 45, 168, 146, 85, 42, 248, 177, 196, 48, 117, 229, 207, 5, 84, 120, 104, 25,
150, 41, 202, 2, 243, 73, 31, 148, 241, 22, 122, 34,
];
#[macro_export]
macro_rules! generated_support {
(
expected: [
185, 251, 251, 45, 168, 146, 85, 42, 248, 177, 196, 48, 117, 229, 207, 5,
84, 120, 104, 25, 150, 41, 202, 2, 243, 73, 31, 148, 241, 22, 122, 34,
],
harness: $harness:ident $(:: $harness_segment:ident)*,
trials: { $($trials:tt)* },
deferred: { $($deferred:tt)* },
) => {
const _: fn(
$harness $(:: $harness_segment)* :: descriptor::GeneratedSupportSchemaId,
) -> $crate::descriptor::GeneratedSupportSchemaId = ::core::convert::identity;
$crate::generated_support! { @trials $($trials)* }
$($deferred)*
};
(
expected: [
185, 251, 251, 45, 168, 146, 85, 42, 248, 177, 196, 48, 117, 229, 207, 5,
84, 120, 104, 25, 150, 41, 202, 2, 243, 73, 31, 148, 241, 22, 122, 34,
],
harness: $harness:ident $(:: $harness_segment:ident)*,
benches: { $($benches:tt)* },
reporter: { $($reporter:tt)* },
) => {
const _: fn(
$harness $(:: $harness_segment)* :: descriptor::GeneratedSupportSchemaId,
) -> $crate::descriptor::GeneratedSupportSchemaId = ::core::convert::identity;
$crate::generated_support! { @benches $($benches)* }
$($reporter)*
};
(
expected: [$($expected:literal),* $(,)?],
harness: $harness:ident $(:: $harness_segment:ident)*,
trials: { $($trials:tt)* },
deferred: { $($deferred:tt)* },
) => {
::core::compile_error!(::core::concat!(
"generated_support!: the producer's expected generated-support schema identity is \
not the one this harness publishes, so the published pair is incoherent and \
nothing this door was handed reaches the compiler: the trial constructors and \
the deferred cargo are withheld together, because one arm releases both seats \
and this is not that arm. Producer expected: ",
::core::stringify!([$($expected),*]),
". Published here: ",
::core::stringify!([
185, 251, 251, 45, 168, 146, 85, 42, 248, 177, 196, 48, 117, 229, 207, 5,
84, 120, 104, 25, 150, 41, 202, 2, 243, 73, 31, 148, 241, 22, 122, 34,
]),
". Declared harness: ",
::core::stringify!($harness $(:: $harness_segment)*),
". Both sides are rewritten together, in one change: derive the current value \
from the harness's own published schema declaration, write it into the \
producer's expectation and into this harness's published literal, and commit \
the pair. A version-mixed consumer, a partial rewrite, and a hand edit to one \
side are the three shapes this refusal has."
));
};
(
expected: [$($expected:literal),* $(,)?],
harness: $harness:ident $(:: $harness_segment:ident)*,
benches: { $($benches:tt)* },
reporter: { $($reporter:tt)* },
) => {
::core::compile_error!(::core::concat!(
"generated_support!: the producer's expected generated-support schema identity is \
not the one this harness publishes, so the benchmark table and reporter cargo are \
withheld together. Producer expected: ",
::core::stringify!([$($expected),*]),
". Published here: ",
::core::stringify!([
185, 251, 251, 45, 168, 146, 85, 42, 248, 177, 196, 48, 117, 229, 207, 5,
84, 120, 104, 25, 150, 41, 202, 2, 243, 73, 31, 148, 241, 22, 122, 34,
]),
". Declared harness: ",
::core::stringify!($harness $(:: $harness_segment)*),
". Derive the current value from the harness's published schema declaration and \
rewrite both published holders together."
));
};
(@trials) => {};
(@trials $($trials:tt)+) => {
$crate::trial_table! { $($trials)+ }
};
(@benches $($benches:tt)+) => {
$crate::bench_table! { $($benches)+ }
};
}