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

// Types useful for tests for the 2019 migration from
// unions to xunions.

library fidl.test.unionmigration;

xunion BasicXUnion {
    1: int32 i32;
};

union BasicUnion {
    1: int32 i32;
};

struct BasicXUnionStruct {
    BasicXUnion val;
};

struct BasicUnionStruct {
    BasicUnion val;
};

union SingleVariantUnion {
    1: uint32 x;
};

struct SingleVariantUnionStruct {
    SingleVariantUnion u;
};

struct SingleVariantUnionStructWithHeader {
    // Header exists to emulate the shape of the transaction header.
    array<uint8>:16 header;
    SingleVariantUnionStruct body;
};
