THRIFT-2627:erlang backend doesn't support corecursive structs client: erlang patch: anthony molinari
add additional type specifications to generated erlang files to support
corecursive structs
diff --git a/compiler/cpp/src/generate/t_erl_generator.cc b/compiler/cpp/src/generate/t_erl_generator.cc
index ae1a122..67242ea 100644
--- a/compiler/cpp/src/generate/t_erl_generator.cc
+++ b/compiler/cpp/src/generate/t_erl_generator.cc
@@ -508,7 +508,7 @@
} else if (type->is_enum()) {
return "integer()";
} else if (type->is_struct() || type->is_xception()) {
- return "#" + uncapitalize(type->get_name()) + "{}";
+ return uncapitalize(type->get_name()) + "()";
} else if (type->is_map()) {
return "dict()";
} else if (type->is_set()) {
@@ -577,7 +577,10 @@
}
buf << "}).";
- out << buf.str() << endl << endl;
+ out << buf.str() << endl;
+ out <<
+ "-type "+type_name (tstruct) << "() :: #" + type_name (tstruct) + "{}."
+ << endl << endl;
}
/**