wit-component
Advanced tools
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
| { | ||
| "git": { | ||
| "sha1": "d05406062d031ae96146486f58a965d87eefea5e" | ||
| "sha1": "d4e317f22c3bace76cb3205003bcc34b4929037d" | ||
| }, | ||
| "path_in_vcs": "crates/wit-component" | ||
| } |
+25
-25
@@ -1198,8 +1198,8 @@ # This file is automatically @generated by Cargo. | ||
| name = "wasm-encoder" | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| checksum = "c55db9c896d70bd9fa535ce83cd4e1f2ec3726b0edd2142079f594fc3be1cb35" | ||
| checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" | ||
| dependencies = [ | ||
| "leb128fmt", | ||
| "wasmparser 0.243.0", | ||
| "wasmparser 0.244.0", | ||
| ] | ||
@@ -1209,5 +1209,5 @@ | ||
| name = "wasm-metadata" | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| checksum = "eae05bf9579f45a62e8d0a4e3f52eaa8da518883ac5afa482ec8256c329ecd56" | ||
| checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" | ||
| dependencies = [ | ||
@@ -1223,4 +1223,4 @@ "anyhow", | ||
| "url", | ||
| "wasm-encoder 0.243.0", | ||
| "wasmparser 0.243.0", | ||
| "wasm-encoder 0.244.0", | ||
| "wasmparser 0.244.0", | ||
| ] | ||
@@ -1243,5 +1243,5 @@ | ||
| name = "wasmparser" | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| checksum = "f6d8db401b0528ec316dfbe579e6ab4152d61739cfe076706d2009127970159d" | ||
| checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" | ||
| dependencies = [ | ||
@@ -1267,9 +1267,9 @@ "bitflags", | ||
| name = "wasmprinter" | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| checksum = "eb2b6035559e146114c29a909a3232928ee488d6507a1504d8934e8607b36d7b" | ||
| checksum = "09390d7b2bd7b938e563e4bff10aa345ef2e27a3bc99135697514ef54495e68f" | ||
| dependencies = [ | ||
| "anyhow", | ||
| "termcolor", | ||
| "wasmparser 0.243.0", | ||
| "wasmparser 0.244.0", | ||
| ] | ||
@@ -1489,5 +1489,5 @@ | ||
| name = "wast" | ||
| version = "243.0.0" | ||
| version = "244.0.0" | ||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| checksum = "df21d01c2d91e46cb7a221d79e58a2d210ea02020d57c092e79255cc2999ca7f" | ||
| checksum = "b2e7b9f9e23311275920e3d6b56d64137c160cf8af4f84a7283b36cfecbf4acb" | ||
| dependencies = [ | ||
@@ -1498,3 +1498,3 @@ "bumpalo", | ||
| "unicode-width", | ||
| "wasm-encoder 0.243.0", | ||
| "wasm-encoder 0.244.0", | ||
| ] | ||
@@ -1504,5 +1504,5 @@ | ||
| name = "wat" | ||
| version = "1.243.0" | ||
| version = "1.244.0" | ||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| checksum = "226a9a91cd80a50449312fef0c75c23478fcecfcc4092bdebe1dc8e760ef521b" | ||
| checksum = "bbf35b87ed352f9ab6cd0732abde5a67dd6153dfd02c493e61459218b19456fa" | ||
| dependencies = [ | ||
@@ -1689,3 +1689,3 @@ "wast", | ||
| name = "wit-component" | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| dependencies = [ | ||
@@ -1703,10 +1703,10 @@ "anyhow", | ||
| "serde_json", | ||
| "wasm-encoder 0.243.0", | ||
| "wasm-encoder 0.244.0", | ||
| "wasm-metadata", | ||
| "wasmparser 0.243.0", | ||
| "wasmprinter 0.243.0", | ||
| "wasmparser 0.244.0", | ||
| "wasmprinter 0.244.0", | ||
| "wasmtime", | ||
| "wast", | ||
| "wat", | ||
| "wit-parser 0.243.0", | ||
| "wit-parser 0.244.0", | ||
| ] | ||
@@ -1734,5 +1734,5 @@ | ||
| name = "wit-parser" | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| checksum = "df983a8608e513d8997f435bb74207bf0933d0e49ca97aa9d8a6157164b9b7fc" | ||
| checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" | ||
| dependencies = [ | ||
@@ -1748,3 +1748,3 @@ "anyhow", | ||
| "unicode-xid", | ||
| "wasmparser 0.243.0", | ||
| "wasmparser 0.244.0", | ||
| ] | ||
@@ -1751,0 +1751,0 @@ |
+12
-13
@@ -14,5 +14,5 @@ # THIS FILE IS AUTOMATICALLY GENERATED BY CARGO | ||
| edition = "2021" | ||
| rust-version = "1.76.0" | ||
| rust-version = "1.81.0" | ||
| name = "wit-component" | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| authors = ["Peter Huene <peter@huene.dev>"] | ||
@@ -100,3 +100,3 @@ build = false | ||
| [dependencies.wasm-encoder] | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| features = [ | ||
@@ -109,7 +109,7 @@ "std", | ||
| [dependencies.wasm-metadata] | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| default-features = false | ||
| [dependencies.wasmparser] | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| features = [ | ||
@@ -124,3 +124,3 @@ "simd", | ||
| [dependencies.wast] | ||
| version = "243.0.0" | ||
| version = "244.0.0" | ||
| optional = true | ||
@@ -130,3 +130,3 @@ default-features = false | ||
| [dependencies.wat] | ||
| version = "1.243.0" | ||
| version = "1.244.0" | ||
| optional = true | ||
@@ -136,3 +136,3 @@ default-features = false | ||
| [dependencies.wit-parser] | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| features = [ | ||
@@ -156,3 +156,3 @@ "decoding", | ||
| [dev-dependencies.wasm-metadata] | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| features = ["oci"] | ||
@@ -162,3 +162,3 @@ default-features = false | ||
| [dev-dependencies.wasmparser] | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| features = [ | ||
@@ -173,3 +173,3 @@ "simd", | ||
| [dev-dependencies.wasmprinter] | ||
| version = "0.243.0" | ||
| version = "0.244.0" | ||
| features = ["component-model"] | ||
@@ -179,3 +179,3 @@ default-features = false | ||
| [dev-dependencies.wat] | ||
| version = "1.243.0" | ||
| version = "1.244.0" | ||
| features = ["component-model"] | ||
@@ -195,3 +195,2 @@ default-features = false | ||
| [lints.clippy] | ||
| allow_attributes_without_reason = "warn" | ||
| clone_on_copy = "warn" | ||
@@ -198,0 +197,0 @@ manual_strip = "warn" |
+0
-1
@@ -365,3 +365,2 @@ use wit_parser::abi::WasmType; | ||
| (import "[export]$root" "[task-cancel]" (func)) | ||
| (import "$root" "[backpressure-set]" (func (param i32))) | ||
| (import "$root" "[backpressure-inc]" (func)) | ||
@@ -368,0 +367,0 @@ (import "$root" "[backpressure-dec]" (func)) |
@@ -74,3 +74,3 @@ //! Support for deduplicating module imports when turning them into a component. | ||
| let mut new_import_section = ImportSection::new(); | ||
| for import in i.clone() { | ||
| for import in i.clone().into_imports() { | ||
| found_duplicate_imports = ret | ||
@@ -77,0 +77,0 @@ .push_import(&mut new_import_section, import?)? |
@@ -192,2 +192,9 @@ use super::EncodingState; | ||
| } | ||
| TypeDefKind::Map(key_ty, value_ty) => { | ||
| let key = self.encode_valtype(resolve, key_ty)?; | ||
| let value = self.encode_valtype(resolve, value_ty)?; | ||
| let (index, encoder) = self.defined_type(); | ||
| encoder.map(key, value); | ||
| ComponentValType::Type(index) | ||
| } | ||
| TypeDefKind::FixedSizeList(ty, elements) => { | ||
@@ -194,0 +201,0 @@ let ty = self.encode_valtype(resolve, ty)?; |
@@ -420,3 +420,2 @@ use super::{Adapter, ComponentEncoder, LibraryInfo, RequiredOptions}; | ||
| | Import::ContextSet(_) | ||
| | Import::BackpressureSet | ||
| | Import::BackpressureInc | ||
@@ -423,0 +422,0 @@ | Import::BackpressureDec |
+1
-1
@@ -237,3 +237,3 @@ use self::bitvec::BitVec; | ||
| Payload::ImportSection(s) => { | ||
| for i in s { | ||
| for i in s.into_imports() { | ||
| let i = i?; | ||
@@ -240,0 +240,0 @@ match i.ty { |
@@ -296,3 +296,3 @@ //! Support for parsing and analyzing [dynamic | ||
| Payload::ImportSection(reader) => { | ||
| for import in reader { | ||
| for import in reader.into_imports() { | ||
| let import = import?; | ||
@@ -299,0 +299,0 @@ |
+38
-0
@@ -605,2 +605,10 @@ use anyhow::{Result, anyhow, bail}; | ||
| } | ||
| TypeDefKind::Map(key_ty, value_ty) => { | ||
| self.output.ty("map", TypeKind::BuiltIn); | ||
| self.output.generic_args_start(); | ||
| self.print_type_name(resolve, key_ty)?; | ||
| self.output.str(", "); | ||
| self.print_type_name(resolve, value_ty)?; | ||
| self.output.generic_args_end(); | ||
| } | ||
| TypeDefKind::FixedSizeList(ty, size) => { | ||
@@ -787,2 +795,5 @@ self.output.ty("list", TypeKind::BuiltIn); | ||
| } | ||
| TypeDefKind::Map(key, value) => { | ||
| self.declare_map(resolve, ty.name.as_deref(), key, value)? | ||
| } | ||
| TypeDefKind::FixedSizeList(inner, size) => { | ||
@@ -1004,2 +1015,27 @@ self.declare_fixed_size_list(resolve, ty.name.as_deref(), inner, *size)? | ||
| fn declare_map( | ||
| &mut self, | ||
| resolve: &Resolve, | ||
| name: Option<&str>, | ||
| key_ty: &Type, | ||
| value_ty: &Type, | ||
| ) -> Result<()> { | ||
| if let Some(name) = name { | ||
| self.output.keyword("type"); | ||
| self.output.str(" "); | ||
| self.print_name_type(name, TypeKind::Map); | ||
| self.output.str(" = "); | ||
| self.output.ty("map", TypeKind::BuiltIn); | ||
| self.output.str("<"); | ||
| self.print_type_name(resolve, key_ty)?; | ||
| self.output.str(", "); | ||
| self.print_type_name(resolve, value_ty)?; | ||
| self.output.str(">"); | ||
| self.output.semicolon(); | ||
| return Ok(()); | ||
| } | ||
| Ok(()) | ||
| } | ||
| fn declare_fixed_size_list( | ||
@@ -1345,2 +1381,4 @@ &mut self, | ||
| List, | ||
| /// A map type name. | ||
| Map, | ||
| /// A namespace declaration. | ||
@@ -1347,0 +1385,0 @@ NamespaceDeclaration, |
@@ -6,2 +6,3 @@ use anyhow::{Context, Result}; | ||
| use std::path::Path; | ||
| use wasmparser::WasmFeatures; | ||
| use wit_component::WitPrinter; | ||
@@ -65,3 +66,3 @@ use wit_parser::{PackageId, Resolve, UnresolvedPackageGroup}; | ||
| assert_output(&path.with_extension("wat"), &wat)?; | ||
| wasmparser::Validator::new() | ||
| wasmparser::Validator::new_with_features(WasmFeatures::all()) | ||
| .validate_all(&wasm) | ||
@@ -68,0 +69,0 @@ .context("failed to validate wasm output")?; |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet