[C++] Fix compile failure on Object API union construction for struct member (#6923)

* Add dedicated traits to Object API version of unions.

* Add suppression for unused parameters on unions of structs.
This commit is contained in:
Taiju Tsuiki
2021-11-19 03:55:11 +09:00
committed by GitHub
parent a9c341545f
commit 587bbd49a7
29 changed files with 1990 additions and 17 deletions

View File

@@ -21,7 +21,6 @@
#include "flatbuffers/minireflect.h"
#include "flatbuffers/registry.h"
#include "flatbuffers/util.h"
#include "monster_test_generated.h"
#include "namespace_test/namespace_test1_generated.h"
#include "namespace_test/namespace_test2_generated.h"
@@ -2933,6 +2932,15 @@ void UnionVectorTest() {
TEST_EQ(parser2.Parse("{a_type:Bool,a:{b:true}}"), true);
}
void StructUnionTest() {
GadgetUnion gadget;
gadget.Set(FallingTub(100));
HandFanT fan;
fan.length = 10;
gadget.Set(fan);
}
void ConformTest() {
flatbuffers::Parser parser;
TEST_EQ(parser.Parse("table T { A:int; } enum E:byte { A }"), true);
@@ -4187,6 +4195,7 @@ int FlatBufferTests() {
FlexBuffersFloatingPointTest();
FlatbuffersIteratorsTest();
FixedLengthArraySpanTest();
StructUnionTest();
return 0;
}