// Copyright 2024 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// GENERATED FILE: Regen with "fx build host-tools/regen_fidl_benchmark_suite && fx regen_fidl_benchmark_suite && fx format-code"

library test.benchmarkfidl;

type TableReserved16Struct = struct {
    value TableReserved16;
};

type TableReserved16 = table {
    16: field16 uint8;
};

type TableReserved63Struct = struct {
    value TableReserved63;
};

type TableReserved63 = table {
    63: field63 uint8;
};
