Slice 2d empirical investigation completada (sesión 2 cont 2026-05-24): - WASM_BUILD_STD=0 resuelve alloc/exchange_malloc (Slice 2c attempt #5) - NEW layer: panic_impl duplicate via serde/std leak transitive - Diagnostic vía cargo tree wasm32 -e features: ruta exacta identificada `origin-chain-types feature "std"` → `serde feature "std"` activation - Root cause: dep transitive activa types/std en wasm32 build incluso con --no-default-features (probable macro expansion automation) Slice 2e future requires architectural fix: - [patch.crates-io] serde override con strict no-std - O sp-io feature gate adjust - O wait stable2512-4+ upstream Mientras Slice 2e land: build.rs no-op + Slice 3 v0.0.13 mock-WASM estable. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
29 lines
1.3 KiB
Rust
29 lines
1.3 KiB
Rust
//! # Build script — Slice 2d findings registered, deferred future session
|
|
//!
|
|
//! Slice 2c attempts 1-4 (Slice 2b 2026-05-21): direct serde / pin / profile /
|
|
//! build_using_defaults — ALL NO solved alloc/exchange_malloc conflict.
|
|
//!
|
|
//! Slice 2c attempt #5 + Slice 2d (sesión 2 cont 2026-05-24):
|
|
//! - WASM_BUILD_STD=0 explicit override → alloc/exchange_malloc RESUELTO
|
|
//! - NEW layer surface: panic_impl duplicate via serde/std leak transitive
|
|
//! - Diagnostic via cargo tree --target wasm32 -e features: identified
|
|
//! `origin-chain-types feature "std"` → `serde feature "std"` activation path
|
|
//! - Root cause: algún dep transitive activates types/std en wasm32 build
|
|
//! incluso con --no-default-features (probable: macro expansion automation)
|
|
//!
|
|
//! ## Path forward Slice 2e future
|
|
//!
|
|
//! Requires architectural fix:
|
|
//! - [patch.crates-io] serde override con strict no-std
|
|
//! - O sp-io feature gate adjust
|
|
//! - O wait stable2512-4+ upstream fix
|
|
//!
|
|
//! Mientras Slice 2e land, build script no-op + Slice 3 (v0.0.13) mock-WASM
|
|
//! fallback (chain_spec.rs en node crate via serde_json puro) sigue siendo
|
|
//! path estable. Cross-pillar consumers (Trinity/Codex/Ethos/Atelier) ya
|
|
//! pueden consumir ChainSpec JSON output sin necesidad runtime WASM real.
|
|
|
|
fn main() {
|
|
// No-op — Slice 2e future resolves WASM_BINARY. Slice 3 mock-WASM estable.
|
|
}
|