// WARNING: This file is machine generated by fidlgen.

#include <fidl/test.error/cpp/wire_types.h>

void ::test_error::wire::ExampleFooResult::SizeAndOffsetAssertionHelper() {
  static_assert(sizeof(ExampleFooResult) == sizeof(fidl_xunion_v2_t));
  static_assert(offsetof(ExampleFooResult, ordinal_) ==
                offsetof(fidl_xunion_v2_t, tag));
  static_assert(offsetof(ExampleFooResult, envelope_) ==
                offsetof(fidl_xunion_v2_t, envelope));
}
