diff --git a/Cargo.lock b/Cargo.lock index 9d5fd77a2..0a9c893c5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1025,7 +1025,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -1334,28 +1334,28 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" name = "hello-component-client" version = "0.1.0" dependencies = [ - "wit-bindgen 0.58.0", + "wit-bindgen 0.59.0", ] [[package]] name = "hello-component-rpc-client" version = "0.1.0" dependencies = [ - "wit-bindgen 0.58.0", + "wit-bindgen 0.59.0", ] [[package]] name = "hello-component-rpc-server" version = "0.1.0" dependencies = [ - "wit-bindgen 0.58.0", + "wit-bindgen 0.59.0", ] [[package]] name = "hello-component-server" version = "0.1.0" dependencies = [ - "wit-bindgen 0.58.0", + "wit-bindgen 0.59.0", ] [[package]] @@ -1368,7 +1368,7 @@ dependencies = [ "tracing", "tracing-subscriber", "wasi 0.14.7+wasi-0.2.4", - "wit-bindgen 0.58.0", + "wit-bindgen 0.59.0", "wit-bindgen-wrpc", "wrpc-transport", ] @@ -2587,7 +2587,7 @@ dependencies = [ name = "reactor" version = "0.1.0" dependencies = [ - "wit-bindgen 0.58.0", + "wit-bindgen 0.59.0", ] [[package]] @@ -2704,14 +2704,14 @@ dependencies = [ name = "resources-component-client" version = "0.1.0" dependencies = [ - "wit-bindgen 0.58.0", + "wit-bindgen 0.59.0", ] [[package]] name = "resources-component-server" version = "0.1.0" dependencies = [ - "wit-bindgen 0.58.0", + "wit-bindgen 0.59.0", ] [[package]] @@ -2768,7 +2768,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -2857,7 +2857,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -3096,7 +3096,7 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" name = "streams-io-component-server" version = "0.1.0" dependencies = [ - "wit-bindgen 0.58.0", + "wit-bindgen 0.59.0", ] [[package]] @@ -3285,7 +3285,7 @@ dependencies = [ "getrandom 0.4.3", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -3303,7 +3303,7 @@ version = "0.0.0" dependencies = [ "codegen-macro", "wit-bindgen-core", - "wit-parser 0.251.0", + "wit-parser 0.253.0", ] [[package]] @@ -3892,14 +3892,14 @@ name = "wasi-keyvalue-component-client" version = "0.1.0" dependencies = [ "anyhow", - "wit-bindgen 0.58.0", + "wit-bindgen 0.59.0", ] [[package]] name = "wasi-keyvalue-component-server" version = "0.1.0" dependencies = [ - "wit-bindgen 0.58.0", + "wit-bindgen 0.59.0", ] [[package]] @@ -4122,27 +4122,25 @@ dependencies = [ ] [[package]] -name = "wasm-metadata" -version = "0.251.0" +name = "wasm-encoder" +version = "0.253.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f998ccc6e012f7b86865eb2a106c8a0422017a1a88977ce01a69f2244be2e57" +checksum = "59972d6cd272259de647b7c1f1912e45e289c75ffd4be04e10695507cd7e1b59" dependencies = [ - "anyhow", - "indexmap", - "wasm-encoder 0.251.0", - "wasmparser 0.251.0", + "leb128fmt", + "wasmparser 0.253.0", ] [[package]] name = "wasm-metadata" -version = "0.252.0" +version = "0.253.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b7e08e02a3cd55bf778009d4cd6faae50da011f293644daf78a531a32d6d142" +checksum = "b3f45816ef616806f48498bcd831377de578c4fa51db0c83ab8ceb78cc13523b" dependencies = [ "anyhow", "indexmap", - "wasm-encoder 0.252.0", - "wasmparser 0.252.0", + "wasm-encoder 0.253.0", + "wasmparser 0.253.0", ] [[package]] @@ -4186,6 +4184,17 @@ name = "wasmparser" version = "0.252.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3eb099dcadcde5be9eef55e3a337128efd4e44b4c93122487e4d2e4e1c6627c" +dependencies = [ + "bitflags", + "indexmap", + "semver", +] + +[[package]] +name = "wasmparser" +version = "0.253.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19db11f87d2486580e1e8b6f494c54df7e0566b87d0b599db843c24019667339" dependencies = [ "bitflags", "hashbrown 0.17.1", @@ -4610,7 +4619,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -4856,45 +4865,45 @@ checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" [[package]] name = "wit-bindgen" -version = "0.58.0" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a43552cfa071f246cfd99e5dbb23710dfe7336b3259e09339818483359470749" +checksum = "94c5e45f6d4cfaca727c1c48989ab3e05bb289bf84fbad226e1cfbbef2c04b7f" dependencies = [ "wit-bindgen-rust-macro", ] [[package]] name = "wit-bindgen-core" -version = "0.58.0" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4738d1c9a78e97bc7f664bfafd5d8e67d7bb26faa5c41e6d628e8bbdad3ec351" +checksum = "05cf25dc4bb1981c16aa549ec66c6762b7752bfb8b7c3b3936ae13100298dc72" dependencies = [ "anyhow", "heck", - "wit-parser 0.251.0", + "wit-parser 0.253.0", ] [[package]] name = "wit-bindgen-rust" -version = "0.58.0" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1130ce1f531bc9f9a75922244aa773bf5e2117fda1ef4a86b9f98d6b8135eb46" +checksum = "407ee2b474af1a366766fe91b8255b7935e5e3c3afb9c304e91ac3d154287ff1" dependencies = [ "anyhow", "heck", "indexmap", "prettyplease", "syn", - "wasm-metadata 0.251.0", + "wasm-metadata", "wit-bindgen-core", - "wit-component 0.251.0", + "wit-component", ] [[package]] name = "wit-bindgen-rust-macro" -version = "0.58.0" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07296369e4d598e7e79b64eef66f724d83324ea671bcf677d78fc5cf92604ae5" +checksum = "37386eba32427684ffe37a0f765f63ce2ece03efb1ad28c23cf69562fdc67ec0" dependencies = [ "anyhow", "prettyplease", @@ -4977,33 +4986,14 @@ dependencies = [ "serde", "serde_json", "toml 1.1.2+spec-1.1.0", - "wit-parser 0.251.0", -] - -[[package]] -name = "wit-component" -version = "0.251.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a5e60173c413659c689f0581b0cf5d1a2404077568f9ffdce748a9eb2fc913" -dependencies = [ - "anyhow", - "bitflags", - "indexmap", - "log", - "serde", - "serde_derive", - "serde_json", - "wasm-encoder 0.251.0", - "wasm-metadata 0.251.0", - "wasmparser 0.251.0", - "wit-parser 0.251.0", + "wit-parser 0.253.0", ] [[package]] name = "wit-component" -version = "0.252.0" +version = "0.253.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76db0662b590f45d33d0e363fa13539a5a1eecd35d5a12fe208c335461c1053d" +checksum = "dbbd2500ac3488489ee8c6e59b79d7e47e6da5bfb019efd35d5dca57b78af624" dependencies = [ "anyhow", "bitflags", @@ -5012,10 +5002,10 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "wasm-encoder 0.252.0", - "wasm-metadata 0.252.0", - "wasmparser 0.252.0", - "wit-parser 0.252.0", + "wasm-encoder 0.253.0", + "wasm-metadata", + "wasmparser 0.253.0", + "wit-parser 0.253.0", ] [[package]] @@ -5039,9 +5029,9 @@ dependencies = [ [[package]] name = "wit-parser" -version = "0.252.0" +version = "0.253.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4266bea110371c620ccf3201c5023676046bc4556e5c7cfb5d500bda5ebc162d" +checksum = "4d997b8e5920fcbeec742b58e583325d6419a6aca617ae8075c406a61c65ba8a" dependencies = [ "anyhow", "hashbrown 0.17.1", @@ -5053,7 +5043,7 @@ dependencies = [ "serde_derive", "serde_json", "unicode-ident", - "wasmparser 0.252.0", + "wasmparser 0.253.0", ] [[package]] @@ -5126,7 +5116,7 @@ dependencies = [ name = "wrpc-introspect" version = "0.7.0" dependencies = [ - "wit-parser 0.251.0", + "wit-parser 0.253.0", ] [[package]] @@ -5240,7 +5230,7 @@ dependencies = [ "wasm-tokio", "wasmtime", "wasmtime-wasi", - "wit-parser 0.251.0", + "wit-parser 0.253.0", "wrpc-introspect", "wrpc-transport", ] @@ -5265,7 +5255,7 @@ dependencies = [ "wasmtime-cli-flags", "wasmtime-wasi", "wasmtime-wasi-http", - "wit-component 0.252.0", + "wit-component", "wrpc-cli", "wrpc-transport", "wrpc-wasmtime", diff --git a/Cargo.toml b/Cargo.toml index 4ca52ccd4..7b88290a8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -192,15 +192,15 @@ wasmtime = { version = "46", default-features = false } wasmtime-cli-flags = { version = "46", default-features = false } wasmtime-wasi = { version = "46", default-features = false } wasmtime-wasi-http = { version = "46", default-features = false } -wit-bindgen = { version = "0.58", default-features = false } -wit-bindgen-core = { version = "0.58", default-features = false } +wit-bindgen = { version = "0.59", default-features = false } +wit-bindgen-core = { version = "0.59", default-features = false } wit-bindgen-wrpc = { version = "0.11", default-features = false, path = "./crates/wit-bindgen" } wit-bindgen-wrpc-go = { version = "0.13", default-features = false, path = "./crates/wit-bindgen-go" } wit-bindgen-wrpc-rust = { version = "0.11", default-features = false, path = "./crates/wit-bindgen-rust" } wit-bindgen-wrpc-rust-macro = { version = "0.11", default-features = false, path = "./crates/wit-bindgen-rust-macro" } wit-bindgen-wrpc-test = { version = "0.1", default-features = false, path = "./crates/wit-bindgen-test" } -wit-component = { version = "0.252", default-features = false } -wit-parser = { version = "0.251", default-features = false } +wit-component = { version = "0.253", default-features = false } +wit-parser = { version = "0.253", default-features = false } wrpc-cli = { version = "0.8", path = "./crates/cli", default-features = false } wrpc-http = { version = "0.1", path = "./crates/http", default-features = false } wrpc-introspect = { version = "0.7", default-features = false, path = "./crates/introspect" } diff --git a/crates/wit-bindgen-go/src/lib.rs b/crates/wit-bindgen-go/src/lib.rs index 18f11460e..f635957f8 100644 --- a/crates/wit-bindgen-go/src/lib.rs +++ b/crates/wit-bindgen-go/src/lib.rs @@ -472,7 +472,7 @@ fn gofmt(src: &mut String) { } impl WorldGenerator for GoWrpc { - fn preprocess(&mut self, resolve: &Resolve, world: WorldId) { + fn preprocess(&mut self, resolve: &Resolve, world: WorldId) -> anyhow::Result<()> { self.types.analyze(resolve); self.world = Some(world); @@ -492,6 +492,7 @@ impl WorldGenerator for GoWrpc { self.with.insert(k.clone(), v.clone().into()); } self.with.generate_by_default = self.opts.generate_all; + Ok(()) } fn import_interface( diff --git a/crates/wit-bindgen-rust-macro/src/lib.rs b/crates/wit-bindgen-rust-macro/src/lib.rs index 9e516751d..8236a43f2 100644 --- a/crates/wit-bindgen-rust-macro/src/lib.rs +++ b/crates/wit-bindgen-rust-macro/src/lib.rs @@ -7,7 +7,7 @@ use syn::parse::{Error, Parse, ParseStream, Result}; use syn::punctuated::Punctuated; use syn::spanned::Spanned; use syn::{LitStr, Token, braced, token}; -use wit_bindgen_core::wit_parser::{PackageId, Resolve, UnresolvedPackageGroup, WorldId}; +use wit_bindgen_core::wit_parser::{PackageId, Resolve, WorldId}; use wit_bindgen_wrpc_rust::{Opts, WithOption}; #[proc_macro] @@ -236,7 +236,7 @@ fn parse_source( if let Some(p) = path { parse(p)?; } - pkgs.push(resolve.push_group(UnresolvedPackageGroup::parse("macro-input", s)?)?); + pkgs.push(resolve.push_str("macro-input", s)?); } Some(Source::Paths(p)) => parse(p)?, None => parse(&[root.join("wit")])?, diff --git a/crates/wit-bindgen-rust/src/lib.rs b/crates/wit-bindgen-rust/src/lib.rs index b5b833d0c..cc4041935 100644 --- a/crates/wit-bindgen-rust/src/lib.rs +++ b/crates/wit-bindgen-rust/src/lib.rs @@ -492,7 +492,7 @@ pub fn serve<'a, T: {wrpc_transport}::Serve, H: {bound} + ::core::marker::Send + } impl WorldGenerator for RustWrpc { - fn preprocess(&mut self, resolve: &Resolve, world: WorldId) { + fn preprocess(&mut self, resolve: &Resolve, world: WorldId) -> Result<()> { wit_bindgen_core::generated_preamble(&mut self.src_preamble, env!("CARGO_PKG_VERSION")); // Render some generator options to assist with debugging and/or to help @@ -537,6 +537,7 @@ impl WorldGenerator for RustWrpc { self.with.insert(k.clone(), v.clone().into()); } self.with.generate_by_default = self.opts.generate_all; + Ok(()) } fn import_interface( diff --git a/tests/codegen/single-version-package/wit/deps/dep/root.wit b/tests/codegen/single-version-package/wit/deps/dep/root.wit new file mode 100644 index 000000000..cdda0a38b --- /dev/null +++ b/tests/codegen/single-version-package/wit/deps/dep/root.wit @@ -0,0 +1,5 @@ +package my:dep@0.1.0; + +interface a { + x: func(); +} diff --git a/tests/codegen/single-version-package/wit/root.wit b/tests/codegen/single-version-package/wit/root.wit new file mode 100644 index 000000000..82df7fd45 --- /dev/null +++ b/tests/codegen/single-version-package/wit/root.wit @@ -0,0 +1,5 @@ +package foo:bar; + +world the-world { + import my:dep/a@0.1.0; +} diff --git a/tests/runtime/strings/runner.go b/tests/runtime/strings/disabled/runner.go similarity index 100% rename from tests/runtime/strings/runner.go rename to tests/runtime/strings/disabled/runner.go diff --git a/tests/runtime/strings/test.go b/tests/runtime/strings/disabled/test.go similarity index 100% rename from tests/runtime/strings/test.go rename to tests/runtime/strings/disabled/test.go