37得票3回答
特征(Traits)能在枚举类型上使用吗?

我阅读了特质文档,并找到了在结构体上使用特质的简洁定义。那么,在enum类型上使用特质是否可行?我看到一些说不行的答案,但它们是3年前的,也不能完全满足我的需求。 我尝试这样做:#[derive(Debug, Copy, Clone)] pub enum SceneType { Cu...

33得票2回答
在Rust中是否可以在不产生panic的情况下打印回溯信息?

如何在不触发panic的情况下打印堆栈跟踪信息(假设已启用RUST_BACKTRACE)?似乎唯一的方法是通过调用panic!。如果不行,是否有什么原因呢?

9得票2回答
为什么在语句结尾加“_”会被删除?(涉及IT技术)

我看到了一些其他的问题和答案,它们声称let _ = foo()在语句结束时销毁结果而不是在作用域退出时销毁结果,这与let _a = foo()的行为不同。 我无法找到任何官方描述或任何关于此语法的理由。 我对几个交织在一起的事情很感兴趣: 官方文档中是否有提及? 这个选择背后的历史...

9得票1回答
如何比较数组和向量的一部分?

我有一个数组和向量,向量在循环中被填充。在每次循环迭代中,我想检查向量的最后4个元素是否等于数组的4个元素。数组的大小为4。 有没有比逐个比较它们的元素更好的方法?我想要类似于my_array == my_vector[4, -4]这样的东西。

8得票3回答
如何在Rust中按值传递一个包装的特质对象?

我正在编写一些代码,并且有一个具有通过值传递self的方法的特征。我想在Box的特征对象上调用此方法(消耗Box及其值)。这是可能的吗?如果是,怎么做? 就代码而言,一个最简示例看起来像以下不完整的代码: trait Consumable { fn consume(self) -&...

8得票1回答
使用 `quote!` 在向量上进行重复时出现 `ThereIsNoIteratorInRepetition` 结构体错误。

我试图创建一个由TokenStream组成的Vec列表,并在另一个quote!宏中使用该列表: let list: Vec<_> = some_data .iter() .map( |item| { ...

74得票3回答
如何在宏中允许可选的尾随逗号?

这是一个我想要的合成例子:macro_rules! define_enum { ($Name:ident { $($Variant:ident),* }) => { pub enum $Name { None, $(...

19得票3回答
如何读取基于Tokio的Hyper请求的整个主体?

我想使用当前 Hyper 的主支(master branch)编写一个服务器,该服务器会保存由 POST 请求传递的消息,并将此消息发送给每个传入的 GET 请求。 我有以下代码,大部分是从 Hyper 的示例目录中复制来的:extern crate futures; extern crat...

12得票1回答
如何使用std::hash::hash?

我尝试使用 Rust 的 std::hash 函数进行操作。use std::hash::{hash, Hash, SipHasher}; #[test] fn hash_test() { println!("{}", hash::<_, SipHasher>(&...

9得票2回答
从0到255(包括边界值)生成一个随机的u8。

我正在尝试编写一个程序,生成从0到255(包括0和255)的随机数。看起来很简单!我做了这个: extern crate rand; use rand::Rng; fn main() { println!("Guess the number!"); let random_n...