[ 
https://issues.apache.org/jira/browse/THRIFT-3466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tom Deering updated THRIFT-3466:
--------------------------------
    Description: 
When Thrift 0.9.3 generates Go code for a service with a parameter that is of 
type set<typedeffed thing>, the generated Go code parameter is of type 
map[untypedeffed thing]bool. For example:

Thrift
{code}
namespace go bug
typedef string Foo
service FooService{
        void bar (1:set<Foo> foos)
}
{code}
{code}
namespace go bug
typedef string Foo
service FooService{
        void bar (1:set<Foo> foos)
}
Go
{code}
func (p *FooServiceClient) Bar(foos map[string]bool) (err error) 
{code}

The key type of the Go map should be Foo, not string.

  was:
When Thrift 0.9.3 generates Go code for a service with a parameter that is of 
type set<typedeffed thing>, the generated Go code parameter is of type 
map[untypedeffed thing]bool. For example:

Thrift
{code}
namespace go bug
typedef string Foo
service FooService{
        void bar (1:set<Foo> foos)
}
{code}
{code}
namespace go bug
typedef string Foo
service FooService{
        void bar (1:set<Foo> foos)
}
Go
{code}
func (p *FooServiceClient) Bar(foos map[string]bool) (err error) {
{code}

The key type of the Go map should be Foo, not string.


> Typedefs Not Used To Generate Set Parameters
> --------------------------------------------
>
>                 Key: THRIFT-3466
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3466
>             Project: Thrift
>          Issue Type: Bug
>          Components: Go - Library
>    Affects Versions: 0.9.3
>         Environment: Go 1.4.2
> Thrift 0.9.3
> Ubuntu Linux 14.04
> amd64
>            Reporter: Tom Deering
>              Labels: golang, thrift
>
> When Thrift 0.9.3 generates Go code for a service with a parameter that is of 
> type set<typedeffed thing>, the generated Go code parameter is of type 
> map[untypedeffed thing]bool. For example:
> Thrift
> {code}
> namespace go bug
> typedef string Foo
> service FooService{
>       void bar (1:set<Foo> foos)
> }
> {code}
> {code}
> namespace go bug
> typedef string Foo
> service FooService{
>       void bar (1:set<Foo> foos)
> }
> Go
> {code}
> func (p *FooServiceClient) Bar(foos map[string]bool) (err error) 
> {code}
> The key type of the Go map should be Foo, not string.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to