Skip to content

proposal: sync/atomic: deprecate AddXxx, CompareAndSwapXxx, LoadXxx, StoreXxx, SwapXxx #55302

@uji

Description

@uji

Go 1.19 defines new atomic types Bool, Int32, Int64, Uint32, Uint64, Uintptr, and Pointer (release note)

Using these types is more convenient and secure than using AddXxx, CompareAndSwapXxx, LoadXxx, StoreXxx, SwapXxx.
(ex. func AddInt32(addr *int32, delta int32) (new int32))

Moreover, the performance is almost the same, we do not believe there are any situations where AddXxx, CompareAndSwapXxx, LoadXxx, StoreXxx, SwapXxx should be used, and deprecation would limit the user's choices and improve the experience.

Is there a reason that we can not deprecate these functions?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions