You need to run it on your own machine with the -race flag, e.g.:
go run -race file.go

More info on the race detector:
https://golang.org/doc/articles/race_detector.html


On Sunday, April 2, 2017 at 2:57:59 PM UTC-7, st ov wrote:
>
> Could you explain how this is a race condition?
> Running it in the playground appears to succeed, 
> https://play.golang.org/p/zs6T361fc6
>
>
>
>
> On Saturday, March 25, 2017 at 7:51:52 PM UTC-7, Dragos Harabor wrote:
>>
>> You may also run into subtle races when you mix pointer and value 
>> receivers, as seen here:
>> https://dave.cheney.net/2015/11/18/wednesday-pop-quiz-spot-the-race
>>
>>
>> On Friday, March 24, 2017 at 6:20:06 PM UTC-7, st ov wrote:
>>>
>>> Is it idiomatic to mix-&-match pointer and value method receivers for a 
>>> given type? 
>>> or in *general*, if a single method requires a pointer receiver than *all 
>>> methods* should take a pointer, regardless if a value receiver is 
>>> appropriate?
>>>
>>> For example, should Foo.SetVal also be a pointer receiver even though a 
>>> value receiver would be acceptable?
>>> https://play.golang.org/p/rd_6BLol8O
>>>
>>> type Foo struct{
>>>     ref []int
>>>     val int
>>> }
>>>
>>> // would not set if method receiver is value receiver (foo Foo)
>>> func (foo *Foo) SetRef(ref []int) {
>>>     foo.ref = ref
>>> }
>>> func (foo Foo) SetVal(val int) {
>>>     foo.val = val
>>> }
>>>
>>> func main() {
>>>     foo := Foo{}
>>>     foo.SetRef([]int{1,2,3})
>>>     foo.SetVal(1)
>>>     
>>>     fmt.Printf("%v",foo) // {[1 2 3] 0}
>>> }
>>>
>>>
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to