blob: 5abcb4e0c6b423b8d61c2a7ca2dea3cfb7282fda [file] [log] [blame]
// Copyright 2019 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.
library conformance;
union UnionWithBoundString {
1: string:5 boundFiveStr;
};
struct UnionWithBoundStringStruct {
UnionWithBoundString v;
};
union SingleVariantUnion {
1: uint32 x;
};
struct SingleVariantUnionStruct {
SingleVariantUnion u;
};
// Union tags follow the explicit ordinal order, not source order.
union ReverseOrdinalUnion {
4: int64 x; // tag 2
3: reserved;
2: bool y; // tag 1
1: uint32 z; // tag 0
};
struct ReverseOrdinalUnionStruct {
ReverseOrdinalUnion u;
};
[BindingsDenylist = "dart"]
union RecursiveVectorUnion {
1: vector<RecursiveVectorUnion?> vec;
};
[BindingsDenylist = "dart"]
struct RecursiveVectorUnionStruct {
RecursiveVectorUnion u;
};
[BindingsDenylist = "dart"]
union MutualRecursionUnion {
1: MutualRecursionUnionStruct s;
};
[BindingsDenylist = "dart"]
struct MutualRecursionUnionStruct {
MutualRecursionUnion? u;
};