//! Surrogate `ExternRef` value.
usecore::fmt;usecrate::imports;/// `externref` surrogate.
////// The post-processing logic replaces variables of this type with real `externref`s.
#[doc(hidden)]// should only be used by macro-generated code
#[repr(transparent)]pubstructExternRef(pub(crate)usize);implfmt::Debug forExternRef{fnfmt(&self, formatter:&mutfmt::Formatter<'_>)->fmt::Result{
formatter.debug_struct("ExternRef").finish_non_exhaustive()}}implExternRef{/// Guard for imported function wrappers. The processor checks that each transformed function
/// has this guard as the first instruction.
////// # Safety
////// This guard should only be inserted by the `externref` macro.
#[inline(always)]pubunsafefnguard(){unsafe{imports::externref_guard();}}}