16得票3回答
在Rust中解引用字符串和HashMap

我正在尝试理解Rust中HashMap的工作原理,我想出了这个例子。 use std::collections::HashMap; fn main() { let mut roman2number: HashMap<&'static str, i32> = Ha...

16得票1回答
无法在 Rc 中作为可变借用。

首先,我是 Rust 的新手 :-) 问题: 我想创建一个名为 RestServer 的模块,包含添加路由和启动服务器的方法(使用 actix-web)。 struct Route { url: String, request: String, handler: Box&...

13得票1回答
什么情况下不需要使用借用API?

Rust有所有权和借用的概念。如果一个函数不将其参数作为引用进行借用,那么传递给该函数的参数会被移动,并在超出范围后被回收。 考虑这个函数:fn build_user(email: String, username: String) -> User { User { ...

11得票1回答
如何从Rc<RefCell<A>>中获取&A引用?

我有一个设计问题,希望用安全的Rust解决,但我还没有找到可行的解决方案。我不能使用RefCell,因为你只能得到Ref/RefMut而不是数据的&amp;引用。 这里是一个简化的示例,已删除不相关的字段/方法 use std::cell::RefCell; use std::rc::Rc...

11得票2回答
为什么通过 `for` 循环迭代集合在 Rust 中被认为是一种“移动”操作?

我有以下 Rust 程序。 fn main() { let v = vec![100, 32, 57]; for i in v { println!("{}", i); } println!("{:?}", v); } 运行时我得到了: ...

11得票3回答
如何在处理数据流时高效地构建向量和该向量的索引?

我有一个结构体 Foo:struct Foo { v: String, // Other data not important for the question } 我想处理一个数据流并将结果保存到Vec&lt;Foo&gt;中,并在字段Foo::v上为这个Vec&lt;Foo...

10得票2回答
为什么str类型主要以借用形式存在?

这是如何使用str类型: let hello = "Hello, world!"; // with an explicit type annotation let hello: &amp;'static str = "Hello, world!"; let hello: str = "...

9得票2回答
Rust多重可变借用问题

我正在尝试Rust编程语言,但在理解"borrowing"(借用)方面遇到了问题。 struct Foo&lt;T&gt; { data: T, } impl&lt;T&gt; Foo&lt;T&gt; { fn new(data: T) -&gt; Self { ...

9得票1回答
为什么通过原始指针修改可变引用的值不违反Rust的别名规则?

我对 Rust 的别名规则并没有非常牢固的理解(而且据我所知,它们并没有得到很好的定义),但我不明白为什么在 std::slice 文档中 这个代码示例 是正确的。我在此重复这段代码: let x = &amp;mut [1, 2, 4]; let x_ptr = x.as_mut_ptr(...