32得票1回答
在Rust中,生命周期的子类型关系很难理解。

我觉得自己很傻,因为我已经多次浏览了Rust文档中的标记部分以及关于子类型和变异性的维基百科文章,但对生命周期子类型关系的理解并没有提高。 我想我只是习惯了“典型的面向对象编程风格”中的子类型关系,例如“Cat <: Animal”表示“Cat是Animal的一个子类型”,其中“S是T...

211得票8回答
在Rust中是否可以使用全局变量?

我知道一般来说应该避免使用全局变量。然而,在实际情况下,如果变量对于程序至关重要,有时使用它们是可取的。为了学习Rust,我正在使用sqlite3和GitHub上的Rust/sqlite3软件包编写一个数据库测试程序。因此,这就需要(在我的测试程序中)将数据库变量在大约十几个函数之间传递(作为...

24得票4回答
Rust中是否可以推断数组长度?

我可以做到这一点:let a: [f32; 3] = [0.0, 1.0, 2.0]; 为什么这不起作用呢?let a: [f32; _] = [0.0, 1.0, 2.0]; 在我看来,指定长度似乎是冗余且无足轻重的。有没有一种方法可以避免必须显式地指定它?(而且不必将f32附加到所有字面值上。)

7得票1回答
一个针对Rust的同步HTTP客户端?

我正在寻找一款低开销的 HTTP 客户端,用于在 Rust 中创建 AWS Lambda 的自定义运行时。我发现所有的实现(包括 AWS 官方运行时)都基于 hyper/tokio,但我不想要这种额外的开销和二进制负担。 你知道有哪些客户端吗?为什么所有框架都基于 tokio? 谢谢。

10得票2回答
如何将所有字段都为默认值的类型反序列化为None?

我必须对JSON块进行反序列化,其中一些地方缺少一个完整的对象,编码为具有相同结构但所有字段都设置为默认值(空字符串和零)的对象。 extern crate serde_json; // 1.0.27 #[macro_use] extern crate serde_derive; // 1....

276得票30回答
使用源代码构建parity后,Cargo构建卡在"阻塞等待注册表索引的文件锁定"处。

我按照readme中的指示从源代码构建了Parity,然后执行了以下命令:cargo build --release ~/.cargo/bin/cargo build --release 根据指示,两者在提示符挂起的同时返回了以下消息。 Blocking waiting for file lo...

8得票2回答
如何编写一个 Serde 访问器将字符串数组的数组转换为 Vec<Vec<f64>>?

我需要将一个JSON反序列化成一个结构体,其中包含一个Vec&lt;Vec&lt;f64&gt;&gt;字段。JSON中的数字是字符串形式的,因此我需要一个自定义反序列化程序,在反序列化期间将字符串转换为f64。 以下是要反序列化的示例JSON: { "values": [["2", ...

7得票1回答
为什么在这段 Rust 代码中没有分支预测失败惩罚?

我编写了这个非常简单的 Rust 函数: fn iterate(nums: &amp;Box&lt;[i32]&gt;) -&gt; i32 { let mut total = 0; let len = nums.len(); for i in 0..len { ...

21得票3回答
Rust如何处理结构体作为函数参数和返回值?

我有一些C语言的经验,但是对于Rust来说还很新。当我将一个结构体传递到一个函数中并从函数中返回一个结构体时,在底层会发生什么?它似乎并没有“复制”结构体,但如果没有复制,那么结构体在哪里创建?它是在外部函数的堆栈中吗? struct Point { x: i32, y: i...

7得票2回答
使用cargo构建crate时SSL证书无效

在从教程中尝试一个示例(猜数字游戏)时,在定义依赖项后(rand="0.3.0"),我遇到了这个问题: $ cargo build --verbose Updating registry `https://github.com/rust-lang/crates.io-index` U...