如何解决未为 `HashMap<i32, i32> 实现特性 `IntoWasmAbi`
尝试将以下 rust
代码编译为 wasm
以使其与现有 js 兼容运行。试图从函数返回哈希映射值。
lib.rs
use wasm_bindgen::prelude::*;
use std::collections::HashMap;
#[wasm_bindgen]
pub fn get_transformed_filters()-> HashMap<i32,i32> {
let mut hm = HashMap::new();
for i in 1..9990000 {
hm.insert(i + i,i * i);
}
return hm
}
运行命令 wasm-pack build
后控制台错误
[INFO]: ? Checking for the Wasm target...
[INFO]: ? Compiling to Wasm...
Compiling hello-wasm v0.1.0 (/Users/mfe/ui/rustService/test-wasm)
error[E0277]: the trait bound `HashMap<i32,i32>: IntoWasmAbi` is not satisfied
--> src/lib.rs:15:1
|
15 | #[wasm_bindgen]
| ^^^^^^^^^^^^^^^ the trait `IntoWasmAbi` is not implemented for `HashMap<i32,i32>`
|
= note: required because of the requirements on the impl of `ReturnWasmAbi` for `HashMap<i32,i32>`
= note: this error originates in an attribute macro (in Nightly builds,run with -Z macro-backtrace for more info)
error: aborting due to prevIoUs error
For more information about this error,try `rustc --explain E0277`.
error: Could not compile `test-wasm`
To learn more,run the command again with --verbose.
Error: Compiling your crate to WebAssembly Failed
Caused by: Failed to execute `cargo build`: exited with exit code: 101
full command: "cargo" "build" "--lib" "--release" "--target" "wasm32-unkNown-unkNown"
有什么办法可以实现吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。