wit-bindgen-core
Advanced tools
| { | ||
| "git": { | ||
| "sha1": "51080a08cafd3e056abf17f75bf9b7a01a98a8a7" | ||
| "sha1": "d61d3708fe4a90ab811b94e1fd608f2f05fa2513" | ||
| }, | ||
| "path_in_vcs": "crates/core" | ||
| } |
+5
-5
@@ -292,5 +292,5 @@ # This file is automatically @generated by Cargo. | ||
| name = "wasmparser" | ||
| version = "0.245.0" | ||
| version = "0.245.1" | ||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| checksum = "48a767a48974f0c8b66f211b96e01aa77feed58b8ccce4e7f0cff0ae55b174d4" | ||
| checksum = "4f08c9adee0428b7bddf3890fc27e015ac4b761cc608c822667102b8bfd6995e" | ||
| dependencies = [ | ||
@@ -319,3 +319,3 @@ "bitflags", | ||
| name = "wit-bindgen-core" | ||
| version = "0.53.0" | ||
| version = "0.53.1" | ||
| dependencies = [ | ||
@@ -331,5 +331,5 @@ "anyhow", | ||
| name = "wit-parser" | ||
| version = "0.245.0" | ||
| version = "0.245.1" | ||
| source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| checksum = "b5cda4f69fdc5a8d54f7032262217dd89410a933e3f86fdad854f5833caf3ccb" | ||
| checksum = "330698718e82983499419494dd1e3d7811a457a9bf9f69734e8c5f07a2547929" | ||
| dependencies = [ | ||
@@ -336,0 +336,0 @@ "anyhow", |
+2
-2
@@ -16,3 +16,3 @@ # THIS FILE IS AUTOMATICALLY GENERATED BY CARGO | ||
| name = "wit-bindgen-core" | ||
| version = "0.53.0" | ||
| version = "0.53.1" | ||
| authors = ["Alex Crichton <alex@alexcrichton.com>"] | ||
@@ -61,3 +61,3 @@ build = false | ||
| [dependencies.wit-parser] | ||
| version = "0.245.0" | ||
| version = "0.245.1" | ||
@@ -64,0 +64,0 @@ [lints.clippy] |
+15
-0
@@ -131,2 +131,17 @@ use std::collections::HashMap; | ||
| } | ||
| // Merge TypeInfo for structurally equal types so that all members | ||
| // of an equivalence class carry the union of all usage flags | ||
| // (borrowed, owned, etc.). | ||
| let mut merged: HashMap<TypeId, TypeInfo> = HashMap::new(); | ||
| for (&id, &info) in &self.type_info { | ||
| let rep = self.equal_types.find(id); | ||
| *merged.entry(rep).or_default() |= info; | ||
| } | ||
| for (&id, info) in &mut self.type_info { | ||
| let rep = self.equal_types.find(id); | ||
| if let Some(&merged_info) = merged.get(&rep) { | ||
| *info = merged_info; | ||
| } | ||
| } | ||
| } | ||
@@ -133,0 +148,0 @@ |