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

// fidl_experiment = output_index_json

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

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wshadow"

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

#pragma clang diagnostic pop
