package main
import "unsafe"
import "sync/atomic"
type T struct {
a *int // no ways?!
b unsafe.Pointer
}
func (t T) A() *int {
// cannot take the address of unsafe.Pointer(t.a)
//return (*int)(atomic.LoadPointer(&unsafe.Pointer(t.a)))
return t.a
// no ways to read t.a atomically if unsafe.Pointer and atomic.Value
are not considered?
}
func (t T) B() unsafe.Pointer {
return atomic.LoadPointer(&t.b)
}
func main() {
}
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.