blob: 7aa2ed44c67964e27df94f9407d3cb2ced5a0715 [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.
// This is intended to ensure that the GIDL-generated test code produces the
// correct syntax for C++ bindings, which needs to distinguish between e.g.
// using "Foo foo;" vs "std::unique_ptr<Foo> foo;" for optional (nullable)
// fields, "object.foo()" vs "object->foo()" vs "object.set_foo()", etc.
library conformance;
table TableWithEmptyStruct {
1: EmptyStruct s;
};
xunion XUnionWithEmptyStruct {
EmptyStruct s;
};
union UnionWithEmptyStruct {
EmptyStruct s;
EmptyStruct? s2;
};
struct StructWithOptionals {
EmptyStruct s;
EmptyStruct? s2;
TableWithEmptyStruct t;
// nullable tables are not allowed.
XUnionWithEmptyStruct xu;
XUnionWithEmptyStruct? xu2;
UnionWithEmptyStruct u;
UnionWithEmptyStruct? u2;
};