[ 
https://issues.apache.org/jira/browse/THRIFT-3467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15227262#comment-15227262
 ] 

ASF GitHub Bot commented on THRIFT-3467:
----------------------------------------

Github user Jens-G commented on a diff in the pull request:

    https://github.com/apache/thrift/pull/976#discussion_r58624160
  
    --- Diff: test/go/src/bin/stress/main.go ---
    @@ -201,7 +201,27 @@ func client(protocolFactory thrift.TProtocolFactory) {
                        atomic.AddInt64(&clicounter, 1)
                }
        case echoSet:
    -           s := map[int8]bool{-10: true, -9: true, -8: true, -7: true, -6: 
true, -5: true, -4: true, -3: true, -2: true, -1: true, 0: true, 1: true, 2: 
true, 3: true, 4: true, 5: true, 6: true, 7: true, 8: true}
    +           s := map[int8]struct{}{
    +                   -10: struct{}{},
    +                   -9: struct{}{},
    +                   -8: struct{}{},
    +                   -7: struct{}{},
    +                   -6: struct{}{},
    +                   -5: struct{}{},
    +                   -4: struct{}{},
    +                   -3: struct{}{},
    +                   -2: struct{}{},
    +                   -1: struct{}{},
    +                   0: struct{}{},
    +                   1: struct{}{},
    +                   2: struct{}{},
    +                   3: struct{}{},
    +                   4: struct{}{},
    +                   5: struct{}{},
    +                   6: struct{}{},
    +                   7: struct{}{},
    +                   8: struct{}{},
    +           }
    --- End diff --
    
    That's my favourite part of this change.


> 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: Improvement
>          Components: Go - Compiler
>    Affects Versions: 0.9.3
>            Reporter: Tom Deering
>              Labels: golang
>
> 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