THRIFT-5002: Fix argument containers for inherited functions
Fix a bug where remote.go client fails to compile when services
extend other services and the parent service has a function that
needs a container for its arguments.
Client:go
This closes #1925.
diff --git a/lib/go/test/Makefile.am b/lib/go/test/Makefile.am
index 244ddff..2a9d3f5 100644
--- a/lib/go/test/Makefile.am
+++ b/lib/go/test/Makefile.am
@@ -93,7 +93,8 @@
ignoreinitialismstest \
unionbinarytest \
conflictnamespacetestsuperthing \
- conflict/context/conflict_service-remote
+ conflict/context/conflict_service-remote \
+ servicestest/container_test-remote
GOPATH=`pwd`/gopath $(GO) test thrift tests dontexportrwtest
clean-local:
@@ -127,5 +128,5 @@
ConflictNamespaceTestB.thrift \
ConflictNamespaceTestC.thrift \
ConflictNamespaceTestD.thrift \
- ConflictNamespaceTestSuperThing.thrift
+ ConflictNamespaceTestSuperThing.thrift \
ConflictNamespaceServiceTest.thrift
diff --git a/lib/go/test/ServicesTest.thrift b/lib/go/test/ServicesTest.thrift
index 882b03a..666197f 100644
--- a/lib/go/test/ServicesTest.thrift
+++ b/lib/go/test/ServicesTest.thrift
@@ -107,5 +107,12 @@
struct_a struct_a_func_2ex_1int_1s(1: i64 i, 2: string s) throws(1: moderate_disaster err1, 2:total_disaster err2)
struct_a struct_a_func_1struct_a(1: struct_a st)
+}
+service container_test_parent {
+ void parent_only_func(1: set<i32> s)
+}
+
+service container_test extends container_test_parent {
+ void child_only_func(1: set<i32> s)
}