diff --git a/crates/cli-support/src/lib.rs b/crates/cli-support/src/lib.rs index 3708ad53..8f1a8393 100644 --- a/crates/cli-support/src/lib.rs +++ b/crates/cli-support/src/lib.rs @@ -224,7 +224,7 @@ fn extract_programs(module: &mut Module) -> Vec<shared::Program> { ((payload[3] as usize) << 24); let (a, b) = payload[4..].split_at(len as usize); payload = b; - let p: shared::Program = match serde_json::from_slice(&a) { + let p: shared::ProgramOnlySchema = match serde_json::from_slice(&a) { Ok(f) => f, Err(e) => { panic!("failed to decode what looked like wasm-bindgen data: {}", e) @@ -255,6 +255,12 @@ to open an issue at https://github.com/alexcrichton/wasm-bindgen/issues! ", p.version, version); } + let p: shared::Program = match serde_json::from_slice(&a) { + Ok(f) => f, + Err(e) => { + panic!("failed to decode what looked like wasm-bindgen data: {}", e) + } + }; ret.push(p); } diff --git a/crates/shared/src/lib.rs b/crates/shared/src/lib.rs index a3836391..be6776bd 100644 --- a/crates/shared/src/lib.rs +++ b/crates/shared/src/lib.rs @@ -3,6 +3,12 @@ extern crate serde_derive; pub const SCHEMA_VERSION: &str = "2"; +#[derive(Deserialize)] +pub struct ProgramOnlySchema { + pub schema_version: String, + pub version: String, +} + #[derive(Deserialize, Serialize)] pub struct Program { pub exports: Vec<Export>,