On Fri, Jun 14, 2024 at 06:03:37PM -0700, John Hubbard wrote: > On 6/14/24 2:59 AM, Miguel Ojeda wrote: > > On Thu, Jun 13, 2024 at 9:05 PM Boqun Feng <boqun.feng@xxxxxxxxx> wrote: > > > > > > Does this make sense? > > > > Implementation-wise, if you think it is simpler or more clear/elegant > > to have the extra lower level layer, then that sounds fine. > > > > However, I was mainly talking about what we would eventually expose to > > users, i.e. do we want to provide `Atomic<T>` to begin with? If yes, > > then we could make the lower layer private already. > > > > We can defer that extra layer/work if needed even if we go for > > `Atomic<T>`, but it would be nice to understand if we have consensus > > for an eventual user-facing API, or if someone has any other opinion > > or concerns on one vs. the other. > > Well, here's one: > > The reason that we have things like atomic64_read() in the C code is > because C doesn't have generics. > > In Rust, we should simply move directly to Atomic<T>, as there are, > after all, associated benefits. And it's very easy to see the connection What are the associated benefits you are referring to? Rust std doesn't use Atomic<T>, that somewhat proves that we don't need it. Regards, Boqun > between the C types and the Atomic<T> types. > > > thanks, > -- > John Hubbard > NVIDIA >