The race detector (-race) instruments memory accesses and reports a race in the program below. Which statement about WHY it fires is correct?
func main() {
x := 0
done := make(chan struct{})
go func() {
x = 42
done <- struct{}{}
}()
_ = x // racy read
<-done
fmt.Println(x)
}