Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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
Random 库中的特征边界不满足错误_Random_Rust_Traits - Fatal编程技术网

Random 库中的特征边界不满足错误

Random 库中的特征边界不满足错误,random,rust,traits,Random,Rust,Traits,我正在尝试使用secp256k1库生成密钥对 在官方文档中,我发现了以下代码: use rand::OsRng; use secp256k1::{Secp256k1, Message}; let secp = Secp256k1::new(); let mut rng = OsRng::new().expect("OsRng"); let (secret_key, public_key) = secp.generate_keypair(&mut rng); 我把这个放在我的货物里。t

我正在尝试使用secp256k1库生成密钥对

在官方文档中,我发现了以下代码:

use rand::OsRng;
use secp256k1::{Secp256k1, Message};

let secp = Secp256k1::new();
let mut rng = OsRng::new().expect("OsRng");
let (secret_key, public_key) = secp.generate_keypair(&mut rng);
我把这个放在我的
货物里。toml

[dependencies]
rand = "0.6.1"

[dependencies.secp256k1]
features = ["rand"]
version = "0.12.0"
但是,我遇到了以下编译错误:

| secp.generate_密钥对(&mut rng);
|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`std::result::result`

我对生锈还很陌生,我正在努力去理解它,但我发现这非常困难。请解释我的错误。谢谢

这似乎是板条箱版本不匹配。
rand
板条箱的最新版本是
0.6.1
,但
secp256k1 0.12.0
取决于更旧的版本-
0.4.3

快速修复方法是使用较旧版本的
rand

[dependencies]
rand = "0.4.3"

并考虑要求<代码> SEC2525K1<代码>的作者更新它们的依赖关系。


我发现这一点的方法是在
Cargo.lock
文件中搜索,该文件包含应用程序使用的所有依赖项的实际版本。

我复制了您的代码,并得到一个不同的错误:“在当前范围内,没有为
secp256k1::secp256k1
类型找到名为
generate_keypair
的方法”。请提供一个包含板条箱版本的文件,以便获得相同的错误。在Cargo.lock文件中搜索-副本描述了一种更自动化的方法来查找此错误。要更新其依赖项,我会要求他们增加版本范围,特别是。他们的代码大概可以支持rand的0.4到0.6版本。