Rust使用中遇到的问题

这里整理的问题有可能并非问题, 而是使用过程中对语法\rust版本特性的不熟悉导致, 会先行记录, 等了解其背后的原理会补充解释.

1. 编程日常

1. 类型不匹配:

在使用一个类型时, 通常会采用use语句, 然而又有一些库它不使用use而直接以全路径引用类型,在调用函数时, 明明是同一个类型,确因为一个是简写, 一个是全路径,导致无法匹配类型而报错.

这时, 要检查一下, 所使用的函数来自哪个库(用A指代), 然后变量的类型来自哪个库(用B), 这里A必定使用了B, 而你所使用的BA使用的B版本不同. 这时候就要去看B的版本, 把你用的版本改一下, 不过这在rust 2021edition存在, 需要能尽快改进.

2. cargo update报错

1
2
3
4
5
Updating crates.io index
error: failed to select a version for the requirement `vmm-sys-util = "^0.10.0"`
candidate versions found which didn't match: 0.9.0
location searched: crates.io index
required by package `dbs-legacy-devices v0.1.0 (/home/fanqiliang/data/project/active/dbs/crates/dbs-legacy-devices)`

这种情况是: 你的项目是一个workspace, 然后不同component用了相同的crate, 但是之间有依赖关系, 只能手动改了…


Rust使用中遇到的问题
https://www.torch-fan.site/2022/07/26/Rust使用中遇到的问题/
作者
Torch-Fan
发布于
2022年7月26日
更新于
2022年11月15日
许可协议