On Monday, February 26, 2018 at 11:21:43 PM UTC-5, Ian Lance Taylor wrote:
>
> On Mon, Feb 26, 2018 at 7:20 PM,  <di...@veryhaha.com <javascript:>> 
> wrote: 
> > 
> > On Monday, February 26, 2018 at 2:24:39 PM UTC-5, Ian Lance Taylor 
> wrote: 
> >> 
> >> On Mon, Feb 26, 2018 at 9:42 AM,  <di...@veryhaha.com> wrote: 
> >> > 
> >> > On Monday, February 26, 2018 at 12:35:13 PM UTC-5, Jakob Borg wrote: 
> >> >> 
> >> >> On 26 Feb 2018, at 18:21, "di...@veryhaha.com" <di...@veryhaha.com> 
> >> >> wrote: 
> >> >> 
> >> >> On Monday, February 26, 2018 at 11:48:36 AM UTC-5, Jakob Borg wrote: 
> >> >>> 
> >> >>> On 26 Feb 2018, at 16:38, di...@veryhaha.com wrote: 
> >> >>> 
> >> >>> 
> >> >>> Will the "sync/atomic" package get broken? 
> >> >>> This atomic package imports unsafe. 
> >> >>> 
> >> >>> 
> >> >>> If changes to unsafe break sync/atomic it’s up to the Go team to 
> fix 
> >> >>> sync/atomic before releasing. Much like it’s up to other package 
> >> >>> authors to 
> >> >>> make sure their packages work when unsafe changes, if they depend 
> on 
> >> >>> package 
> >> >>> unsafe. You can depend on sync/atomic working. 
> >> >> 
> >> >> Show Quoted Content 
> >> >>> 
> >> >>> On 26 Feb 2018, at 16:38, di...@veryhaha.com wrote: 
> >> >>> 
> >> >>> 
> >> >>> Will the "sync/atomic" package get broken? 
> >> >>> This atomic package imports unsafe. 
> >> >>> 
> >> >>> 
> >> >>> If changes to unsafe break sync/atomic it’s up to the Go team to 
> fix 
> >> >>> sync/atomic before releasing. Much like it’s up to other package 
> >> >>> authors to 
> >> >>> make sure their packages work when unsafe changes, if they depend 
> on 
> >> >>> package 
> >> >>> unsafe. You can depend on sync/atomic working. 
> >> >>> 
> >> >>> On 26 Feb 2018, at 16:38, di...@veryhaha.com wrote: 
> >> >>> 
> >> >>> 
> >> >>> Will the "sync/atomic" package get broken? 
> >> >>> This atomic package imports unsafe. 
> >> >>> 
> >> >>> 
> >> >>> If changes to unsafe break sync/atomic it’s up to the Go team to 
> fix 
> >> >>> sync/atomic before releasing. Much like it’s up to other package 
> >> >>> authors to 
> >> >>> make sure their packages work when unsafe changes, if they depend 
> on 
> >> >>> package 
> >> >>> unsafe. You can depend on sync/atomic working. 
> >> >> 
> >> >> 
> >> >> I mean whether or not the prototypes of the pointer functions in the 
> >> >> atomic packages will change? 
> >> >> 
> >> >> 
> >> >> I think it's a safe bet that unsafe.Pointer will continue to exist. 
> >> >> 
> >> >> //jb 
> >> > 
> >> > 
> >> > But even if it exits, those pointer atomic functions will still 
> become 
> >> > unusable if the unsafe mechanism is not supported any more. 
> >> 
> >> The Go 1 compatibility guarantee, applied to the sync/atomic package, 
> >> ensures that the type unsafe.Pointer will continue to exist for the 
> >> duration of Go 1. 
> >> 
> >> However, the precise details of how unsafe.Pointer may be used are 
> >> permitted to change.  And, in fact, they have changed in the past: 
> >> older versions of Go permitted uses of unsafe.Pointer that current 
> >> versions of Go do not permit. 
> > 
> > 
> > ok, I see. 
> > 
> > My current understanding is, 
> > to use the atomic pointer functions, the unsafe package must be 
> imported, 
> > so the uses of the atomic pointer functions may become invalid tomorrow. 
>
> I suppose that is one way of looking at it.  I would look at it the 
> other way around: as long as unsafe.Pointer is a meaningful type, the 
> sync/atomic unsafe.Pointer functions will work as expected.  If the 
> unsafe package ever changes such that it is invalid to use 
> unsafe.Pointer, then the sync/atomic unsafe.Pointer functions will 
> become useless because there is no way to get the values needed to 
> call them in a useful way. 
>

ok, this is really make gophers worry about whether or not the pointer 
atomic functions should be used.
 

>
> Ian 
>

-- 
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