//! Unstable non-standard Wasmer-specific types to manipulate module
//! middlewares.
use Arc;
use ModuleMiddleware;
compile_error!;
/// Opaque representing any kind of middleware.
///
/// Used by `wasm_config_push_middleware`. A specific middleware is
/// transformed into this type to get a generic middleware. See for
/// example
/// [`wasmer_metering_as_middleware`][metering::wasmer_metering_as_middleware].