#[doc(hidden)]
pub trait SpecShakingMarker {
#[inline(always)]
fn spec_shaking_marker() {}
}
impl SpecShakingMarker for () {}
impl SpecShakingMarker for bool {}
impl SpecShakingMarker for u32 {}
impl SpecShakingMarker for i32 {}
impl SpecShakingMarker for u64 {}
impl SpecShakingMarker for i64 {}
impl SpecShakingMarker for u128 {}
impl SpecShakingMarker for i128 {}
impl<T: SpecShakingMarker> SpecShakingMarker for &T {
#[inline(always)]
fn spec_shaking_marker() {
T::spec_shaking_marker();
}
}
impl<T: SpecShakingMarker> SpecShakingMarker for &mut T {
#[inline(always)]
fn spec_shaking_marker() {
T::spec_shaking_marker();
}
}
impl<T: SpecShakingMarker> SpecShakingMarker for Option<T> {
#[inline(always)]
fn spec_shaking_marker() {
T::spec_shaking_marker();
}
}
impl<T: SpecShakingMarker, E: SpecShakingMarker> SpecShakingMarker for Result<T, E> {
#[inline(always)]
fn spec_shaking_marker() {
T::spec_shaking_marker();
E::spec_shaking_marker();
}
}
impl<T0: SpecShakingMarker> SpecShakingMarker for (T0,) {
#[inline(always)]
fn spec_shaking_marker() {
T0::spec_shaking_marker();
}
}
impl<T0: SpecShakingMarker, T1: SpecShakingMarker> SpecShakingMarker for (T0, T1) {
#[inline(always)]
fn spec_shaking_marker() {
T0::spec_shaking_marker();
T1::spec_shaking_marker();
}
}
impl<T0: SpecShakingMarker, T1: SpecShakingMarker, T2: SpecShakingMarker> SpecShakingMarker
for (T0, T1, T2)
{
#[inline(always)]
fn spec_shaking_marker() {
T0::spec_shaking_marker();
T1::spec_shaking_marker();
T2::spec_shaking_marker();
}
}
impl<
T0: SpecShakingMarker,
T1: SpecShakingMarker,
T2: SpecShakingMarker,
T3: SpecShakingMarker,
> SpecShakingMarker for (T0, T1, T2, T3)
{
#[inline(always)]
fn spec_shaking_marker() {
T0::spec_shaking_marker();
T1::spec_shaking_marker();
T2::spec_shaking_marker();
T3::spec_shaking_marker();
}
}
impl<
T0: SpecShakingMarker,
T1: SpecShakingMarker,
T2: SpecShakingMarker,
T3: SpecShakingMarker,
T4: SpecShakingMarker,
> SpecShakingMarker for (T0, T1, T2, T3, T4)
{
#[inline(always)]
fn spec_shaking_marker() {
T0::spec_shaking_marker();
T1::spec_shaking_marker();
T2::spec_shaking_marker();
T3::spec_shaking_marker();
T4::spec_shaking_marker();
}
}
impl<
T0: SpecShakingMarker,
T1: SpecShakingMarker,
T2: SpecShakingMarker,
T3: SpecShakingMarker,
T4: SpecShakingMarker,
T5: SpecShakingMarker,
> SpecShakingMarker for (T0, T1, T2, T3, T4, T5)
{
#[inline(always)]
fn spec_shaking_marker() {
T0::spec_shaking_marker();
T1::spec_shaking_marker();
T2::spec_shaking_marker();
T3::spec_shaking_marker();
T4::spec_shaking_marker();
T5::spec_shaking_marker();
}
}
impl<
T0: SpecShakingMarker,
T1: SpecShakingMarker,
T2: SpecShakingMarker,
T3: SpecShakingMarker,
T4: SpecShakingMarker,
T5: SpecShakingMarker,
T6: SpecShakingMarker,
> SpecShakingMarker for (T0, T1, T2, T3, T4, T5, T6)
{
#[inline(always)]
fn spec_shaking_marker() {
T0::spec_shaking_marker();
T1::spec_shaking_marker();
T2::spec_shaking_marker();
T3::spec_shaking_marker();
T4::spec_shaking_marker();
T5::spec_shaking_marker();
T6::spec_shaking_marker();
}
}
impl<
T0: SpecShakingMarker,
T1: SpecShakingMarker,
T2: SpecShakingMarker,
T3: SpecShakingMarker,
T4: SpecShakingMarker,
T5: SpecShakingMarker,
T6: SpecShakingMarker,
T7: SpecShakingMarker,
> SpecShakingMarker for (T0, T1, T2, T3, T4, T5, T6, T7)
{
#[inline(always)]
fn spec_shaking_marker() {
T0::spec_shaking_marker();
T1::spec_shaking_marker();
T2::spec_shaking_marker();
T3::spec_shaking_marker();
T4::spec_shaking_marker();
T5::spec_shaking_marker();
T6::spec_shaking_marker();
T7::spec_shaking_marker();
}
}
impl<
T0: SpecShakingMarker,
T1: SpecShakingMarker,
T2: SpecShakingMarker,
T3: SpecShakingMarker,
T4: SpecShakingMarker,
T5: SpecShakingMarker,
T6: SpecShakingMarker,
T7: SpecShakingMarker,
T8: SpecShakingMarker,
> SpecShakingMarker for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
{
#[inline(always)]
fn spec_shaking_marker() {
T0::spec_shaking_marker();
T1::spec_shaking_marker();
T2::spec_shaking_marker();
T3::spec_shaking_marker();
T4::spec_shaking_marker();
T5::spec_shaking_marker();
T6::spec_shaking_marker();
T7::spec_shaking_marker();
T8::spec_shaking_marker();
}
}
impl<
T0: SpecShakingMarker,
T1: SpecShakingMarker,
T2: SpecShakingMarker,
T3: SpecShakingMarker,
T4: SpecShakingMarker,
T5: SpecShakingMarker,
T6: SpecShakingMarker,
T7: SpecShakingMarker,
T8: SpecShakingMarker,
T9: SpecShakingMarker,
> SpecShakingMarker for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
{
#[inline(always)]
fn spec_shaking_marker() {
T0::spec_shaking_marker();
T1::spec_shaking_marker();
T2::spec_shaking_marker();
T3::spec_shaking_marker();
T4::spec_shaking_marker();
T5::spec_shaking_marker();
T6::spec_shaking_marker();
T7::spec_shaking_marker();
T8::spec_shaking_marker();
T9::spec_shaking_marker();
}
}
impl<
T0: SpecShakingMarker,
T1: SpecShakingMarker,
T2: SpecShakingMarker,
T3: SpecShakingMarker,
T4: SpecShakingMarker,
T5: SpecShakingMarker,
T6: SpecShakingMarker,
T7: SpecShakingMarker,
T8: SpecShakingMarker,
T9: SpecShakingMarker,
T10: SpecShakingMarker,
> SpecShakingMarker for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
{
#[inline(always)]
fn spec_shaking_marker() {
T0::spec_shaking_marker();
T1::spec_shaking_marker();
T2::spec_shaking_marker();
T3::spec_shaking_marker();
T4::spec_shaking_marker();
T5::spec_shaking_marker();
T6::spec_shaking_marker();
T7::spec_shaking_marker();
T8::spec_shaking_marker();
T9::spec_shaking_marker();
T10::spec_shaking_marker();
}
}
impl<
T0: SpecShakingMarker,
T1: SpecShakingMarker,
T2: SpecShakingMarker,
T3: SpecShakingMarker,
T4: SpecShakingMarker,
T5: SpecShakingMarker,
T6: SpecShakingMarker,
T7: SpecShakingMarker,
T8: SpecShakingMarker,
T9: SpecShakingMarker,
T10: SpecShakingMarker,
T11: SpecShakingMarker,
> SpecShakingMarker for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
{
#[inline(always)]
fn spec_shaking_marker() {
T0::spec_shaking_marker();
T1::spec_shaking_marker();
T2::spec_shaking_marker();
T3::spec_shaking_marker();
T4::spec_shaking_marker();
T5::spec_shaking_marker();
T6::spec_shaking_marker();
T7::spec_shaking_marker();
T8::spec_shaking_marker();
T9::spec_shaking_marker();
T10::spec_shaking_marker();
T11::spec_shaking_marker();
}
}
impl<
T0: SpecShakingMarker,
T1: SpecShakingMarker,
T2: SpecShakingMarker,
T3: SpecShakingMarker,
T4: SpecShakingMarker,
T5: SpecShakingMarker,
T6: SpecShakingMarker,
T7: SpecShakingMarker,
T8: SpecShakingMarker,
T9: SpecShakingMarker,
T10: SpecShakingMarker,
T11: SpecShakingMarker,
T12: SpecShakingMarker,
> SpecShakingMarker for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
{
#[inline(always)]
fn spec_shaking_marker() {
T0::spec_shaking_marker();
T1::spec_shaking_marker();
T2::spec_shaking_marker();
T3::spec_shaking_marker();
T4::spec_shaking_marker();
T5::spec_shaking_marker();
T6::spec_shaking_marker();
T7::spec_shaking_marker();
T8::spec_shaking_marker();
T9::spec_shaking_marker();
T10::spec_shaking_marker();
T11::spec_shaking_marker();
T12::spec_shaking_marker();
}
}
impl SpecShakingMarker for crate::Address {}
impl SpecShakingMarker for crate::Bytes {}
impl<const N: usize> SpecShakingMarker for crate::BytesN<N> {}
impl SpecShakingMarker for crate::String {}
impl SpecShakingMarker for crate::Symbol {}
impl SpecShakingMarker for crate::U256 {}
impl SpecShakingMarker for crate::I256 {}
impl SpecShakingMarker for crate::Timepoint {}
impl SpecShakingMarker for crate::Duration {}
impl SpecShakingMarker for crate::Val {}
impl SpecShakingMarker for crate::Error {}
impl<T: SpecShakingMarker> SpecShakingMarker for crate::Vec<T> {
#[inline(always)]
fn spec_shaking_marker() {
T::spec_shaking_marker();
}
}
impl<K: SpecShakingMarker, V: SpecShakingMarker> SpecShakingMarker for crate::Map<K, V> {
#[inline(always)]
fn spec_shaking_marker() {
K::spec_shaking_marker();
V::spec_shaking_marker();
}
}
impl SpecShakingMarker for crate::MuxedAddress {}
impl<const N: usize> SpecShakingMarker for crate::crypto::Hash<N> {}
impl SpecShakingMarker for crate::crypto::bls12_381::G1Affine {}
impl SpecShakingMarker for crate::crypto::bls12_381::G2Affine {}
impl SpecShakingMarker for crate::crypto::bls12_381::Fp {}
impl SpecShakingMarker for crate::crypto::bls12_381::Fp2 {}
impl SpecShakingMarker for crate::crypto::bls12_381::Fr {}
impl SpecShakingMarker for crate::crypto::bn254::Bn254G1Affine {}
impl SpecShakingMarker for crate::crypto::bn254::Bn254G2Affine {}
impl SpecShakingMarker for crate::crypto::bn254::Bn254Fp {}
impl SpecShakingMarker for crate::crypto::bn254::Fr {}
impl SpecShakingMarker for crate::auth::Context {}
impl SpecShakingMarker for crate::auth::ContractContext {}
impl SpecShakingMarker for crate::auth::CreateContractHostFnContext {}
impl SpecShakingMarker for crate::auth::CreateContractWithConstructorHostFnContext {}
impl SpecShakingMarker for crate::auth::ContractExecutable {}
impl SpecShakingMarker for crate::auth::InvokerContractAuthEntry {}
impl SpecShakingMarker for crate::auth::SubContractInvocation {}