THRIFT-2322: wrong Go code generated for assignment of an optional set
Patch: Jens Geyer
diff --git a/compiler/cpp/src/generate/t_go_generator.cc b/compiler/cpp/src/generate/t_go_generator.cc
index 21529da..ca50d1b 100644
--- a/compiler/cpp/src/generate/t_go_generator.cc
+++ b/compiler/cpp/src/generate/t_go_generator.cc
@@ -2606,7 +2606,7 @@
indent() << " return fmt.Errorf(\"error reading set begin: %s\")" << endl <<
indent() << "}" << endl <<
indent() << "tSet := make(map[" << type_to_go_key_type(t->get_elem_type()) << "]bool, size)" << endl <<
- indent() << prefix << eq << "tSet" << endl;
+ indent() << prefix << eq << " " << (optional_field ? "&" : "") << "tSet" << endl;
} else if (ttype->is_list()) {
out <<
indent() << "_, size, err := iprot.ReadListBegin()" << endl <<