//! # Build script — Slice 2c canonical multi-attempt findings registered //! //! Slice 2b investigation registered (sesión 1, 2026-05-21) — 4 fix attempts //! NO solved canonical: //! 1. Remove direct serde dep (transitive from FRAME) — NO solved //! 2. Pin serde =1.0.219 + =1.0.217 — NO solved //! 3. Remove profile.release lto/codegen-units customization — NO solved //! 4. WasmBuilder::build_using_defaults() upstream pattern — NO solved //! //! Slice 2c attempt #5 (Charon sesión 2 cont. 2026-05-24) — empirical test //! WASM_BUILD_STD=0 explicit override canonical. Upstream docs confirman: //! "WASM_BUILD_STD is disabled by default for WASM target and Rust >= 1.84". //! //! ## Attempt #5 finding canonical (BIG progress) //! //! `WASM_BUILD_STD=0` explicit + WasmBuilder re-enabled → **alloc/exchange_malloc //! issue RESUELTO canonical**. Pero canonical surface NEW error canonical: //! //! ``` //! error[E0152]: found duplicate lang item `panic_impl` //! --> sp-io-40.0.1/src/lib.rs:1774:1 //! = note: the lang item is first defined in crate `std` (which `serde` depends on) //! = note: first definition in `std` loaded from libstd-*.rlib //! = note: second definition in the local crate (`sp_io`) //! ``` //! //! Diagnosis canonical: serde está siendo pulled con `std` feature canonical //! transitively desde algún dep canonical (parity-scale-codec o frame-*) → //! libstd canonical linked en wasm32 → conflict canonical con sp_io::panic //! handler canonical (que define panic_impl para no_std runtime). //! //! ## Path canonical resolución pending (Slice 2d canonical future) //! //! Requires deeper investigation canonical: //! - Inverted feature tree exact culprit identification canonical //! - Override canonical: `[patch.crates-io] serde = { ... }` con strict no-std //! - O explicit `WASM_BUILD_RUSTFLAGS` canonical override //! - O wait stable2512-4+ upstream canonical fix //! //! Mientras Slice 2d land canonical, build script canonical mantain no-op + //! Slice 3 (v0.0.13) mock-WASM fallback canonical path estable canonical. fn main() { // No-op canonical — Slice 2d canonical land WASM_BINARY post serde/std // leakage canonical resolution canonical. Slice 3 mock-WASM (chain_spec // builder JSON canonical) sigue siendo el path canonical estable canonical. }