static_assert_size in rustc_data_structures - Rust
Description: Type size assertion. The first argument is a type and the second argument is its expected size.

Skip to main content

## static_assert_size

# Macro static_assert_size

Source

    macro_rules! static_assert_size {
        ($ty:ty, $size:expr) => { ... };
    }

Expand description

Type size assertion. The first argument is a type and the second argument is its expected size.

Emitting hard errors from size assertions like this is generally not recommended, especially in libraries, because they can cause build failures if the layout algorithm or dependencies change. Here in rustc we control the toolchain and layout algorithm, so the former is not a problem. For the latter we have a lockfile as rustc is an application and precompiled library.

Short version: Don’t copy this macro into your own code. Use a `#[test]` instead.