10得票1回答
使用仅由 Rust 编写的软件能够完全避免竞态条件吗?

维基百科定义竞争条件如下: 竞争条件或竞争风险是电子、软件或其他系统的行为,其输出取决于其他不可控事件的顺序或时间。如果事件没有按照程序员的意图顺序发生,则会成为错误。 Rust是一种安全,并发,实用的语言。 如果我们创建了100%的Rust软件,那么我们能避免竞争条件吗?为什么?

111得票2回答
如何从trait对象中获取对具体类型的引用?

在这段代码中,我该如何从变量a中获取Box<B>、&B或者&Box<B>?trait A {} struct B; impl A for B {} fn main() { let mut a: Box<dyn A> = Box::...

104得票6回答
如何解析JSON文件?

我在Rust中解析JSON数据的目标到目前为止是这样的:extern crate rustc_serialize; use rustc_serialize::json::Json; use std::fs::File; use std::io::copy; use std::io::stdou...

7得票1回答
设置Rust + gtk::Application忽略--config参数。

我正在使用gtk3在一个基于Rust的应用程序中展示用户界面。我在main方法中解析参数以查找自定义配置文件的--config参数。gtk::Application对象也会进行一些命令行处理,并且出现了一些问题。 Unknown option --config 我该如何防止gtk处理命令...

28得票1回答
一个通用结构体的构造函数中出现了“预期类型参数”错误。

我正在尝试将活塞杆纹理存储在一个结构体中。struct TextureFactory<R> where R: gfx::Resources { block_textures: Vec<Rc<Texture<R>>>, } impl&lt...

139得票2回答
如何创建一个倒序循环?

编辑注:此问题是在 Rust 1.0 发布之前提出的,并引入了“范围”运算符 ..。该问题的代码不再代表当前的风格,但下面的一些答案使用的代码将适用于 Rust 1.0 及以后版本。 我在 Rust by Example website 上玩耍,想要倒序打印出 fizzbuzz。这是我尝试过...

14得票3回答
为什么我不能从闭包返回一个对外部可变变量的可变引用?

当我尝试使用Rust闭包时,遇到了一个有趣的场景: fn main() { let mut y = 10; let f = || &mut y; f(); } 这会导致一个错误: error[E0495]: cannot infer an appro...

7得票1回答
当尝试使用多态时,出现“错误:不允许在结构定义中使用特质限定”。

编辑注:此问题是在Rust 1.0之前和某些功能实施之前提出的。现有代码今天可以使用。 我正在用Rust编写一个棋盘游戏AI。游戏有多个规则集,我希望将规则逻辑与棋盘布局分开(它们目前混合在一起)。在像Ruby这样的语言中,我会让单独的规则集实现相同的接口。在Rust中,我考虑使用trait...

11得票2回答
为什么在 Rust 中,闭包中调用函数和直接调用函数的生命周期不同?

在下面的代码示例中:fn default_values() -> &'static [u32] { static VALUES: [u32; 3] = [1, 2, 3]; &VALUES } fn main() { let values: [u...

28得票2回答
在Rust中如何进行进程间通信(IPC)?

这方面有标准库支持吗? 我找了很久,但没有发现任何明显的实现方式,或者 Process 中的其他内容可以让你这样做? 我错过了什么吗?还是说我需要为此功能做些 C 封装工作? (如果需要的话,将一个 Send 对象序列化并将其传递给另一个进程,然后在那里进行反序列化,这样做是“安全”的吗...