Taiki Endo
Taiki Endo
In the latter case, the reasonable workaround is probably to remove the code for visibility parsing and always use `pub(crate)` as the visibility of the projected struct.
I checked the output from cargo-expand and it is the latter. ```rs #![feature(prelude_import)] //! Docs! #![forbid(missing_docs)] #[prelude_import] use std::prelude::rust_2021::*; #[macro_use] extern crate std; use exporter_crate::wrapper; /// Docs! pub struct Wrapper...
The main problem here is these two: - (When the visibility of the original type is `pub` and it has been parsed once by caller macro,) the visibility is not...
I believe this is because we do not currently handle last expressions that are not [considered branches](https://docs.rs/auto_enums/latest/auto_enums/#supported-syntax). https://github.com/taiki-e/auto_enums/blob/5c3ffbef7d132990fa4c8726f55afd156b0c6978/src/auto_enum/expr.rs#L21-L37
> My guess is that you will have to special case the last expression in a function because afaik that's the only place this edge case appears. Yeah, the code...
Assuming that neither old compilers nor custom targets (that created based on old info) are used, the underlying problem should already be fixed in both RISC-V (https://github.com/rust-lang/rust/pull/114499) and AVR (https://github.com/rust-lang/rust/pull/114495)....
> platforms without atomic ptr "critical-section" feature is a feature to use `sync`/`race` in such targets. https://github.com/matklad/once_cell/blob/c48d3c2c01de926228aea2ac1d03672b4ce160c1/Cargo.toml#L48-L51
Note that CAS failure ordering that is stronger than success ordering requires Rust 1.64+: https://github.com/rust-lang/rust/pull/98383
I have tested all musl binaries (0.11.2-0.12.0), and they all have this issue. And, this is due to the following code using the target that is used to build cargo-fuzz...
> The more correct way here is to get host triple from the output of `cargo --version --verbose`, like [this](https://github.com/taiki-e/cargo-config2/blob/322caf00f080f2b3173d851c18eed1e71eb143a1/src/resolve.rs#L519). However, to provide the fully same behavior as the default...