    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23

    /// A simple `assert` macro that works in `const fn`, for use until the
    /// standard `assert` macro works in `const fn`.
    ///
    /// TODO: Replace this with just `assert!`, once that's stable for use in
    /// a `const fn` context.
    #[allow(unused_macros)]
    macro_rules! const_assert {
        ($x:expr) => {
            let b: bool = $x;
            let _ = [()][!b as usize];
        };
    }

    #[test]
    #[allow(clippy::missing_const_for_fn)]
    fn test_const_assert() {
        const_assert!(true);
    }

    #[test]
    const fn test_const_assert_in_const_fn() {
        const_assert!(true);
    }