首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何与类型别名一起使用#[wasm_bindgen]?

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

Stack Overflow用户
提问于 2021-05-31 20:55:14
回答 1查看 303关注 0票数 1

我想做的是:

代码语言:javascript
复制
#[wasm_bindgen]
pub type ParseError = parserange::Error;

但是,Rust编译器抱怨道:

代码语言:javascript
复制
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;

我不想在parserange.rs中添加# wasm -bindgen属性,因为它位于单独的库中,不使用wasm构建。

有解决办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-31 21:51:10

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67780124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档