mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-04-24 01:48:00 +00:00
d99c876120
When building serde_core for wasm32v1-none target with no_std but with the alloc feature enabled, the Rust compiler doesn't automatically inject the prelude. This causes ?Sized bounds to fail with "bound modifier ? can only be applied to Sized" errors. This commit adds explicit prelude imports to all modules that: 1. Use `use crate::lib::*;` for serde's internal lib facade 2. Use `?Sized` bounds in their code The fix adds: ```rust #[allow(unused_imports)] #[cfg(not(feature = "std"))] use ::core::prelude::rust_2021::*; ``` This ensures Sized, Clone, Copy, and other prelude traits are in scope for the ?Sized syntax to work correctly on wasm32v1-none targets. Affected files: - serde_core/src/de/impls.rs - serde_core/src/de/mod.rs - serde_core/src/private/doc.rs - serde_core/src/ser/fmt.rs - serde_core/src/ser/impls.rs - serde_core/src/ser/impossible.rs - serde_core/src/ser/mod.rs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>