Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rust 如何将#[wasm_bindgen]与类型别名一起使用?_Rust_Rust Wasm - Fatal编程技术网

Rust 如何将#[wasm_bindgen]与类型别名一起使用?

Rust 如何将#[wasm_bindgen]与类型别名一起使用?,rust,rust-wasm,Rust,Rust Wasm,我想做的是: #[wasm_bindgen] pub type ParseError = parserange::Error; 但Rust编译器抱怨: error: #[wasm_bindgen] can only be applied to a function, struct, enum, impl, or extern block --> src/lib.rs:89:1 | 89 | pub type ParseError = parserange::Error; 我不

我想做的是:

#[wasm_bindgen]
pub type ParseError = parserange::Error;
但Rust编译器抱怨:

error: #[wasm_bindgen] can only be applied to a function, struct, enum, impl, or extern block
  --> src/lib.rs:89:1
   |
89 | pub type ParseError = parserange::Error;
我不想在
parserrange.rs
中添加#[wasm bindgen]属性,因为它位于不使用wasm构建的单独库中


有解决方法吗?

解决方法是将
parserange::Error
包装在元组结构中以创建新类型。这样做的缺点是,必须重新定义在
parserange::Error
上定义的所有函数,才能调用Error子对象的函数。这具有创建新类型的所有优点,例如通过wasm_bindgen导出,或者在另一个板条箱中定义的类型上实现traits。可以找到更多信息