On Sat, Jun 15, 2024 at 03:12:33PM -0700, Boqun Feng wrote: > What's the issue of having AtomicI32 and AtomicI64 first then? We don't > need to do 1 or 2 until the real users show up. > > And I'd like also to point out that there are a few more trait bound > designs needed for Atomic<T>, for example, Atomic<u32> and Atomic<i32> > have different sets of API (no inc_unless_negative() for u32). > > Don't make me wrong, I have no doubt we can handle this in the type > system, but given the design work need, won't it make sense that we take > baby steps on this? We can first introduce AtomicI32 and AtomicI64 which > already have real users, and then if there are some values of generic > atomics, we introduce them and have proper discussion on design. > > To me, it's perfectly fine that Atomic{I32,I64} co-exist with Atomic<T>. > What's the downside? A bit specific example would help me understand > the real concern here. Err, what? Of course we want generic atomics, and we need that for properly supporting cmpxchg. Bogun, you've got all the rust guys pushing for doing this with generics, I'm not sure why you're being stubborn here?