Taiki Endo
Taiki Endo
cc @ibraheemdev
Thanks for the report! IIUC, insert reduces the refcount of the old value and then sets the new value, so if insert makes the refcount zero, a get that occurs...
I consider it a bug that needs to be fixed, but I'm not sure if I will be able to work on a fix anytime soon. It would be great...
Hmm, unlike the RA issue you linked, our select macro is not proc macro. So, aside from the formatter, it is odd that auto comp doesn't work at all.
Currently, it is not possible to use MaybeUninit in the input registers of an inline assembly (i.e., when processing MaybeUninit, values must be [passed through memory](https://github.com/taiki-e/atomic-maybe-uninit/blob/main/src/arch/aarch64.rs#L121-L122)), so this worsens performance....
Filed https://github.com/rust-lang/rust/pull/114790 to allow MaybeUninit in input and output of inline assembly.
What API are you proposing to add?
I didn't mean to ask you to create a patch before the discussion about API, I wanted to know what you are imagining it would look like if it were...
Have you actually measured this in a situation where fat LTO is enabled? The compiler may recognize that other branches are not being used and can remove unused branches. (https://github.com/rust-lang/rust/pull/107198#issuecomment-1411264946)...
> adding a few inline attributes Well, since the channel has generics, the inline attribute may not actually be needed.