From 8a874660e79f7a5d8275b22eae246ae8021e4009 Mon Sep 17 00:00:00 2001 From: Aristidis Papaioannou Date: Tue, 7 Jan 2025 15:29:26 -0800 Subject: [PATCH 01/13] Add @cpp.AllowLegacyNonOptionalRef Reviewed By: yoney Differential Revision: D67913175 fbshipit-source-id: bfafd7eeef248593d3b759f752c501b62546cfa4 --- .../src/thrift/test/testset/generator.py | 17 +- .../thrift/test/testset/golden/testset.thrift | 1320 +++++++++++++++++ 2 files changed, 1333 insertions(+), 4 deletions(-) diff --git a/third-party/thrift/src/thrift/test/testset/generator.py b/third-party/thrift/src/thrift/test/testset/generator.py index 74ff2ccf3d1151..ab6a6d288cb951 100644 --- a/third-party/thrift/src/thrift/test/testset/generator.py +++ b/third-party/thrift/src/thrift/test/testset/generator.py @@ -154,10 +154,19 @@ class Target(Enum): CPP2_TYPE_NS = "type" HACK_TYPE_ADAPTER = "|@hack.Adapter{{name = 'ConformanceTestAdapter_{}'}}" -OTHER_TYPE_ADAPTERS = "|@cpp.Adapter{{name = '::apache::thrift::test::TemplatedTestAdapter'}}|@java.Adapter{{adapterClassName = 'com.facebook.thrift.adapter.test.GenericTypeAdapter', typeClassName = 'com.facebook.thrift.adapter.test.Wrapped'}}|@python.Adapter{{name = 'thrift.python.test.adapters.noop.Wrapper', typeHint = 'thrift.python.test.adapters.noop.Wrapped[]',}}" +OTHER_TYPE_ADAPTERS = ( + "|@cpp.Adapter{{name = '::apache::thrift::test::TemplatedTestAdapter'}}" + "|@java.Adapter{{adapterClassName = 'com.facebook.thrift.adapter.test.GenericTypeAdapter', typeClassName = 'com.facebook.thrift.adapter.test.Wrapped'}}" + "|@python.Adapter{{name = 'thrift.python.test.adapters.noop.Wrapper', typeHint = 'thrift.python.test.adapters.noop.Wrapped[]',}}" +) TYPE_ADAPTERS: str = OTHER_TYPE_ADAPTERS + HACK_TYPE_ADAPTER -FIELD_ADAPTERS = "|@cpp.Adapter{{name = '::apache::thrift::test::TemplatedTestFieldAdapter'}}|@java.Wrapper{{wrapperClassName = 'com.facebook.thrift.adapter.test.GenericWrapper', typeClassName = 'com.facebook.thrift.adapter.test.Wrapped'}}|@python.Adapter{{name = 'thrift.python.test.adapters.noop.FieldWrapper', typeHint = 'thrift.python.test.adapters.noop.Wrapped[]',}}|@hack.Wrapper{{name = '\\ConformanceTestFieldWrapper'}}" +FIELD_ADAPTERS = ( + "|@cpp.Adapter{{name = '::apache::thrift::test::TemplatedTestFieldAdapter'}}" + "|@java.Wrapper{{wrapperClassName = 'com.facebook.thrift.adapter.test.GenericWrapper', typeClassName = 'com.facebook.thrift.adapter.test.Wrapped'}}" + "|@python.Adapter{{name = 'thrift.python.test.adapters.noop.FieldWrapper', typeHint = 'thrift.python.test.adapters.noop.Wrapped[]',}}" + "|@hack.Wrapper{{name = '\\ConformanceTestFieldWrapper'}}" +) PRIMATIVE_TRANSFORM: Dict[Target, str] = { Target.NAME: "{}", @@ -251,13 +260,13 @@ class Target(Enum): CPP_REF_TRANSFORM: Dict[Target, str] = { Target.NAME: "{}_cpp_ref", - Target.THRIFT: "{}|@cpp.Ref{{type = cpp.RefType.Unique}}", + Target.THRIFT: "{}|@cpp.Ref{{type = cpp.RefType.Unique}}|@cpp.AllowLegacyNonOptionalRef", Target.CPP2: "{}|FieldModifier::Reference", } SHARED_CPP_REF_TRANSFORM: Dict[Target, str] = { Target.NAME: "{}_shared_cpp_ref", - Target.THRIFT: "{}|@cpp.Ref{{type = cpp.RefType.SharedMutable}}", + Target.THRIFT: "{}|@cpp.Ref{{type = cpp.RefType.SharedMutable}}|@cpp.AllowLegacyNonOptionalRef", Target.CPP2: "{}|FieldModifier::SharedReference", } diff --git a/third-party/thrift/src/thrift/test/testset/golden/testset.thrift b/third-party/thrift/src/thrift/test/testset/golden/testset.thrift index 89523cf6cd4863..f0885fc89641f4 100644 --- a/third-party/thrift/src/thrift/test/testset/golden/testset.thrift +++ b/third-party/thrift/src/thrift/test/testset/golden/testset.thrift @@ -124,266 +124,332 @@ struct struct_map_i64_set_i64 { } struct struct_list_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } struct struct_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } struct struct_map_string_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } struct struct_map_string_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } struct struct_map_i64_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } struct struct_map_i64_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } struct struct_list_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_list_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } struct struct_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } struct struct_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } struct struct_map_string_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_i64_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } struct struct_map_string_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } struct struct_map_string_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } struct struct_map_i64_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } struct struct_map_i64_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } struct struct_bool { @@ -568,266 +634,332 @@ struct struct_optional_map_i64_set_i64 { } struct struct_optional_list_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } struct struct_optional_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } struct struct_optional_map_string_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } struct struct_optional_map_string_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } struct struct_optional_map_i64_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } struct struct_optional_map_i64_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } struct struct_optional_list_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_list_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } struct struct_optional_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } struct struct_optional_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } struct struct_optional_map_string_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_i64_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } struct struct_optional_map_string_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } struct struct_optional_map_string_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } struct struct_optional_map_i64_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } struct struct_optional_map_i64_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } struct struct_optional_bool { @@ -1012,266 +1144,332 @@ struct struct_required_map_i64_set_i64 { } struct struct_required_list_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } struct struct_required_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } struct struct_required_map_string_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } struct struct_required_map_string_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } struct struct_required_map_i64_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } struct struct_required_map_i64_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } struct struct_required_list_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_list_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } struct struct_required_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } struct struct_required_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } struct struct_required_map_string_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_i64_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } struct struct_required_map_string_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } struct struct_required_map_string_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } struct struct_required_map_i64_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } struct struct_required_map_i64_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } struct struct_required_bool { @@ -1489,331 +1687,397 @@ struct struct_terse_map_i64_set_i64 { } struct struct_terse_list_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } struct struct_terse_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } struct struct_terse_map_string_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } struct struct_terse_map_string_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } struct struct_terse_map_i64_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } struct struct_terse_map_i64_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } struct struct_terse_list_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_list_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } struct struct_terse_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } struct struct_terse_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } struct struct_terse_map_string_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_i64_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } struct struct_terse_map_string_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } struct struct_terse_map_string_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } struct struct_terse_map_i64_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } struct struct_terse_map_i64_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @@ -2919,331 +3183,397 @@ struct struct_map_i64_set_i64_op_encoded { @cpp.UseOpEncode struct struct_list_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } @cpp.UseOpEncode struct struct_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } @cpp.UseOpEncode struct struct_map_string_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode struct struct_map_string_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode struct struct_map_i64_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode struct struct_map_i64_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode struct struct_list_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_list_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode struct struct_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } @cpp.UseOpEncode struct struct_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } @cpp.UseOpEncode struct struct_map_string_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_i64_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode struct struct_map_string_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode struct struct_map_string_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode struct struct_map_i64_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode struct struct_map_i64_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode @@ -3489,331 +3819,397 @@ struct struct_optional_map_i64_set_i64_op_encoded { @cpp.UseOpEncode struct struct_optional_list_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } @cpp.UseOpEncode struct struct_optional_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } @cpp.UseOpEncode struct struct_optional_map_string_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode struct struct_optional_map_string_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode struct struct_optional_list_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_list_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode struct struct_optional_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } @cpp.UseOpEncode struct struct_optional_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } @cpp.UseOpEncode struct struct_optional_map_string_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode struct struct_optional_map_string_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode struct struct_optional_map_string_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode struct struct_optional_map_i64_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode @@ -4059,331 +4455,397 @@ struct struct_required_map_i64_set_i64_op_encoded { @cpp.UseOpEncode struct struct_required_list_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } @cpp.UseOpEncode struct struct_required_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } @cpp.UseOpEncode struct struct_required_map_string_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode struct struct_required_map_string_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode struct struct_required_map_i64_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode struct struct_required_map_i64_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode struct struct_required_list_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_list_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode struct struct_required_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } @cpp.UseOpEncode struct struct_required_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } @cpp.UseOpEncode struct struct_required_map_string_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_i64_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode struct struct_required_map_string_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode struct struct_required_map_string_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode struct struct_required_map_i64_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode struct struct_required_map_i64_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode @@ -4662,396 +5124,462 @@ struct struct_terse_map_i64_set_i64_op_encoded { @cpp.UseOpEncode struct struct_terse_list_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } @cpp.UseOpEncode struct struct_terse_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } @cpp.UseOpEncode struct struct_terse_map_string_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode struct struct_terse_map_string_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode struct struct_terse_list_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_list_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode struct struct_terse_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } @cpp.UseOpEncode struct struct_terse_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } @cpp.UseOpEncode struct struct_terse_map_string_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode struct struct_terse_map_string_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode struct struct_terse_map_string_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode struct struct_terse_map_i64_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @@ -6300,266 +6828,332 @@ exception exception_map_i64_set_i64 { } exception exception_list_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } exception exception_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } exception exception_map_string_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } exception exception_map_string_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } exception exception_map_i64_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } exception exception_map_i64_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } exception exception_list_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_list_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } exception exception_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } exception exception_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } exception exception_map_string_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_i64_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } exception exception_map_string_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } exception exception_map_string_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } exception exception_map_i64_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } exception exception_map_i64_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } exception exception_bool { @@ -6744,266 +7338,332 @@ exception exception_optional_map_i64_set_i64 { } exception exception_optional_list_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } exception exception_optional_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } exception exception_optional_map_string_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } exception exception_optional_map_string_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } exception exception_optional_map_i64_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } exception exception_optional_map_i64_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } exception exception_optional_list_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_list_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } exception exception_optional_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } exception exception_optional_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } exception exception_optional_map_string_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_i64_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } exception exception_optional_map_string_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } exception exception_optional_map_string_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } exception exception_optional_map_i64_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } exception exception_optional_map_i64_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } exception exception_optional_bool { @@ -7188,266 +7848,332 @@ exception exception_required_map_i64_set_i64 { } exception exception_required_list_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } exception exception_required_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } exception exception_required_map_string_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } exception exception_required_map_string_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } exception exception_required_map_i64_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } exception exception_required_map_i64_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } exception exception_required_list_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_list_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } exception exception_required_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } exception exception_required_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } exception exception_required_map_string_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_i64_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } exception exception_required_map_string_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } exception exception_required_map_string_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } exception exception_required_map_i64_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } exception exception_required_map_i64_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } exception exception_required_bool { @@ -7665,331 +8391,397 @@ exception exception_terse_map_i64_set_i64 { } exception exception_terse_list_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } exception exception_terse_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } exception exception_terse_map_string_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } exception exception_terse_map_string_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } exception exception_terse_map_i64_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } exception exception_terse_map_i64_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } exception exception_terse_list_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_list_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } exception exception_terse_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } exception exception_terse_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } exception exception_terse_map_string_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_i64_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } exception exception_terse_map_string_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } exception exception_terse_map_string_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } exception exception_terse_map_i64_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } exception exception_terse_map_i64_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @@ -9095,331 +9887,397 @@ exception exception_map_i64_set_i64_op_encoded { @cpp.UseOpEncode exception exception_list_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } @cpp.UseOpEncode exception exception_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } @cpp.UseOpEncode exception exception_map_string_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode exception exception_map_string_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode exception exception_map_i64_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode exception exception_map_i64_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode exception exception_list_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_list_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; } @cpp.UseOpEncode exception exception_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } @cpp.UseOpEncode exception exception_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; } @cpp.UseOpEncode exception exception_map_string_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_i64_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; } @cpp.UseOpEncode exception exception_map_string_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode exception exception_map_string_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode exception exception_map_i64_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode exception exception_map_i64_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; } @cpp.UseOpEncode @@ -9665,331 +10523,397 @@ exception exception_optional_map_i64_set_i64_op_encoded { @cpp.UseOpEncode exception exception_optional_list_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } @cpp.UseOpEncode exception exception_optional_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } @cpp.UseOpEncode exception exception_optional_map_string_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode exception exception_optional_map_string_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode exception exception_optional_list_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_list_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional list field_1; } @cpp.UseOpEncode exception exception_optional_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } @cpp.UseOpEncode exception exception_optional_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional set field_1; } @cpp.UseOpEncode exception exception_optional_map_string_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map field_1; } @cpp.UseOpEncode exception exception_optional_map_string_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode exception exception_optional_map_string_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode exception exception_optional_map_i64_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: optional map> field_1; } @cpp.UseOpEncode @@ -10235,331 +11159,397 @@ exception exception_required_map_i64_set_i64_op_encoded { @cpp.UseOpEncode exception exception_required_list_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } @cpp.UseOpEncode exception exception_required_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } @cpp.UseOpEncode exception exception_required_map_string_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode exception exception_required_map_string_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode exception exception_required_map_i64_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode exception exception_required_map_i64_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode exception exception_required_list_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_list_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required list field_1; } @cpp.UseOpEncode exception exception_required_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } @cpp.UseOpEncode exception exception_required_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required set field_1; } @cpp.UseOpEncode exception exception_required_map_string_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_i64_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map field_1; } @cpp.UseOpEncode exception exception_required_map_string_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode exception exception_required_map_string_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode exception exception_required_map_i64_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode exception exception_required_map_i64_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: required map> field_1; } @cpp.UseOpEncode @@ -10838,396 +11828,462 @@ exception exception_terse_map_i64_set_i64_op_encoded { @cpp.UseOpEncode exception exception_terse_list_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } @cpp.UseOpEncode exception exception_terse_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } @cpp.UseOpEncode exception exception_terse_map_string_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode exception exception_terse_map_string_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode exception exception_terse_list_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_list_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: list field_1; } @cpp.UseOpEncode exception exception_terse_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } @cpp.UseOpEncode exception exception_terse_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: set field_1; } @cpp.UseOpEncode exception exception_terse_map_string_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map field_1; } @cpp.UseOpEncode exception exception_terse_map_string_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode exception exception_terse_map_string_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @cpp.UseOpEncode exception exception_terse_map_i64_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef @thrift.TerseWrite 1: map> field_1; } @@ -13408,398 +14464,530 @@ union union_map_i64_set_i64 { } union union_list_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: set field_2; } union union_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: set field_2; } union union_map_string_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_bool_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_byte_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_i16_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_i32_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_float_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_double_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_binary_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } union union_map_string_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } union union_map_i64_set_string_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } union union_map_i64_set_i64_cpp_ref { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } union union_list_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_list_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } union union_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: set field_2; } union union_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: set field_2; } union union_map_string_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_bool_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_byte_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_i16_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_i32_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_float_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_double_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_binary_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_i64_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } union union_map_string_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } union union_map_string_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } union union_map_i64_set_string_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } union union_map_i64_set_i64_shared_cpp_ref { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } union union_bool { @@ -14009,463 +15197,595 @@ union union_map_i64_set_i64_op_encoded { @cpp.UseOpEncode union union_list_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: set field_2; } @cpp.UseOpEncode union union_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: set field_2; } @cpp.UseOpEncode union union_map_string_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_bool_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_byte_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_i16_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_i32_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_float_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_double_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_binary_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } @cpp.UseOpEncode union union_map_string_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } @cpp.UseOpEncode union union_map_i64_set_string_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } @cpp.UseOpEncode union union_map_i64_set_i64_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.Unique} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } @cpp.UseOpEncode union union_list_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_list_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: list field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: list field_2; } @cpp.UseOpEncode union union_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: set field_2; } @cpp.UseOpEncode union union_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: set field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: set field_2; } @cpp.UseOpEncode union union_map_string_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_bool_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_byte_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_i16_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_i32_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_float_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_double_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_binary_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_i64_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map field_2; } @cpp.UseOpEncode union union_map_string_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } @cpp.UseOpEncode union union_map_string_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } @cpp.UseOpEncode union union_map_i64_set_string_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } @cpp.UseOpEncode union union_map_i64_set_i64_shared_cpp_ref_op_encoded { @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 1: map> field_1; @cpp.Ref{type = cpp.RefType.SharedMutable} + @cpp.AllowLegacyNonOptionalRef 2: map> field_2; } @cpp.UseOpEncode From 2a3d915350e6404164d04d20f5a97bca9d75b4ae Mon Sep 17 00:00:00 2001 From: Alexey Spiridonov Date: Tue, 7 Jan 2025 18:29:18 -0800 Subject: [PATCH 02/13] Remove unused detail func `makeBlockingWaitTask` Reviewed By: iahs Differential Revision: D67889890 fbshipit-source-id: 832b1cf80b3c4d8c236b9c873d1a5743c96c5a44 --- .../folly/src/folly/coro/BlockingWait.h | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/third-party/folly/src/folly/coro/BlockingWait.h b/third-party/folly/src/folly/coro/BlockingWait.h index 7fac22c8f365fd..f743528d53466d 100644 --- a/third-party/folly/src/folly/coro/BlockingWait.h +++ b/third-party/folly/src/folly/coro/BlockingWait.h @@ -137,12 +137,6 @@ class BlockingWaitPromise final : public BlockingWaitPromiseBase { return final_suspend(); } -#if 0 - void return_value(T& value) noexcept { - result_->emplace(std::ref(value)); - } -#endif - void return_void() { // This should never be reachable. // The coroutine should either have suspended at co_yield or should have @@ -259,24 +253,6 @@ BlockingWaitPromise::get_return_object() noexcept { coroutine_handle>::from_promise(*this)}; } -template < - typename Awaitable, - typename Result = await_result_t, - std::enable_if_t::value, int> = 0> -auto makeBlockingWaitTask(Awaitable&& awaitable) - -> BlockingWaitTask> { - co_return co_await static_cast(awaitable); -} - -template < - typename Awaitable, - typename Result = await_result_t, - std::enable_if_t::value, int> = 0> -auto makeBlockingWaitTask(Awaitable&& awaitable) - -> BlockingWaitTask> { - co_yield co_await static_cast(awaitable); -} - template < typename Awaitable, typename Result = await_result_t, From 3ee25e11ed91cd8bdcb61d31d381312e0657c298 Mon Sep 17 00:00:00 2001 From: Rahul Iyengar Date: Wed, 8 Jan 2025 00:30:03 -0800 Subject: [PATCH 03/13] also log to error logs when we're emergency restarting Summary: This unstructured log line serves as a breadcrumb to go check structured logs, which will likely save some investigation time. Reviewed By: ottoni Differential Revision: D67928423 fbshipit-source-id: 80ce4827383a470635386b76346bf4bf348edfe0 --- hphp/runtime/server/http-server.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/hphp/runtime/server/http-server.cpp b/hphp/runtime/server/http-server.cpp index 37e1186f03485d..1e8a2bc3da2df6 100644 --- a/hphp/runtime/server/http-server.cpp +++ b/hphp/runtime/server/http-server.cpp @@ -259,6 +259,7 @@ void HttpServer::onServerShutdown() { if (HPHP::alloc::BumpEmergencyMapper:: s_emergencyFlag.load(std::memory_order_acquire)) { // Server is shutting down when it almost exhausted low memory. + Logger::Error("emergency restart: terminating due to lowptr exhaustion!"); if (StructuredLog::enabled()) { auto record = StructuredLogEntry{}; record.setInt("low_mapped", alloc::getLowMapped()); From a7803cd698b27bf678f1ff0421deaea49fef3725 Mon Sep 17 00:00:00 2001 From: Danfeng Wang Date: Wed, 8 Jan 2025 05:45:52 -0800 Subject: [PATCH 04/13] Make mutable thrift-python Union.type enum creation lazy Summary: Make `mutable.FbThriftUnionFieldEnum` enum creation lazy by deferring creation until first access. Reviewed By: ahilger Differential Revision: D67844557 fbshipit-source-id: 42cd00c65f066accac3006a321acc5dbebaee650 --- .../src/thrift/lib/python/mutable_types.pxd | 4 +- .../src/thrift/lib/python/mutable_types.pyx | 42 ++++++++++++------- 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/third-party/thrift/src/thrift/lib/python/mutable_types.pxd b/third-party/thrift/src/thrift/lib/python/mutable_types.pxd index ed8b7c9ed33bc5..14975249f8040a 100644 --- a/third-party/thrift/src/thrift/lib/python/mutable_types.pxd +++ b/third-party/thrift/src/thrift/lib/python/mutable_types.pxd @@ -138,7 +138,7 @@ cdef class _MutableUnionFieldDescriptor: cdef FieldInfo _field_info cdef class MutableUnion(MutableStructOrUnion): - cdef readonly object fbthrift_current_field + cdef object py_fbthrift_current_field cdef readonly object fbthrift_current_value cdef void _fbthrift_update_current_field_attributes(self) except * @@ -155,6 +155,8 @@ cdef class MutableUnion(MutableStructOrUnion): cdef object _fbthrift_get_field_value(self, int16_t field_id) + cdef object _fbthrift_current_field_enum(self) + cdef object _mutable_struct_meta_new( object cls, object cls_name, object bases, object dct ) diff --git a/third-party/thrift/src/thrift/lib/python/mutable_types.pyx b/third-party/thrift/src/thrift/lib/python/mutable_types.pyx index b1aa6e2a69e0f4..2e27f0b8e4c0a2 100644 --- a/third-party/thrift/src/thrift/lib/python/mutable_types.pyx +++ b/third-party/thrift/src/thrift/lib/python/mutable_types.pyx @@ -335,7 +335,7 @@ cdef class MutableStruct(MutableStructOrUnion): assert self._fbthrift_has_struct_instance(self._fbthrift_data) return self._fbthrift_create(copy.deepcopy(self._fbthrift_data[:-1])) - + cdef _initStructListWithValues(self, kwargs) except *: """ @@ -851,11 +851,11 @@ cdef object _fbthrift_compare_union_less( rhs_union = (rhs) lhs_tuple = ( - lhs_union.fbthrift_current_field.value, + _fbthrift_get_MutableUnion_type_int(lhs_union), lhs_union.fbthrift_current_value, ) rhs_tuple = ( - rhs_union.fbthrift_current_field.value, + _fbthrift_get_MutableUnion_type_int(rhs_union), rhs_union.fbthrift_current_value, ) @@ -864,11 +864,14 @@ cdef object _fbthrift_compare_union_less( else: return lhs_tuple < rhs_tuple +cdef inline int _fbthrift_get_MutableUnion_type_int(MutableUnion u): + return u._fbthrift_data[0] cdef class MutableUnion(MutableStructOrUnion): def __cinit__(self): self._fbthrift_data = createMutableUnionDataHolder() self._fbthrift_data.append(self) + self.py_fbthrift_current_field = None def __init__(self, **kwargs): self_type = type(self) @@ -890,8 +893,7 @@ cdef class MutableUnion(MutableStructOrUnion): Following this call, the following are true: * the current value (`self.fbthrift_current_value`) is`None` - * the current field (`self.fbthrift_current_field`) is the (special) - `EMPTY` value. + * the current field (`self.py_fbthrift_current_field`) is `None`. """ self._fbthrift_set_mutable_union_value(field_id=0, field_python_value=None) @@ -983,13 +985,25 @@ cdef class MutableUnion(MutableStructOrUnion): value if this union is empty). """ cdef int current_field_enum_value = self._fbthrift_data[0] - self.fbthrift_current_field = type(self).FbThriftUnionFieldEnum( - current_field_enum_value - ) + self.py_fbthrift_current_field = None self.fbthrift_current_value = self._fbthrift_get_current_field_python_value( current_field_enum_value ) + cdef object _fbthrift_current_field_enum(self): + ''' + Initializes self.py_fbthrift_current_field enum if None. + ''' + if self.py_fbthrift_current_field is None: + self.py_fbthrift_current_field = type(self).FbThriftUnionFieldEnum( + _fbthrift_get_MutableUnion_type_int(self) + ) + return self.py_fbthrift_current_field + + @property + def fbthrift_current_field(MutableUnion self not None): + return self._fbthrift_current_field_enum() + cdef object _fbthrift_get_current_field_python_value( self, int current_field_enum_value ): @@ -1050,14 +1064,14 @@ cdef class MutableUnion(MutableStructOrUnion): `field_id` (i.e., it either holds a value for another field, or is empty). """ - current_field_enum = self.fbthrift_current_field - cdef int current_field_enum_value = current_field_enum.value + cdef int current_field_enum_value = _fbthrift_get_MutableUnion_type_int(self) if (current_field_enum_value == field_id): return self.fbthrift_current_value # ERROR: Requested field_id does not match current field. union_class = type(self) requested_field_enum = union_class.FbThriftUnionFieldEnum(field_id) + current_field_enum = self._fbthrift_current_field_enum() raise AttributeError( f"Error retrieving Thrift union ({union_class.__name__}) field: requested " f"'{requested_field_enum.name}', but currently holds " @@ -1095,7 +1109,7 @@ cdef class MutableUnion(MutableStructOrUnion): """ `MutableUnion._fbthrift_data` is populated by multiple sources, such as `MutableUnion.__cinit__()` or `MutableUnion._fbthrift_deserialize()`. - It stores the `fbthrift_current_field` and `fbthrift_current_value`. + It stores the `py_fbthrift_current_field` and `fbthrift_current_value`. If a `MutableUnion` instance is created for a specific `_fbthrift_data`, that instance is appended as the last element. The instance is not considered by the serialization/deserialization logic; it ensures @@ -1117,7 +1131,7 @@ cdef class MutableUnion(MutableStructOrUnion): return False other_union = (other) - if other_union.fbthrift_current_field != self.fbthrift_current_field: + if _fbthrift_get_MutableUnion_type_int(other_union) != _fbthrift_get_MutableUnion_type_int(self): return False return other_union.fbthrift_current_value == self.fbthrift_current_value @@ -1152,10 +1166,10 @@ cdef class MutableUnion(MutableStructOrUnion): return dir(type(self)) def get_type(self): - return self.fbthrift_current_field + return self._fbthrift_current_field_enum() def __repr__(self): - return f"{type(self).__name__}({self.fbthrift_current_field.name}={self.fbthrift_current_value!r})" + return f"{type(self).__name__}({self._fbthrift_current_field_enum().name}={self.fbthrift_current_value!r})" def _gen_mutable_union_field_enum_members(field_infos): yield ("EMPTY", 0) From 0c7ba22fea370789dfa921dab396e01723874a6d Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Wed, 8 Jan 2025 07:11:48 -0800 Subject: [PATCH 05/13] Cleanup javadeprecated Summary: * Remove the `thrift-fbandroid` target which is nearly identical to `thrift` and appears to be unused. * Remove the `thrift-tservlet` target which looks useless and unused. * Remove `.autodeps.toml` and `.gitignore` the content of which also looks useless. Reviewed By: prakashgayasen Differential Revision: D67922990 fbshipit-source-id: 724ac2b0606e27cc34108a69759ad8763d7335cc --- third-party/thrift/src/thrift/lib/javadeprecated/.gitignore | 1 - 1 file changed, 1 deletion(-) delete mode 100644 third-party/thrift/src/thrift/lib/javadeprecated/.gitignore diff --git a/third-party/thrift/src/thrift/lib/javadeprecated/.gitignore b/third-party/thrift/src/thrift/lib/javadeprecated/.gitignore deleted file mode 100644 index eb5a316cbd195d..00000000000000 --- a/third-party/thrift/src/thrift/lib/javadeprecated/.gitignore +++ /dev/null @@ -1 +0,0 @@ -target From a0fa13c76ef67ac4446f4a8b2250b42b07ba0b0f Mon Sep 17 00:00:00 2001 From: Open Source Bot Date: Wed, 8 Jan 2025 09:35:14 -0800 Subject: [PATCH 06/13] Updating submodules Summary: GitHub commits: https://github.com/facebook/buck2-prelude/commit/590b2632e939ea2e8ed64d4079e1ea33bec007c3 https://github.com/facebook/fb303/commit/b651217a28196e7749391e94fcdf604538d3205e https://github.com/facebook/fbthrift/commit/f5f39773b04a64e8879977e96d8966e63d6279c5 https://github.com/facebook/folly/commit/b7954d2ef5c87b4583ae408cefb421baa7be804a https://github.com/facebook/mvfst/commit/4de0df68c75f1a678044b55dd3844d1167308e4b https://github.com/facebook/proxygen/commit/392459b46341173c68b78e72b9700e2da53f6579 https://github.com/facebook/wangle/commit/346e1ffd4cc31b2ca11c47e8cf4141eef81f4ac4 https://github.com/facebookexperimental/edencommon/commit/824d1296435118acbe01566ba0fa8e373adb519b https://github.com/facebookexperimental/rust-shed/commit/4c3cc2aea5ed8104c5efd515c2fbc5325c3b7dd7 https://github.com/facebookincubator/facebook-pixel-for-wordpress/commit/3f409bf7c512e0812d8fa310c6564bbcc06e65d2 https://github.com/facebookincubator/fizz/commit/c82fdf59ad20c874f31366754da47bde9c4c684d https://github.com/facebookresearch/mvdust3r/commit/1c4bfb6dec3605303738e2aa02b5653b3eece797 Reviewed By: JurjenLelifeld fbshipit-source-id: 9b1e51dd0ce235007f41d74f117434b551254bd0 --- build/deps/github_hashes/facebook/fbthrift-rev.txt | 2 +- build/deps/github_hashes/facebook/folly-rev.txt | 2 +- build/deps/github_hashes/facebook/mvfst-rev.txt | 2 +- build/deps/github_hashes/facebook/wangle-rev.txt | 2 +- build/deps/github_hashes/facebookincubator/fizz-rev.txt | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build/deps/github_hashes/facebook/fbthrift-rev.txt b/build/deps/github_hashes/facebook/fbthrift-rev.txt index a6e9d17d061c30..ca195f0688dd68 100644 --- a/build/deps/github_hashes/facebook/fbthrift-rev.txt +++ b/build/deps/github_hashes/facebook/fbthrift-rev.txt @@ -1 +1 @@ -Subproject commit ef2b40a0e0721359b16eb87467e1c63e011bbffc +Subproject commit f5f39773b04a64e8879977e96d8966e63d6279c5 diff --git a/build/deps/github_hashes/facebook/folly-rev.txt b/build/deps/github_hashes/facebook/folly-rev.txt index 8e47c174ae20d4..e5f9fc5b1b2b58 100644 --- a/build/deps/github_hashes/facebook/folly-rev.txt +++ b/build/deps/github_hashes/facebook/folly-rev.txt @@ -1 +1 @@ -Subproject commit 9a85079fc2385a8f0e7817c792d1abafca3a47f9 +Subproject commit b7954d2ef5c87b4583ae408cefb421baa7be804a diff --git a/build/deps/github_hashes/facebook/mvfst-rev.txt b/build/deps/github_hashes/facebook/mvfst-rev.txt index 2f9609947356f5..d54fd1b9cd7395 100644 --- a/build/deps/github_hashes/facebook/mvfst-rev.txt +++ b/build/deps/github_hashes/facebook/mvfst-rev.txt @@ -1 +1 @@ -Subproject commit e4cfb0631a35126c52b6022cae0aa1bacecc425a +Subproject commit 4de0df68c75f1a678044b55dd3844d1167308e4b diff --git a/build/deps/github_hashes/facebook/wangle-rev.txt b/build/deps/github_hashes/facebook/wangle-rev.txt index 5f3128e6e7466a..9709cd2e1502b5 100644 --- a/build/deps/github_hashes/facebook/wangle-rev.txt +++ b/build/deps/github_hashes/facebook/wangle-rev.txt @@ -1 +1 @@ -Subproject commit d672ce845b0f1d23c3b578534fe02be97fff4baf +Subproject commit 346e1ffd4cc31b2ca11c47e8cf4141eef81f4ac4 diff --git a/build/deps/github_hashes/facebookincubator/fizz-rev.txt b/build/deps/github_hashes/facebookincubator/fizz-rev.txt index bfec513056969d..b8b9d4a9f559ba 100644 --- a/build/deps/github_hashes/facebookincubator/fizz-rev.txt +++ b/build/deps/github_hashes/facebookincubator/fizz-rev.txt @@ -1 +1 @@ -Subproject commit 0887cd3971e10781ebdd9048cfbcd064e2c5a19f +Subproject commit c82fdf59ad20c874f31366754da47bde9c4c684d From 66f8194eddd1b47d2a2f99ee09063a02ef97b2b8 Mon Sep 17 00:00:00 2001 From: Jay Edgar Date: Wed, 8 Jan 2025 11:59:34 -0800 Subject: [PATCH 07/13] Fix bug introduced in D67400934 Summary: In D67400934 the RowStream object (stored in `current_row_stream_`) would be freed on a cancel. However, there was at least one code path where we could attempt to access it again in this scenario. This broke a handful of tests. Fix the code to correctly handle this scenario. Differential Revision: D67909302 fbshipit-source-id: cfad60ec70521378b73bd4e14a9e20324e30f0f2 --- .../mysql_client/mysql_protocol/MysqlFetchOperationImpl.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/third-party/squangle/src/squangle/mysql_client/mysql_protocol/MysqlFetchOperationImpl.cpp b/third-party/squangle/src/squangle/mysql_client/mysql_protocol/MysqlFetchOperationImpl.cpp index 7c552c33528eb1..360687435a3bde 100644 --- a/third-party/squangle/src/squangle/mysql_client/mysql_protocol/MysqlFetchOperationImpl.cpp +++ b/third-party/squangle/src/squangle/mysql_client/mysql_protocol/MysqlFetchOperationImpl.cpp @@ -163,7 +163,11 @@ void MysqlFetchOperationImpl::actionable() { // - CompleteQuery: an error occurred or rows finished to fetch // - WaitForConsumer: in case `pause` is called during `notifyRowsReady` if (active_fetch_action_ == FetchAction::Fetch) { - DCHECK(current_row_stream_.has_value()); + if (!current_row_stream_) { + active_fetch_action_ = FetchAction::CompleteQuery; + continue; + } + // Try to catch when the user didn't pause or consumed the rows if (current_row_stream_->getCurrentRow().has_value()) { // This should help From c11b6d2ecb558375a541ca7e3e7f2a17e5999086 Mon Sep 17 00:00:00 2001 From: Alper Yoney Date: Wed, 8 Jan 2025 13:45:09 -0800 Subject: [PATCH 08/13] Add fbthrift_copy_from to MutableStruct Summary: Add `fbthrift_copy_from()` to MutableStruct. Reviewed By: ahilger Differential Revision: D67942525 fbshipit-source-id: ffa228460f35d4989f3c71d241b4d9e12081e8e1 --- .../src/thrift/lib/python/mutable_types.pyi | 1 + .../src/thrift/lib/python/mutable_types.pyx | 12 +++ .../thrift/test/thrift-python/struct_test.py | 74 +++++++++++++++++++ 3 files changed, 87 insertions(+) diff --git a/third-party/thrift/src/thrift/lib/python/mutable_types.pyi b/third-party/thrift/src/thrift/lib/python/mutable_types.pyi index 6a23b8282a3f27..873817f7ebf688 100644 --- a/third-party/thrift/src/thrift/lib/python/mutable_types.pyi +++ b/third-party/thrift/src/thrift/lib/python/mutable_types.pyi @@ -35,6 +35,7 @@ class MutableStruct( typing.Iterable[typing.Tuple[str, typing.Any]], metaclass=MutableStructMeta, ): + def fbthrift_copy_from(self, other: object) -> None: ... def _to_python(self) -> Struct: ... class MutableUnion(MutableStructOrUnion, metaclass=MutableUnionMeta): ... diff --git a/third-party/thrift/src/thrift/lib/python/mutable_types.pyx b/third-party/thrift/src/thrift/lib/python/mutable_types.pyx index 2e27f0b8e4c0a2..0f8808542e2cd6 100644 --- a/third-party/thrift/src/thrift/lib/python/mutable_types.pyx +++ b/third-party/thrift/src/thrift/lib/python/mutable_types.pyx @@ -335,7 +335,19 @@ cdef class MutableStruct(MutableStructOrUnion): assert self._fbthrift_has_struct_instance(self._fbthrift_data) return self._fbthrift_create(copy.deepcopy(self._fbthrift_data[:-1])) + def fbthrift_copy_from(self, other): + """ + Copies the content of `other` into the current struct. + + It resets the current struct and then it assigns each field of `other` + to `self`. + """ + if type(self) is not type(other): + raise TypeError(f"Cannot copy from {type(other)} to {type(self)}") + self.fbthrift_reset() + # Last element is the `MutableStruct` instance, do not copy + self._fbthrift_data[:-1] = (other)._fbthrift_data[:-1] cdef _initStructListWithValues(self, kwargs) except *: """ diff --git a/third-party/thrift/src/thrift/test/thrift-python/struct_test.py b/third-party/thrift/src/thrift/test/thrift-python/struct_test.py index 3bcf2585ae1212..97adc4e5f33da7 100644 --- a/third-party/thrift/src/thrift/test/thrift-python/struct_test.py +++ b/third-party/thrift/src/thrift/test/thrift-python/struct_test.py @@ -2233,3 +2233,77 @@ def test_match(self) -> None: self.assertIsNone(y) case _: self.fail("Expected match, got none.") + + def test_fbthrift_copy_from(self) -> None: + """ + `lhs.fbthrift_copy_from(rhs)` copies the content of the `rhs` struct + into the lhs struct. It is semantically equivalent to assigning each + field of `rhs` to `lhs`." + """ + # Struct with primitive fields + s1 = TestStructAllThriftPrimitiveTypesMutable( + unqualified_bool=True, + optional_byte=0, + unqualified_i16=1, + optional_i32=2, + unqualified_i64=3, + optional_float=4.0, + unqualified_double=5.0, + optional_string="abc", + ) + + s2 = TestStructAllThriftPrimitiveTypesMutable() + self.assertNotEqual(s1, s2) + s2.fbthrift_copy_from(s1) + self.assertEqual(s1, s2) + + # Struct with container fields + s3 = TestStructAllThriftContainerTypesMutable( + unqualified_list_i32=to_thrift_list([1, 2, 3]), + optional_set_string=to_thrift_set({"a", "b", "c"}), + unqualified_map_string_i32=to_thrift_map({"a": 1, "b": 2}), + ) + + s4 = TestStructAllThriftContainerTypesMutable() + self.assertNotEqual(s3, s4) + s4.fbthrift_copy_from(s3) + self.assertEqual(s3, s4) + + # Container assignment is refernce semantics, after `fbthrift_copy_from()` + # s3 and s4 container fields are the "same" containers. + self.assertEqual([1, 2, 3], s3.unqualified_list_i32) + self.assertEqual([1, 2, 3], s4.unqualified_list_i32) + + s3.unqualified_list_i32.append(4) + + self.assertEqual([1, 2, 3, 4], s3.unqualified_list_i32) + self.assertEqual([1, 2, 3, 4], s4.unqualified_list_i32) + + # Struct with struct fields + n2 = TestStructNested_2_Mutable(i32_field=2) + n1 = TestStructNested_1_Mutable(i32_field=3, nested_2=n2) + s5 = TestStructNested_0_Mutable(i32_field=5, nested_1=n1) + + s6 = TestStructNested_0_Mutable() + self.assertNotEqual(s5, s6) + s6.fbthrift_copy_from(s5) + self.assertEqual(s5, s6) + + # Struct assignment is refernce semantics, after `fbthrift_copy_from()` + # s5 and s4 struct fields are the "same" structs. + self.assertEqual(3, s5.nested_1.i32_field) + self.assertEqual(3, s6.nested_1.i32_field) + + s5.nested_1.i32_field = 33 + + self.assertEqual(33, s5.nested_1.i32_field) + self.assertEqual(33, s6.nested_1.i32_field) + + # `lhs` and `rhs` must be the same type + s7 = TestStructAllThriftPrimitiveTypesMutable() + with self.assertRaisesRegex( + TypeError, + "Cannot copy from.*TestStructAllThriftContainerTypes.*to" + ".*TestStructAllThriftPrimitiveTypes", + ): + s7.fbthrift_copy_from(TestStructAllThriftContainerTypesMutable()) From a1378afe142606ce6afb903f0ca868e1cfa602cd Mon Sep 17 00:00:00 2001 From: Pranjal Raihan Date: Wed, 8 Jan 2025 13:48:01 -0800 Subject: [PATCH 09/13] Reserve asterisk (*) as a punctuation token Summary: Currently unused but reserving for potential future use. Reviewed By: thedavekwon Differential Revision: D67920813 fbshipit-source-id: 4d7915f37cd75d552f84b551577363f8b033729f --- .../thrift/src/thrift/compiler/whisker/test/lexer_test.cc | 3 ++- third-party/thrift/src/thrift/compiler/whisker/token.cc | 1 + third-party/thrift/src/thrift/compiler/whisker/token.h | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/third-party/thrift/src/thrift/compiler/whisker/test/lexer_test.cc b/third-party/thrift/src/thrift/compiler/whisker/test/lexer_test.cc index 4ddab907758fa8..f9491654273a3e 100644 --- a/third-party/thrift/src/thrift/compiler/whisker/test/lexer_test.cc +++ b/third-party/thrift/src/thrift/compiler/whisker/test/lexer_test.cc @@ -183,7 +183,7 @@ TEST_F(LexerTest, multiple_identifiers) { } TEST_F(LexerTest, ids_and_punctuations) { - auto lexer = make_lexer("{{ |. ! bas ^> = ic /# }}{{()}}"); + auto lexer = make_lexer("{{ |. ! bas ^> =* ic /# }}{{()}}"); const std::vector expected = { {tok::open, {}}, {tok::pipe, {}}, @@ -193,6 +193,7 @@ TEST_F(LexerTest, ids_and_punctuations) { {tok::caret, {}}, {tok::gt, {}}, {tok::eq, {}}, + {tok::star, {}}, {tok::identifier, "ic"}, {tok::slash, {}}, {tok::pound, {}}, diff --git a/third-party/thrift/src/thrift/compiler/whisker/token.cc b/third-party/thrift/src/thrift/compiler/whisker/token.cc index 9eb149465a9a16..51634028735203 100644 --- a/third-party/thrift/src/thrift/compiler/whisker/token.cc +++ b/third-party/thrift/src/thrift/compiler/whisker/token.cc @@ -91,6 +91,7 @@ constexpr token_kind_info info[] = { {tok::pipe, "`|`"}, {tok::gt, "`>`"}, {tok::eq, "`=`"}, + {tok::star, "`*`"}, #define WHISKER_KEYWORD(kw) {tok::kw_##kw, "`" #kw "`"}, WHISKER_KEYWORDS() diff --git a/third-party/thrift/src/thrift/compiler/whisker/token.h b/third-party/thrift/src/thrift/compiler/whisker/token.h index a84fa1c91eba70..56a32f9b40eff5 100644 --- a/third-party/thrift/src/thrift/compiler/whisker/token.h +++ b/third-party/thrift/src/thrift/compiler/whisker/token.h @@ -62,6 +62,7 @@ enum class tok : unsigned { pipe, // "|" gt, // ">" eq, // "=" + star, // "*" // clang-format on // Literals: @@ -114,6 +115,7 @@ constexpr tok to_tok(char c) { case '|': return tok::pipe; case '>': return tok::gt; case '=': return tok::eq; + case '*': return tok::star; default: return tok::error; } From 9fff2f1cea3b7f847c20f59354c9cc13eee8b76a Mon Sep 17 00:00:00 2001 From: TJ Yin Date: Wed, 8 Jan 2025 13:57:16 -0800 Subject: [PATCH 10/13] Fix infinite loop when there is circular typedef Summary: Otherwise thrift compiler will never finish running since functions like `get_true_type()` takes literally forever to return. Reviewed By: createdbysk Differential Revision: D67924820 fbshipit-source-id: c3aadb12cb2fbcd22a4ff61ea690073726c77653 --- .../thrift/src/thrift/compiler/sema/sema.cc | 28 ++++++++++++++++++- .../thrift/src/thrift/compiler/sema/sema.h | 6 ++++ .../src/thrift/compiler/test/compiler_test.cc | 7 +++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/third-party/thrift/src/thrift/compiler/sema/sema.cc b/third-party/thrift/src/thrift/compiler/sema/sema.cc index 7e437c73c8a5f4..16532956e9a225 100644 --- a/third-party/thrift/src/thrift/compiler/sema/sema.cc +++ b/third-party/thrift/src/thrift/compiler/sema/sema.cc @@ -610,7 +610,33 @@ bool sema::resolve_all_types(sema_context& diags, t_program_bundle& bundle) { assert(!td.resolve()); success = false; } - return success; + return success && check_circular_typedef(diags, bundle); +} + +bool sema::check_circular_typedef( + sema_context& diags, t_program_bundle& bundle) { + std::unordered_set checked; + for (auto& td : bundle.root_program()->scope()->placeholder_typedefs()) { + if (checked.count(td.get_type())) { + continue; + } + std::unordered_set visited; + std::vector chain; + if (nullptr != t_typedef::find_type_if(td.get_type(), [&](const t_type* t) { + // Find the first typedef which insertion failed + checked.insert(t); + chain.push_back(t); + return visited.insert(t).second == false; + })) { + std::string msg; + for (const auto& i : chain) { + msg += i->name() + (&i != &chain.back() ? " --> " : ""); + } + diags.error(td, "Circular typedef: {}", msg); + return false; + } + } + return true; } sema::result sema::run(sema_context& ctx, t_program_bundle& bundle) { diff --git a/third-party/thrift/src/thrift/compiler/sema/sema.h b/third-party/thrift/src/thrift/compiler/sema/sema.h index 0fef2aada39391..7a4ed6ca09bd2b 100644 --- a/third-party/thrift/src/thrift/compiler/sema/sema.h +++ b/third-party/thrift/src/thrift/compiler/sema/sema.h @@ -32,6 +32,12 @@ struct sema { // successful and reporting any errors via diags. bool resolve_all_types(sema_context& diags, t_program_bundle& bundle); + // Check whether we have circular typedef, returning true if successful and + // reporting any errors via diags. Example of circular typedef: + // typedef Foo Bar + // typedef Bar Foo + bool check_circular_typedef(sema_context& diags, t_program_bundle& bundle); + public: explicit sema(bool use_legacy_type_ref_resolution) : use_legacy_type_ref_resolution_(use_legacy_type_ref_resolution) {} diff --git a/third-party/thrift/src/thrift/compiler/test/compiler_test.cc b/third-party/thrift/src/thrift/compiler/test/compiler_test.cc index 9f913336771c92..81f363f5142120 100644 --- a/third-party/thrift/src/thrift/compiler/test/compiler_test.cc +++ b/third-party/thrift/src/thrift/compiler/test/compiler_test.cc @@ -2350,3 +2350,10 @@ TEST(CompilerTest, not_bundled_annotation) { {}, options); } + +TEST(CompilerTest, circular_typedef) { + check_compile(R"( + typedef Foo Bar # expected-error: Circular typedef: Foo --> Bar --> Foo + typedef Bar Foo + )"); +} From 87b947a5a47a6ade50eb345df081727936c5bd8d Mon Sep 17 00:00:00 2001 From: TJ Yin Date: Wed, 8 Jan 2025 15:17:54 -0800 Subject: [PATCH 11/13] log deprecated opertions to scuba Reviewed By: thedavekwon Differential Revision: D67885587 fbshipit-source-id: aeb1a1d374e81dba97a3d2a3697bd2e1b02b3abc --- .../lib/cpp2/op/detail/ContainerPatch.h | 9 +++++- .../thrift/lib/cpp2/patch/detail/Scuba.cpp | 26 +++++++++++++++++ .../src/thrift/lib/cpp2/patch/detail/Scuba.h | 29 +++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 third-party/thrift/src/thrift/lib/cpp2/patch/detail/Scuba.cpp create mode 100644 third-party/thrift/src/thrift/lib/cpp2/patch/detail/Scuba.h diff --git a/third-party/thrift/src/thrift/lib/cpp2/op/detail/ContainerPatch.h b/third-party/thrift/src/thrift/lib/cpp2/op/detail/ContainerPatch.h index bed1d9e699dd5e..86fdbc0132fccb 100644 --- a/third-party/thrift/src/thrift/lib/cpp2/op/detail/ContainerPatch.h +++ b/third-party/thrift/src/thrift/lib/cpp2/op/detail/ContainerPatch.h @@ -27,6 +27,7 @@ #include #include #include +#include namespace apache::thrift::op::detail { @@ -127,7 +128,13 @@ class ListPatch : public BaseContainerPatch> { return; } - DCHECK(data_.prepend()->empty()) << "Prepend in ListPatch is disallowed."; + if (!data_.prepend()->empty()) { + auto msg = "Prepend in ListPatch is disallowed."; + LOG(DFATAL) << msg; + patch::detail::logDeprecatedOperation( + "ListPatch::Prepend", folly::pretty_name(), msg); + } + v.prepend(*data_.prepend()); v.appendMulti(*data_.append()); } diff --git a/third-party/thrift/src/thrift/lib/cpp2/patch/detail/Scuba.cpp b/third-party/thrift/src/thrift/lib/cpp2/patch/detail/Scuba.cpp new file mode 100644 index 00000000000000..9470a8a7571c1b --- /dev/null +++ b/third-party/thrift/src/thrift/lib/cpp2/patch/detail/Scuba.cpp @@ -0,0 +1,26 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +namespace apache::thrift::patch::detail { +THRIFT_PLUGGABLE_FUNC_REGISTER( + void, + logDeprecatedOperation, + std::string_view, + std::string_view, + std::string_view) {} +} // namespace apache::thrift::patch::detail diff --git a/third-party/thrift/src/thrift/lib/cpp2/patch/detail/Scuba.h b/third-party/thrift/src/thrift/lib/cpp2/patch/detail/Scuba.h new file mode 100644 index 00000000000000..8fa62c72bc3c4b --- /dev/null +++ b/third-party/thrift/src/thrift/lib/cpp2/patch/detail/Scuba.h @@ -0,0 +1,29 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include +#include + +namespace apache::thrift::patch::detail { +THRIFT_PLUGGABLE_FUNC_DECLARE( + void, + logDeprecatedOperation, + std::string_view operation, + std::string_view type, + std::string_view message); +} From dd65d8f4b42c35f36c56c2be8acc6a566b8f8587 Mon Sep 17 00:00:00 2001 From: Satish Kumar Date: Wed, 8 Jan 2025 16:02:30 -0800 Subject: [PATCH 12/13] Add the hack_collections compiler option. Summary: # What? Add the `hack_collections` compiler option. # Why? `hack_collections`, which was the implicit default in the absence of `arrays` and `no_use_hack_collections`, is now explicit. # Fixtures - Add `hack_collections` to `cmd` files. - Generated fixtures must not change. # Context `arraysets`, `no_use_hack_collections`, `stricttypes`, `array_migration`, `shape_arraykeys`, `const_collections` are all compiler options that control the generation of container fields. To make code generator simpler and easier to reason about, identify which of these can be removed/merged. The new options based on the ones that are currently in use: `legacy_arrays` replaces `no_use_hack_collections`. `hack_collections`, which was the implicit default in the absence of `arrays` and `no_use_hack_collections`, is now explicit. `arrays` will eventually become the default and cease to exist as an explicit option. # The steps The item in bold corresponds to the current diff. 1. Use new compiler options based on the ones that already exist. 1. Make arrays the default option. 1. Use the legacy arrays + hack collections logical equivalent of arrays. 1. Introduce hack collections wherever necessary. 1. Replace no use hack collections with legacy arrays. 1. Remove arraysets if arrays present. 1. Rename `no_use_hack_collections` compiler option to `legacy_arrays`. 1. **Add `hack_collections` compiler option.** 1. Remove references to the `arrays` compiler option. 1. Delete the `arrays` compiler option. Reviewed By: rmakheja Differential Revision: D67617729 fbshipit-source-id: 5101fc8c1ad54cf168ab70e5e5589922dc71c74c --- .../src/thrift/compiler/generate/t_hack_generator.cc | 6 +++--- .../src/thrift/compiler/test/fixtures/adapter/cmd | 2 +- .../compiler/test/fixtures/basic-annotations/cmd | 2 +- .../test/fixtures/basic-structured-annotations/cmd | 2 +- .../src/thrift/compiler/test/fixtures/basic/cmd | 2 +- .../thrift/compiler/test/fixtures/complex-union/cmd | 2 +- .../src/thrift/compiler/test/fixtures/constants/cmd | 2 +- .../thrift/compiler/test/fixtures/default_values/cmd | 2 +- .../src/thrift/compiler/test/fixtures/doctext/cmd | 2 +- .../src/thrift/compiler/test/fixtures/enums/cmd | 2 +- .../src/thrift/compiler/test/fixtures/exceptions/cmd | 2 +- .../compiler/test/fixtures/from_map_construct/cmd | 2 +- .../compiler/test/fixtures/hack-attributes/cmd | 2 +- .../test/fixtures/hack-const-collections/cmd | 2 +- .../compiler/test/fixtures/hack-enum-typing/cmd | 2 +- .../fixtures/hack-exceptions-transparent-enum/cmd | 2 +- .../compiler/test/fixtures/hack-exceptions/cmd | 2 +- .../compiler/test/fixtures/hack-mangledsvcs/cmd | 2 +- .../test/fixtures/hack-map-with-enum-key/cmd | 2 +- .../thrift/compiler/test/fixtures/hack-structs/cmd | 2 +- .../fixtures/hack_field_wrapper_with_collections/cmd | 2 +- .../compiler/test/fixtures/hack_module_internal/cmd | 2 +- .../thrift/compiler/test/fixtures/hack_service/cmd | 12 ++++++------ .../thrift/compiler/test/fixtures/hack_typedef/cmd | 6 +++--- .../test/fixtures/inject_metadata_fields/cmd | 2 +- .../src/thrift/compiler/test/fixtures/int_limits/cmd | 2 +- .../thrift/compiler/test/fixtures/interactions/cmd | 2 +- .../test/fixtures/namespace_from_package/cmd | 4 ++-- .../namespace_from_package_without_module_name/cmd | 2 +- .../src/thrift/compiler/test/fixtures/optionals/cmd | 2 +- .../src/thrift/compiler/test/fixtures/params/cmd | 2 +- .../thrift/compiler/test/fixtures/php_hack_ns/cmd | 4 ++-- .../test/fixtures/serialization_field_order/cmd | 2 +- .../compiler/test/fixtures/shape_arraykeys/cmd | 2 +- .../compiler/test/fixtures/shape_construct/cmd | 2 +- .../test/fixtures/shape_nullable_everything/cmd | 2 +- .../src/thrift/compiler/test/fixtures/shapes/cmd | 2 +- .../thrift/compiler/test/fixtures/shapes_final/cmd | 2 +- .../compiler/test/fixtures/shapes_php_arrays/cmd | 2 +- .../src/thrift/compiler/test/fixtures/sink/cmd | 2 +- .../thrift/compiler/test/fixtures/soft-attribute/cmd | 2 +- .../src/thrift/compiler/test/fixtures/stream/cmd | 4 ++-- .../thrift/compiler/test/fixtures/terse_write/cmd | 2 +- .../src/thrift/compiler/test/fixtures/types/cmd | 2 +- 44 files changed, 56 insertions(+), 56 deletions(-) diff --git a/third-party/thrift/src/thrift/compiler/generate/t_hack_generator.cc b/third-party/thrift/src/thrift/compiler/generate/t_hack_generator.cc index b6a834ff45afd8..bcfe6e67bcb178 100644 --- a/third-party/thrift/src/thrift/compiler/generate/t_hack_generator.cc +++ b/third-party/thrift/src/thrift/compiler/generate/t_hack_generator.cc @@ -126,9 +126,7 @@ class t_hack_generator : public t_concat_generator { array_migration_ = option_is_specified(options, "array_migration"); arrays_ = option_is_specified(options, "arrays"); legacy_arrays_ = option_is_specified(options, "legacy_arrays"); - // Set the future state of compiler options based on the current state. - // A subsequent change will remove the current compiler options. - hack_collections_ = !arrays_ && !legacy_arrays_; + hack_collections_ = option_is_specified(options, "hack_collections"); nullable_everything_ = option_is_specified(options, "nullable_everything"); const_collections_ = option_is_specified(options, "const_collections"); @@ -7622,6 +7620,7 @@ THRIFT_REGISTER_GENERATOR( " stricttypes Use Collection classes everywhere rather than " "KeyedContainer.\n" " arraysets Use legacy arrays for sets rather than objects.\n" + " Either legacy_arrays or hack_collections must be present.\n" " nonullables Instantiate struct fields within structs, rather " "than nullable\n" " structtrait Add 'use [StructName]Trait;' to generated classes\n" @@ -7635,6 +7634,7 @@ THRIFT_REGISTER_GENERATOR( " frommap_construct Generate fromMap_DEPRECATED method.\n" " arrays Use Hack arrays for maps/lists/sets instead of " "objects.\n" + " hack_collections Generate hack collections instead of hack arrays.\n" " const_collections Use ConstCollection objects rather than their " "mutable counterparts.\n" " typedef Generate type aliases for all the types defined\n" diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/adapter/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/adapter/cmd index cf636c7a5f9f03..5253ac15e15c25 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/adapter/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/adapter/cmd @@ -1,5 +1,5 @@ android: android src/module.thrift -hack: hack:json,typedef,shapes=1,shapes_use_pipe_structure=1 src/module.thrift +hack: hack:json,typedef,shapes=1,shapes_use_pipe_structure=1,hack_collections=1 src/module.thrift java_deprecated: java_deprecated src/module.thrift json: json src/module.thrift cpp2: mstch_cpp2:includes=\"adapter_dependency.h\" src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/basic-annotations/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/basic-annotations/cmd index d40ae5b0e8a0cf..31fc9d72e9b3a6 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/basic-annotations/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/basic-annotations/cmd @@ -1,6 +1,6 @@ android: android src/module.thrift java_deprecated: java_deprecated src/module.thrift -hack: hack:json,server=1,shapes=1,shapes_allow_unknown_fields=1,shapes_use_pipe_structure=1 src/module.thrift +hack: hack:json,server=1,shapes=1,shapes_allow_unknown_fields=1,shapes_use_pipe_structure=1,hack_collections=1 src/module.thrift cpp2: mstch_cpp2 src/module.thrift go: mstch_go src/module.thrift rust: mstch_rust src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/basic-structured-annotations/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/basic-structured-annotations/cmd index 6354f05c448afd..7d296d03236cbf 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/basic-structured-annotations/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/basic-structured-annotations/cmd @@ -1,3 +1,3 @@ -hack: hack src/module.thrift +hack: hack:hack_collections=1 src/module.thrift json: json:annotate src/module.thrift cpp2: mstch_cpp2 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/basic/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/basic/cmd index cb84b16adf2d0b..32c24b569b1980 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/basic/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/basic/cmd @@ -1,5 +1,5 @@ android: android src/module.thrift -hack: hack:json,server=1,shapes=1,shapes_allow_unknown_fields=1,shapes_use_pipe_structure=1 src/module.thrift +hack: hack:json,server=1,shapes=1,shapes_allow_unknown_fields=1,shapes_use_pipe_structure=1,hack_collections=1 src/module.thrift java_deprecated: java_deprecated src/module.thrift json: json src/module.thrift json_experimental: json_experimental src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/complex-union/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/complex-union/cmd index 3d632462cacd0b..42714029b728f3 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/complex-union/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/complex-union/cmd @@ -1,6 +1,6 @@ android: android src/module.thrift java_deprecated: java_deprecated src/module.thrift -hack: hack:json=1,protected_unions=1 src/module.thrift +hack: hack:json=1,protected_unions=1,hack_collections=1 src/module.thrift cpp2: mstch_cpp2 src/module.thrift go: mstch_go src/module.thrift rust: mstch_rust src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/constants/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/constants/cmd index 48032a21793a97..3c32a379f7ea4b 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/constants/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/constants/cmd @@ -1,6 +1,6 @@ android: android src/module.thrift py: py src/module.thrift -hack: hack:typedef,lazy_constants=1 src/module.thrift +hack: hack:typedef,lazy_constants=1,hack_collections=1 src/module.thrift cpp2: mstch_cpp2 src/module.thrift go: mstch_go src/module.thrift rust: mstch_rust src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/default_values/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/default_values/cmd index 7f18ba7dbefd16..6583d7dd03eef2 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/default_values/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/default_values/cmd @@ -1,5 +1,5 @@ cpp2: mstch_cpp2 src/module.thrift go: mstch_go src/module.thrift -hack: hack src/module.thrift +hack: hack:hack_collections=1 src/module.thrift py3: mstch_py3 src/module.thrift python: mstch_python src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/doctext/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/doctext/cmd index b39f3e81d83034..20acfbcfe1d673 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/doctext/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/doctext/cmd @@ -1,4 +1,4 @@ cpp2: mstch_cpp2 src/module.thrift go: mstch_go src/module.thrift rust: mstch_rust src/module.thrift -hack: hack src/module.thrift +hack: hack:hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/enums/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/enums/cmd index a3c52b1548b07a..d5dc4f532238d5 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/enums/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/enums/cmd @@ -1,5 +1,5 @@ android: android src/module.thrift -hack: hack:json,server=1,shapes=1,shapes_allow_unknown_fields=1 src/module.thrift +hack: hack:json,server=1,shapes=1,shapes_allow_unknown_fields=1,hack_collections=1 src/module.thrift json: json src/module.thrift java_deprecated: java_deprecated src/module.thrift json_experimental: json_experimental src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/exceptions/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/exceptions/cmd index edd490109a4d8a..adec2e13a8df9e 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/exceptions/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/exceptions/cmd @@ -1,5 +1,5 @@ java_deprecated: java_deprecated src/module.thrift -hack: hack src/module.thrift +hack: hack:hack_collections=1 src/module.thrift cpp2: mstch_cpp2 src/module.thrift go: mstch_go src/module.thrift rust: mstch_rust src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/from_map_construct/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/from_map_construct/cmd index 89883293eac7e5..a3afb01330c89f 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/from_map_construct/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/from_map_construct/cmd @@ -1 +1 @@ -hack: hack:frommap_construct=1,server=1 src/module.thrift +hack: hack:frommap_construct=1,server=1,hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-attributes/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-attributes/cmd index bd72ed4c37ca67..cffd6eb61b0dd8 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-attributes/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-attributes/cmd @@ -1 +1 @@ -hack: hack src/module1.thrift +hack: hack:hack_collections=1 src/module1.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-const-collections/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-const-collections/cmd index dbf9148e664c0b..6a20cbd602ee06 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-const-collections/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-const-collections/cmd @@ -1 +1 @@ -hack: hack:const_collections=1,server=1 src/module.thrift +hack: hack:const_collections=1,server=1,hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-enum-typing/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-enum-typing/cmd index a91a0321124298..b21cf2c0b90e15 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-enum-typing/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-enum-typing/cmd @@ -1 +1 @@ -hack: hack:server=1,enum_extratype=1,enum_transparenttype=1 src/module.thrift +hack: hack:server=1,enum_extratype=1,enum_transparenttype=1,hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-exceptions-transparent-enum/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-exceptions-transparent-enum/cmd index 82aa53f59947e3..d64783e4334960 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-exceptions-transparent-enum/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-exceptions-transparent-enum/cmd @@ -1 +1 @@ -hack: hack:enum_transparenttype=1 src/module.thrift +hack: hack:enum_transparenttype=1,hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-exceptions/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-exceptions/cmd index 90aeeecbb9728e..60dc847d1814f4 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-exceptions/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-exceptions/cmd @@ -1 +1 @@ -hack: hack src/module.thrift +hack: hack:hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-mangledsvcs/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-mangledsvcs/cmd index ae3176ff62f8bf..09a12b5ae640c4 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-mangledsvcs/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-mangledsvcs/cmd @@ -1 +1 @@ -hack: hack:mangledsvcs=1 src/module.thrift +hack: hack:mangledsvcs=1,hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-map-with-enum-key/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-map-with-enum-key/cmd index 8e123b0629469e..168c52566e500f 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-map-with-enum-key/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-map-with-enum-key/cmd @@ -1 +1 @@ -hack: hack:shapes=3,shapes_allow_unknown_fields=1,nonullables=2,stricttypes=2,array_migration=2,strict=2 src/module.thrift +hack: hack:shapes=3,shapes_allow_unknown_fields=1,nonullables=2,stricttypes=2,array_migration=2,strict=2,hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-structs/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-structs/cmd index 90aeeecbb9728e..60dc847d1814f4 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/hack-structs/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/hack-structs/cmd @@ -1 +1 @@ -hack: hack src/module.thrift +hack: hack:hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/hack_field_wrapper_with_collections/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/hack_field_wrapper_with_collections/cmd index 77cc3c88c8aa4d..b540406b988af3 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/hack_field_wrapper_with_collections/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/hack_field_wrapper_with_collections/cmd @@ -1 +1 @@ -hack: hack:json,shapes,shape_arraykeys src/module.thrift +hack: hack:json,shapes,shape_arraykeys,hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/hack_module_internal/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/hack_module_internal/cmd index 90aeeecbb9728e..60dc847d1814f4 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/hack_module_internal/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/hack_module_internal/cmd @@ -1 +1 @@ -hack: hack src/module.thrift +hack: hack:hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/hack_service/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/hack_service/cmd index 77fcea16e82575..fa517844cca304 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/hack_service/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/hack_service/cmd @@ -1,6 +1,6 @@ -hack: hack src/module.thrift -hack_module2: hack:server src/module2.thrift -hack_typedef: hack:typedef src/module.thrift -hack_module2_typedef: hack:server,typedef src/module2.thrift -hack_with_patch: hack src/module.thrift -hack_module2_with_patch: hack:server src/module2_with_patch.thrift +hack: hack:hack_collections=1 src/module.thrift +hack_module2: hack:server,hack_collections=1 src/module2.thrift +hack_typedef: hack:typedef,hack_collections=1 src/module.thrift +hack_module2_typedef: hack:server,typedef,hack_collections=1 src/module2.thrift +hack_with_patch: hack:hack_collections=1 src/module.thrift +hack_module2_with_patch: hack:server,hack_collections=1 src/module2_with_patch.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/hack_typedef/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/hack_typedef/cmd index 12de7c194c6e6f..04b574e5b35f79 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/hack_typedef/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/hack_typedef/cmd @@ -1,3 +1,3 @@ -hack: hack:typedef src/module.thrift -hack_include: hack:typedef src/include.thrift -hack_php_module: hack:typedef src/php_module.thrift +hack: hack:typedef,hack_collections=1 src/module.thrift +hack_include: hack:typedef,hack_collections=1 src/include.thrift +hack_php_module: hack:typedef,hack_collections=1 src/php_module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/inject_metadata_fields/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/inject_metadata_fields/cmd index 238094996e26d7..0db9d9fed4bf29 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/inject_metadata_fields/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/inject_metadata_fields/cmd @@ -1,5 +1,5 @@ java_deprecated: java_deprecated src/module.thrift -hack: hack src/module.thrift +hack: hack:hack_collections=1 src/module.thrift cpp2: mstch_cpp2 src/module.thrift go: mstch_go src/module.thrift rust: mstch_rust src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/int_limits/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/int_limits/cmd index c7a442f4d63b11..f30a9074c87e1d 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/int_limits/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/int_limits/cmd @@ -1,6 +1,6 @@ android: android src/module.thrift py: py src/module.thrift -hack: hack:typedef,lazy_constants=1 src/module.thrift +hack: hack:typedef,lazy_constants=1,hack_collections=1 src/module.thrift cpp2: mstch_cpp2 src/module.thrift rust: mstch_rust src/module.thrift java: mstch_java src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/interactions/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/interactions/cmd index 82041768adcbf0..7ecd2457d66409 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/interactions/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/interactions/cmd @@ -3,7 +3,7 @@ cpp2_shared: mstch_cpp2 src/shared.thrift py3: mstch_py3 src/module.thrift python: mstch_python src/module.thrift python_capi: mstch_python_capi src/module.thrift -hack: hack src/module.thrift +hack: hack:hack_collections=1 src/module.thrift java: mstch_java src/module.thrift pyi: mstch_pyi src/module.thrift py: py:json src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/namespace_from_package/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/namespace_from_package/cmd index 39c4074fd0deeb..e845925d12417e 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/namespace_from_package/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/namespace_from_package/cmd @@ -1,6 +1,6 @@ android: android src/module.thrift -hack: hack:json,server=1,shapes=1 src/module.thrift -hack_override: hack:json,server=1,shapes=1 src/override.thrift +hack: hack:json,server=1,shapes=1,hack_collections=1 src/module.thrift +hack_override: hack:json,server=1,shapes=1,hack_collections=1 src/override.thrift java_deprecated: java_deprecated src/module.thrift json_experimental: json_experimental src/module.thrift json: json src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/namespace_from_package_without_module_name/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/namespace_from_package_without_module_name/cmd index a2d34856605281..a92625d205181c 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/namespace_from_package_without_module_name/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/namespace_from_package_without_module_name/cmd @@ -1,5 +1,5 @@ android: android src/module.thrift -hack: hack:json,server=1,shapes=1 src/module.thrift +hack: hack:json,server=1,shapes=1,hack_collections=1 src/module.thrift java_deprecated: java_deprecated src/module.thrift json_experimental: json_experimental src/module.thrift json: json src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/optionals/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/optionals/cmd index 27c32a72fa67d6..80853ffe2dc80b 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/optionals/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/optionals/cmd @@ -1,6 +1,6 @@ android: android:annotate src/module.thrift java_deprecated: java_deprecated src/module.thrift -hack: hack src/module.thrift +hack: hack:hack_collections=1 src/module.thrift cpp2: mstch_cpp2 src/module.thrift go: mstch_go src/module.thrift rust: mstch_rust src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/params/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/params/cmd index 8e67910e392abb..8d3c8eb84d12a2 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/params/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/params/cmd @@ -1,5 +1,5 @@ java_deprecated: java_deprecated src/module.thrift -hack: hack:server=1,shapes=1,shapes_allow_unknown_fields=1 src/module.thrift +hack: hack:server=1,shapes=1,shapes_allow_unknown_fields=1,hack_collections=1 src/module.thrift cpp2: mstch_cpp2 src/module.thrift go: mstch_go src/module.thrift rust: mstch_rust src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/php_hack_ns/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/php_hack_ns/cmd index 0ac9cad60bbc79..2948acbd4131c3 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/php_hack_ns/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/php_hack_ns/cmd @@ -1,2 +1,2 @@ -hack: hack src/module.thrift -hack_module2: hack src/module2.thrift +hack: hack:hack_collections=1 src/module.thrift +hack_module2: hack:hack_collections=1 src/module2.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/serialization_field_order/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/serialization_field_order/cmd index 3da54a7056408e..69c56db8d338f1 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/serialization_field_order/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/serialization_field_order/cmd @@ -1,5 +1,5 @@ android: android src/module.thrift -hack: hack:json,shapes=1 src/module.thrift +hack: hack:json,shapes=1,hack_collections=1 src/module.thrift json: json src/module.thrift cpp2: mstch_cpp2 src/module.thrift go: mstch_go src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/shape_arraykeys/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/shape_arraykeys/cmd index ffda3a4799300b..10602619203221 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/shape_arraykeys/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/shape_arraykeys/cmd @@ -1 +1 @@ -hack: hack:shapes=1,shapes_allow_unknown_fields=1,shape_arraykeys=1,shapes_use_pipe_structure=1 src/module.thrift +hack: hack:shapes=1,shapes_allow_unknown_fields=1,shape_arraykeys=1,shapes_use_pipe_structure=1,hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/shape_construct/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/shape_construct/cmd index 9e59ddbe6abfc6..6012d41cedd1c8 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/shape_construct/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/shape_construct/cmd @@ -1 +1 @@ -hack: hack:shape_construct=1,shapes_use_pipe_structure=1 src/module.thrift +hack: hack:shape_construct=1,shapes_use_pipe_structure=1,hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/shape_nullable_everything/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/shape_nullable_everything/cmd index dd9aaa8d164008..b4fa4adb4e4e71 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/shape_nullable_everything/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/shape_nullable_everything/cmd @@ -1 +1 @@ -hack: hack:shapes=1,shapes_allow_unknown_fields=1,nullable_everything=1,shapes_use_pipe_structure=1 src/module.thrift +hack: hack:shapes=1,shapes_allow_unknown_fields=1,nullable_everything=1,shapes_use_pipe_structure=1,hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/shapes/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/shapes/cmd index 67bd56e482280a..d06ebe4689e89b 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/shapes/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/shapes/cmd @@ -1,2 +1,2 @@ -hack: hack:shapes=1,shapes_allow_unknown_fields=1,shapes_use_pipe_structure=1 src/module.thrift +hack: hack:shapes=1,shapes_allow_unknown_fields=1,shapes_use_pipe_structure=1,hack_collections=1 src/module.thrift java: mstch_java src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/shapes_final/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/shapes_final/cmd index a392aaea310471..2bad2e9092cc6c 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/shapes_final/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/shapes_final/cmd @@ -1 +1 @@ -hack: hack:shapes=1,shapes_use_pipe_structure=1 src/module.thrift +hack: hack:shapes=1,shapes_use_pipe_structure=1,hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/shapes_php_arrays/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/shapes_php_arrays/cmd index e72f6c4389c8d9..37c1a6e62cab2c 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/shapes_php_arrays/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/shapes_php_arrays/cmd @@ -1 +1 @@ -hack: hack:arraysets=1,array_migration=1,shapes=1,shapes_allow_unknown_fields=1,enum_extratype=1,shapes_use_pipe_structure=1 src/module.thrift +hack: hack:arraysets=1,array_migration=1,shapes=1,shapes_allow_unknown_fields=1,enum_extratype=1,shapes_use_pipe_structure=1,hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/sink/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/sink/cmd index 930ee73b811c4c..4009c95cfd4e4b 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/sink/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/sink/cmd @@ -1,6 +1,6 @@ cpp2: mstch_cpp2 src/module.thrift py3: mstch_py3 src/module.thrift -hack: hack src/module.thrift +hack: hack:hack_collections=1 src/module.thrift java: mstch_java src/module.thrift pyi: mstch_pyi src/module.thrift py: py:json src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/soft-attribute/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/soft-attribute/cmd index fe13eacceb355d..67827dcc4d44b1 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/soft-attribute/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/soft-attribute/cmd @@ -1 +1 @@ -hack: hack:frommap_construct=1,soft_attribute=1 src/module.thrift +hack: hack:frommap_construct=1,soft_attribute=1,hack_collections=1 src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/stream/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/stream/cmd index e8774f538d060d..6819fd852cb3b9 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/stream/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/stream/cmd @@ -2,8 +2,8 @@ cpp2: mstch_cpp2 src/module.thrift py3: mstch_py3 src/module.thrift python: mstch_python src/module.thrift python_capi: mstch_python_capi src/module.thrift -hack: hack:server src/module.thrift -hack_server_stream: hack:server,server_stream src/module.thrift +hack: hack:server,hack_collections=1 src/module.thrift +hack_server_stream: hack:server,server_stream,hack_collections=1 src/module.thrift java: mstch_java src/module.thrift pyi: mstch_pyi src/module.thrift rust: mstch_rust src/module.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/terse_write/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/terse_write/cmd index 19f163052f38ad..d570bc82f302e2 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/terse_write/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/terse_write/cmd @@ -1,5 +1,5 @@ android: android src/terse_write.thrift -hack: hack:json,server=1,shapes=1,shapes_allow_unknown_fields=1,shapes_use_pipe_structure=1 src/terse_write.thrift +hack: hack:json,server=1,shapes=1,shapes_allow_unknown_fields=1,shapes_use_pipe_structure=1,hack_collections=1 src/terse_write.thrift java_deprecated: java_deprecated src/terse_write.thrift json: json src/terse_write.thrift json_experimental: json_experimental src/terse_write.thrift diff --git a/third-party/thrift/src/thrift/compiler/test/fixtures/types/cmd b/third-party/thrift/src/thrift/compiler/test/fixtures/types/cmd index 088d114090a671..01400266e5bb25 100644 --- a/third-party/thrift/src/thrift/compiler/test/fixtures/types/cmd +++ b/third-party/thrift/src/thrift/compiler/test/fixtures/types/cmd @@ -1,4 +1,4 @@ -hack: hack:json src/module.thrift +hack: hack:json,hack_collections=1 src/module.thrift cpp2: mstch_cpp2:reflection src/module.thrift go: mstch_go src/module.thrift py3: mstch_py3 src/module.thrift From c434ae2530584f5189ba343fb9f84a6deddab46a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Szab=C3=B3?= Date: Sat, 28 Dec 2024 14:53:16 +0100 Subject: [PATCH 13/13] Update bundled Rust to 1.83.0 The bundled Rust version is too old for several library dependencies. Update to the nightly build from October 13th, 2024, which corresponds to the 1.83.0 release. Split from #9564. --- third-party/rustc/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/third-party/rustc/CMakeLists.txt b/third-party/rustc/CMakeLists.txt index 872d2c1a67958c..2a791c9a3b68c9 100644 --- a/third-party/rustc/CMakeLists.txt +++ b/third-party/rustc/CMakeLists.txt @@ -28,7 +28,7 @@ if(RUSTC_EXECUTABLE) else() message(STATUS "Using bundled Rust") - set(RUST_NIGHTLY_VERSION "2022-08-11") + set(RUST_NIGHTLY_VERSION "2024-10-13") SET_HHVM_THIRD_PARTY_SOURCE_ARGS( RUST_DOWNLOAD_ARGS @@ -37,9 +37,9 @@ else() Darwin_URL "https://static.rust-lang.org/dist/${RUST_NIGHTLY_VERSION}/rust-nightly-x86_64-apple-darwin.tar.gz" Linux_HASH - "SHA512=de136959121b4117ab31a9ae4c4b3c593d4fcdf9724bd0f62e8a4ab41becccfa4b8e92ebe1460d9be508986888b95b38620bb68b58496db89706760074b9585d" + "SHA512=120f7eb6b55951785b22b6ec6dd4456873f4fd1a78387e61a56784d5130be82fe97d4e644459c92f8c79766e083dff6eb8365562bf7202c7aa891977d94ef127" Darwin_HASH - "SHA512=77beb1d67233d3954c2709a47c2513762e91e506041bb5ad8d0aad90124cb5a229dfc87e1fb767826f27a31b52520f148c52c2f3a595dac6e09a676c6e660462" + "SHA512=7f58dc3ccc399c9fe969ba586e7cad907842d3b66e80dad62a733ce6dbb3daf922f7371a3042e4d521ea9521e7e8153c5aa32ddd1d5a84bef84ccc008fea028a" # The original filename doesn't contain any version information, so add the version information as a prefix to avoid cache collisions when updating later FILENAME_PREFIX "rustc-${RUST_NIGHTLY_VERSION}-" )