3 Commits

Author SHA1 Message Date
Kurdistan Tech Ministry 3b4b4cad15 fix: exclude io::Write impl on wasm32v1-none to avoid core_io_borrowed_buf
When the std feature is unified to true by workspace feature resolution but
the target is wasm32v1-none, lib.rs forces no_std mode and aliases core as
std. In that configuration 'use std::io' becomes 'use core::io', which is
gated behind the unstable core_io_borrowed_buf feature (tracking issue #117693,
not stable in Rust 1.88).

Gate both the 'use std::io' import and the io::Write impl behind
not(all(target_arch = "wasm32", target_os = "none")) to prevent this.
The io::Write impl is irrelevant on no_std wasm targets anyway.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 23:29:17 +03:00
pezkuwichain 0c417574a3 fix: force no_std for wasm32v1-none target regardless of std feature
cargo check --target wasm32v1-none uses workspace feature unification which
may enable the std feature even for no_std targets. wasm32v1-none (bare-metal
wasm, target_os=none) has no libstd available, so we must force no_std and
the core-as-std alias for this specific target combination.
2026-04-25 21:56:17 +03:00
pezkuwichain c5461f2a87 Fix wasm32v1-none compilation errors
- arrayvec.rs: Use concrete return types ([T], slice::Iter, slice::IterMut)
  instead of Self::Target/Self::IntoIter to avoid E0223 ambiguity
  introduced by the Receiver trait in Rust 1.87+
- char.rs: Explicitly import Result/Ok/Err from core for target_os=none
  where the standard prelude is not auto-injected
2026-04-24 23:33:46 +03:00