// Copyright 2022 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 regen_fidl_benchmark_suite"

// Table with 15 reserved fields and one non-reserved set field
benchmark("Table/LastSetOthersReserved/16") {
    value = TableReserved16Struct{
        value: TableReserved16{
            field16: 1,
        },
    },
}

// Table with 62 reserved fields and one non-reserved set field
benchmark("Table/LastSetOthersReserved/63") {
    value = TableReserved63Struct{
        value: TableReserved63{
            field63: 1,
        },
    },
}
