标签[rust]

Rust是一种没有垃圾回收器的系统编程语言,主要关注三个目标:安全性,速度和并发性。 使用此标签可解决有关用Rust编写的代码的问题。 对于特定于代码的问题,请使用特定于版本的标签,例如需要使用特定版本的代码,例如[rust-2018]。 对[rust-cargo]和[rust-macros]等子主题使用更具体的标签。

0
0回复
15

对键值对进行分类/替代HashMap的HashMap

我正在创建一个通用的匹配服务器,基本上,有一个 Enum 定义了玩家可以排队的可能游戏模式(不是真正的游戏模式,因为游戏模式可以对队列进行排序,如排名模式)。 因此,当玩家决定加入队列时,他们的连接 ID 会添加到 ID 及其各自数据的 HashMap(目前仍然是 Vec,但意识到 HashMap
0
0回复
28

即使存在于Cargo.toml中,也缺少crate错误

我有一个使用介子的基本 gtk-rs 项目。 我在 Cargo.toml 文件中包含了 gtk4 crate。 当我使用货物运行时,它编译但输出“分段错误”错误(我已经搜索过,但我仍然不知道那是什么)。 但是,当我与介子一起运行时,它根本拒绝构建。 Cargo.toml 介子构建 主文件 当我使用
0
0回复
14

使用Rust和libp2p-rust将记录放入IPFSDHT

我正在尝试使用 Rust 和rust-libp2p向 IFPS DHT 插入一个简单的/pk记录这是我的代码(Rust 1.55,libp2p-rust 0.39.1):let mut key = "/pk/".bytes().collect::<Vec<_>>();key.
1
0回复
37

Rust生命周期-关于如何正确注释生命周期的新手问题

我一直在努力理解如何在我的应用程序中正确注释生命周期。 我已经简化了我必须的实际代码: 因此,有一个项目向量包含对应用程序中某些内容的引用,我知道只要应用程序还活着,它就会存在,但借用检查器不接受这一点。 有人可以解释这段代码有什么问题以及我如何修复它吗? 你可以在 rust playground
1
1回复
21

如何从另一个(嵌套)文件夹读取文件?

这是我的文件夹结构。src├── main.rs└── assembly_files └── toyRISC.asm 为什么这还不够或者错误在哪里? 我尝试使用原始&str : 还尝试使用Path和OsStr ,如下面的代码所示。 这是错误
1
1回复
31

使用tokio::time::timeout确定是否经过了过多时间时程序挂起

考虑以下代码,输入是一个简单的 csv 文件,类似于https://github.com/gophercises/quiz/blob/master/problems.csv 中的文件: 一切正常,除非用户等待太长时间(5 秒)才能输入答案。 打印消息Only have 5 seconds to in
1
1回复
48

rust中从HashMap中删除一个随机条目

我想从HashMap删除一个随机元素。 但是,我一直收到此错误。 但是,如果我在该行的末尾添加.clone() ,则错误消失了。 虽然我解决了这个问题(主要是通过反复试验),但我仍然不明白它为什么会起作用。 具体来说,为什么首先出现这个错误? 不应该在该行之后删除对self.map的不可变引用let
0
1回复
31

在Fn中安全移动或取消引用接收器?

我正在开发一个应用程序,该应用程序可以选择使用 GUI 来显示大致结构如下的视频数据: gtk rust 库需要在启动时传递给application.connect_activate的 Fn 回调,所以我不能使用 FnOnce 或 FnMut 闭包来移动回调中的 glib::Receiver。 编
-3
0回复
54

部分重建Rust

我在一个项目中使用了一个非常重的板条箱(rosrust,https://github.com/adnanademovic/rosrust),它显着减慢了我的构建时间。 我使用它的项目现在只有一个文件,每次我运行cargo build或cargo run时,使用 crate 需要 2-3 分钟,没有它
1
2回复
36

rustcollect()一般如何创建不同的集合

根据文档,此方法https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.collect可以根据其返回值分配给的变量类型创建不同的集合。 我已经研究了一段时间,但我找不到它能够做到这一点的关键原因。 它是否以某种方式普遍超载? 它如何
0
1回复
35

实现迭代器时如何返回引用?

我想返回对集合中拥有的对象的引用(即Vec ),但我似乎无法获得正确的生命周期。 这是我第一次尝试的:struct StringHolder { strings: Vec<String>, i: usize,}impl Iterator for StringHolder {
-2
1回复
36

错误[E0601]:在自定义二进制文件的实用文件的crate中找不到`main`函数

我有一个名为cli.rs的自定义二进制文件和一个文件clap.rs ,其中包含一些用于clap.rs实用程序: 其中 clap.rs 只是为我提供了 clap 定义: 所以我可以将它们导入cli.rs 。 但是,如果我从clap.rs取出fn main ,我会得到 我不希望clap.rs有一个 ma
2
1回复
47

如何反序列化包含更多JSON字符串的JSON?

我有一个 JSON 对象,其中包含一个本身就是 JSON 对象的字符串。 我怎样才能反序列化它? 我希望能够执行以下操作:#[derive(Deserialize)]struct B { c: String, d: u32,}#[derive(Deserialize)]struct Te
1
0回复
45

`implTrait`的隐藏类型捕获未出现在边界中的生命周期

我在这里做了一个最小的复制。 如果我删除最后一个参数的“静态生命周期”,程序就会编译。 如果我把它加回来,它就会失败。 对我来说,似乎两者都应该有效。 不过,这个错误更有可能在我的理解中,而不是编译器。 我错过了什么? 错误是:
-4
1回复
46

为什么我的RustStackDFS实现会产生不正确的结果?

我正在阅读 Luridas 的关于算法的书,现在我正在尝试实现 StackDFS 函数的第 2 章。 此函数的目的是“访问”图形的每个元素。 书中算法:StackDFS(G, node)→visited//Input: G = (V,E), a graph//node, the starting v
4
1回复
52

宏是否可以采用常量表达式并“内联”它以生成有效的LiteralPattern?

我想根据其字段之一对复杂常量进行模式匹配。 您可以使用PathPattern匹配常量,但不允许选择另一个常量的常量字段。 是否可以编写一个宏获取常量表达式的结果并在编译时“内联”它,以便生成的代码是有效的LiteralPattern ? 考虑这个工作代码: 我希望能够基本上这样写: 这样我就不必在我
0
0回复
29

如何使用亲爱的从程序宏属性中提取类型?

我需要能够提取 DieselHandler 类型,理想情况下,它允许使用可重复的 data_loader 属性来针对多种类型进行转换。 如果我使用handler: syn::Type出现错误: 特性绑定syn::Type: FromMeta不满足 特性FromMeta没有为syn::Type 我怎
0
0回复
24

有没有办法在同一个主程序中同时启动tonicgRPC和actixweb应用程序?

我正在尝试实现一个服务于 gRPC 和 REST 调用并且由单个二进制文件启动的服务器。 在这个主要功能中,我试图启动一个 tonic gRPC 服务器和一个 actix-web REST API。 我找到了这个答案,但它对我不起作用: 从 Tokio 应用程序使用 Actix:混合 actix_w
0
0回复
106

RustVectors中的Haskell风格链表添加

考虑一个(哑)函数在 Haskell 中合并两个排序的整数列表:merge :: [Int] -> [Int] -> [Int]merge xs ys = reverse $ merge' xs ys []merge' :: [Int] -> [Int] -> [Int] -
-1
0回复
51

动态写入文件(消耗内存)Rust

我想为 sat 解算器编写dimacs cnf格式的文件。 每行仅包含几个以 0 结尾的数字。例如,此类文件可能如下所示: 我的问题是,我无法一次写出所有行,因为我总共要写数百万行。 出于这个原因,我想写每一行(可能是一些像样的常量的块),然后从内存中删除数据,因为那时信息已经存在于文件中。 由于要

1 2 3 4 5 6 7 8 9 10 下一页