Taiki Endo
Taiki Endo
I'm not familiar with epoch, so it may not the correct solution, but this seems can workaround by calling `guard.flush()` regularly. ([commit](https://github.com/taiki-e/crossbeam/commit/281c6d86804bf98e93b8eabbbf811d77281420c7), [result](https://github.com/taiki-e/crossbeam/runs/1098107643?check_suite_focus=true#step:5:55), [output of `cargo run --release`](https://github.com/taiki-e/crossbeam/runs/1098137593?check_suite_focus=true#step:5:38), [heap profile...
cc @stjepang
Ah, this seems a similar issue as https://github.com/crossbeam-rs/crossbeam/issues/540.
Thanks for the suggestions and sorry for the late reply. > Might be UB? Need to know whether or not padding bytes within the structs being uninitialized (even if zeroed)...
> Actually it's not a breaking change; we can assume that as this currently returns a unit type, everywhere that currently use this does so without assignment, and as there's...
Sorry for the late response. I've read the first half of the https://github.com/crossbeam-rs/crossbeam/pull/492#issuecomment-617969071 and assumed this was a WIP state. Otherwise, I think adding such a benchmark is fine.
This seems an instance of https://github.com/rust-lang/unsafe-code-guidelines/issues/69? I don't know if there is a way to fix this issue other than to restrict the types that can be used in AtomicCell...
cc @RalfJung @jeehoonkang @Amanieu
Minimized: ```rs #[allow(dead_code)] #[repr(align(8))] #[derive(Debug, Clone, Copy, PartialEq, Eq)] enum Test { Field(u32), FieldLess, } fn main() { unsafe { let v = Test::FieldLess; let v = std::mem::transmute::(v); let _v...
> Furthermore, it uses an SeqLock, which cannot be soundly implemented in C/C++/Rust (see e.g. [this article](http://www.hpl.hp.com/techreports/2012/HPL-2012-68.pdf)) Btw, I implemented a C++ proposal [p1478r1] to fix SeqLock's problem (repository: [atomic-memcpy](https://github.com/taiki-e/atomic-memcpy)),...