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

Tom Deering updated THRIFT-3467:
--------------------------------
    Description: 
Sets in Thrift are currently turned into maps with boolean values in Go. 
Example:

Thrift
{code}
namespace go bug
service FooService{
        void bar (1:set<string> foos)
}
{code}

Go
{code}
func (p *FooServiceClient) Bar(foos map[string]bool) (err error) 
{code}

Boolean map values waste memory. Map values should be of the zero-byte struct{} 
type.

  was:
Sets in Thrift are currently turned into maps with boolean keys in Go. Example:

Thrift
{code}
namespace go bug
service FooService{
        void bar (1:set<string> foos)
}
{code}

Go
{code}
func (p *FooServiceClient) Bar(foos map[string]bool) (err error) 
{code}

Boolean map values waste memory. Map values should be of the zero-byte struct{} 
type.


> Go Maps for Thrift Sets Should Have Values of Type struct{} 
> ------------------------------------------------------------
>
>                 Key: THRIFT-3467
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3467
>             Project: Thrift
>          Issue Type: Bug
>          Components: Go - Compiler
>    Affects Versions: 0.9.3
>            Reporter: Tom Deering
>              Labels: golang, thrift
>
> Sets in Thrift are currently turned into maps with boolean values in Go. 
> Example:
> Thrift
> {code}
> namespace go bug
> service FooService{
>       void bar (1:set<string> foos)
> }
> {code}
> Go
> {code}
> func (p *FooServiceClient) Bar(foos map[string]bool) (err error) 
> {code}
> Boolean map values waste memory. Map values should be of the zero-byte 
> struct{} type.



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

Reply via email to