mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-04-23 02:28:00 +00:00
Fix wasm32v1-none target compilation with Cargo feature unification
When building for wasm32v1-none with Cargo, the 'std' feature gets unified across the dependency graph, meaning serde_core sees feature="std" even on a no_std target. This caused compilation failures because the crate tried to use std:: imports. This commit fixes the issue by checking target_os = "none" in addition to the std feature flag: - lib.rs: Force no_std when target_os = "none" - crate_root.rs: Use core/alloc instead of std on target_os = "none" - All std-only cfg blocks now include not(target_os = "none") - Add explicit prelude imports for wasm32v1-none compatibility
This commit is contained in:
@@ -112,7 +112,7 @@ impl Debug for Error {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
#[cfg(all(feature = "std", not(target_os = "none")))]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "std")))]
|
||||
impl error::Error for Error {
|
||||
fn description(&self) -> &str {
|
||||
@@ -1160,7 +1160,7 @@ where
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
#[cfg(all(feature = "std", not(target_os = "none")))]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "std")))]
|
||||
impl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet<T, S>
|
||||
where
|
||||
@@ -1588,7 +1588,7 @@ where
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
#[cfg(all(feature = "std", not(target_os = "none")))]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "std")))]
|
||||
impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
|
||||
where
|
||||
|
||||
Reference in New Issue
Block a user