[ https://issues.apache.org/jira/browse/THRIFT-3491?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tom Deering updated THRIFT-3491: -------------------------------- Description: Thrift 0.9.3 produces invalid Go code when service definitions are written in terms of type-deffed structs. {code} namespace go bug struct Foo { 1:string s, } typedef Foo Bar service BarService { Bar getBar() } {code} Attempting to compile the Go code that Thrift outputs yields the following errors. {code} bug/barservice.go:192: cannot use retval (type Bar) as type *Bar in assignment bug/barservice.go:323: cannot use Foo literal (type *Foo) as type *Bar in assignment bug/barservice.go:324: p.Success.Read undefined (type *Bar has no field or method Read) bug/barservice.go:351: p.Success.Write undefined (type *Bar has no field or method Write) {code} Inspecting the Go code, it appears that the Go compiler is telling the truth. was: Thrift 0.9.3 produces invalid Go code when service definitions are written in terms of type-deffed structs. bug.thrift {code} namespace go bug struct Foo { 1:string s, } typedef Foo Bar service BarService { Bar getBar() } {code} Attempting to compile the Go code that Thrift outputs yields the following errors. {code} bug/barservice.go:192: cannot use retval (type Bar) as type *Bar in assignment bug/barservice.go:323: cannot use Foo literal (type *Foo) as type *Bar in assignment bug/barservice.go:324: p.Success.Read undefined (type *Bar has no field or method Read) bug/barservice.go:351: p.Success.Write undefined (type *Bar has no field or method Write) {code} Inspecting the Go code, it appears that the Go compiler is telling the truth. > Invalid Go Code From Service Signatures With Typedef'd Structs > -------------------------------------------------------------- > > Key: THRIFT-3491 > URL: https://issues.apache.org/jira/browse/THRIFT-3491 > Project: Thrift > Issue Type: Bug > Components: Go - Compiler > Affects Versions: 0.9.3 > Reporter: Tom Deering > > Thrift 0.9.3 produces invalid Go code when service definitions are written in > terms of type-deffed structs. > {code} > namespace go bug > struct Foo { > 1:string s, > } > typedef Foo Bar > service BarService { > Bar getBar() > } > {code} > Attempting to compile the Go code that Thrift outputs yields the following > errors. > {code} > bug/barservice.go:192: cannot use retval (type Bar) as type *Bar in assignment > bug/barservice.go:323: cannot use Foo literal (type *Foo) as type *Bar in > assignment > bug/barservice.go:324: p.Success.Read undefined (type *Bar has no field or > method Read) > bug/barservice.go:351: p.Success.Write undefined (type *Bar has no field or > method Write) > {code} > Inspecting the Go code, it appears that the Go compiler is telling the truth. -- This message was sent by Atlassian JIRA (v6.3.4#6332)