THRIFT-2322: wrong Go code generated for assignment of an optional set
authorJens Geyer <jensg@apache.org>
Sat, 21 Dec 2013 19:12:13 +0000 (20:12 +0100)
committerJens Geyer <jensg@apache.org>
Sat, 21 Dec 2013 19:14:43 +0000 (20:14 +0100)
Patch: Jens Geyer

compiler/cpp/src/generate/t_go_generator.cc

index 21529da..ca50d1b 100644 (file)
@@ -2606,7 +2606,7 @@ void t_go_generator::generate_deserialize_container(ofstream &out,
             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 <<