Module wasmtime_environ::__core::ub_checks

source ·
🔬This is a nightly-only experimental API. (ub_checks)
Expand description

Provides the assert_unsafe_precondition macro as well as some utility functions that cover common preconditions.

Macros§

  • Check that the preconditions of an unsafe function are followed. The check is enabled at runtime if debug assertions are enabled when the caller is monomorphized. In const-eval/Miri checks implemented with this macro for language UB are always ignored.

Functions§

  • check_library_ubExperimental
    Returns whether we should perform some UB-checking at runtime. This eventually evaluates to cfg!(ub_checks), but behaves different from cfg! when mixing crates built with different flags: if the crate has UB checks enabled or carries the #[rustc_preserve_ub_checks] attribute, evaluation is delayed until monomorphization (or until the call gets inlined into a crate that does not delay evaluation further); otherwise it can happen any time.