wit-bindgen-cli 0.57.0

CLI tool to generate bindings for WIT documents and the component model.
#include <assert.h>
#include <limits.h>
#include <runner_cpp.h>

void exports::runner::Run()
{
    using namespace ::test::numbers::numbers;

    assert(RoundtripU8(1) == 1);
    assert(RoundtripU8(0) == 0);
    assert(RoundtripU8(UCHAR_MAX) == UCHAR_MAX);

    assert(RoundtripS8(1) == 1);
    assert(RoundtripS8(SCHAR_MIN) == SCHAR_MIN);
    assert(RoundtripS8(SCHAR_MAX) == SCHAR_MAX);

    assert(RoundtripU16(1) == 1);
    assert(RoundtripU16(0) == 0);
    assert(RoundtripU16(USHRT_MAX) == USHRT_MAX);

    assert(RoundtripS16(1) == 1);
    assert(RoundtripS16(SHRT_MIN) == SHRT_MIN);
    assert(RoundtripS16(SHRT_MAX) == SHRT_MAX);

    assert(RoundtripU32(1) == 1);
    assert(RoundtripU32(0) == 0);
    assert(RoundtripU32(UINT_MAX) == UINT_MAX);

    assert(RoundtripS32(1) == 1);
    assert(RoundtripS32(INT_MIN) == INT_MIN);
    assert(RoundtripS32(INT_MAX) == INT_MAX);

    assert(RoundtripU64(1) == 1);
    assert(RoundtripU64(0) == 0);
    assert(RoundtripU64(ULONG_MAX) == ULONG_MAX);

    assert(RoundtripS64(1) == 1);
    assert(RoundtripS64(LONG_MIN) == LONG_MIN);
    assert(RoundtripS64(LONG_MAX) == LONG_MAX);

    assert(RoundtripF32(1.0) == 1.0);
    assert(RoundtripF32(INFINITY) == INFINITY);
    assert(RoundtripF32(-INFINITY) == -INFINITY);
    assert(isnan(RoundtripF32(NAN)));

    assert(RoundtripF64(1.0) == 1.0);
    assert(RoundtripF64(INFINITY) == INFINITY);
    assert(RoundtripF64(-INFINITY) == -INFINITY);
    assert(isnan(RoundtripF64(NAN)));

    assert(RoundtripChar('a') == 'a');
    assert(RoundtripChar(' ') == ' ');
    assert(RoundtripChar(U'🚩') == U'🚩');

    SetScalar(2);
    assert(GetScalar() == 2);
    SetScalar(4);
    assert(GetScalar() == 4);
}