返回

rust-将泛型元组转换为 Result(value, _),(当没有可能的错误时)

发布时间:2022-06-26 11:48:23 306
# scala

好的,我使用的是一个ffi库,它使用C,无论出于什么原因,当我从一个库函数中得到一个值的迭代器时,这个函数永远不会失败,但如果失败了,它会返回一些错误的东西。我已经处理了所有的检查,以确保用户(这个api的)迭代的信息是正确的还是没有/没有更少的信息(如果其中一些信息是错误的),但我需要将迭代器的所有值包装到一个结果中,即使这个库没有返回选项或结果,这样它就可以与一堆其他代码一起工作(这是我正在实现的一个通用特性)。

  • 我尝试使用迭代器并使用.map(|res| Ok(res))但是,这不起作用,因为编译器无法推断e.

  • 我还尝试使用Result<_,_>喜欢.map(|res| Result)但显然这不是一个表达

  • 对上一个稍作修改我也试过了.map(|res| new: Result)然而,当res为时,结果是不可变的,并且它再次失败。

所以我真的不知道该怎么办。我真的希望所有值的映射都是内联的,错误可以是任何东西,因为永远不会有有有意义的错误,但是我仍然需要Result我的一般特征的对象。

P、 我不确定这是否有帮助,但res的类型是(alloc::boxed::Box<[u8]>, alloc::boxed::Box<[u8]>).

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像