Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.9.2
-
None
Description
Test.Thrift
namespace * Thrift.Test struct Foo { 1: Bar bar } struct Bar { 1: Foo foo } service ThriftTest { i32 testRecursive(1: Foo foo); }
TestClient.cs
var first = new Foo() { Bar = new Bar() { Foo = new Foo() { Bar = new Bar() { Foo = null } } } }; Console.Write("testRecursive(tree)"); Console.WriteLine(" = {0}", client.testRecursive(first)); Console.Write("testRecursive(ring)"); first.Bar.Foo.Bar.Foo = first; // now let the innermost leaf backpoint to the root node Console.WriteLine(" = {0}", client.testRecursive(first));
output
testRecursive(tree) = 4
testRecursive(ring)
Process is terminated due to StackOverflowException.
Attachments
Issue Links
- depends upon
-
THRIFT-2421 Tree/Recursive struct support in thrift
- Closed