Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
为什么我不能在同一结构中存储值和对该值的引用?
我有一个值 我想存储该值和对的引用 我自己的类型中该值内的某些内容 struct Thing count u32 struct Combined lt a gt Thing a u32 fn make combined lt a gt gt
Rust
reference
lifetime
borrowchecker
创建 Vec 时借用的值存在的时间不够长
编者注 这个问题是在 Rust 1 0 之前提出的 从那时起 许多函数和类型都发生了变化 某些语言语义也发生了变化 问题中的代码不再有效 但答案中表达的想法可能有效 我正在尝试列出目录中的文件并将文件名复制到我自己的目录中Vec 我尝试了几
Rust
lifetime
borrowchecker
Rust Borrow 检查器仅在函数返回具有相同生命周期的引用时抱怨多次借用为可变的
我对一些 Rust 代码遇到了问题 在某些条件下 第一个令人困惑的部分 我被允许多次借用可变的东西 但在其他条件下则不允许 我写了下面的例子来说明 struct NoLifetime struct WithLifetime lt a gt
Rust
lifetime
borrowchecker
在 Rust 中,当一个值隐藏另一个值时,堆栈上会发生什么? [复制]
这个问题在这里已经有答案了 我在读掌握 Rust https www packtpub com application development mastering rust second edition 第一章末尾有一个练习 其中提供了示例
Rust
borrowchecker
borrow
什么时候静态生命周期不合适?
我在网上找到了很多有关 Rust 生命周期的信息 包括有关静态生命周期的信息 对我来说 在某些情况下 你必须保证引用比所有东西都更长寿 这是有道理的 例如 我有一个要传递给线程的引用 编译器要求将该引用标记为静态 在这种情况下 这似乎是有意
Rust
lifetime
borrowchecker
当无法推断 Rust 借用检查器中的生命周期时?
在大多数情况下 Rust 编译器可以推断生命周期 如果生命周期范围是在运行时确定的 则表示必须显式标记生命周期 fn longest lt a gt x a str y a str gt a str if x len gt y len x
Rust
lifetime
borrowchecker
当不可变引用可以完成这项工作时,为什么我们需要 Rc
?
为了说明必要性Rc
Rust
reference
immutability
borrowchecker
ownership
从结构体字段分配变量时“无法移出借用的内容”
我正在学习 Rust 并且正在与借用检查器作斗争 我有一个基本的Point结构 我有一个scale修改点的所有坐标的函数 我想从另一个名为的方法调用此方法convert struct AngleUnit struct Point x f32
Rust
borrowchecker
borrowing
在 Rust 中更改树中的节点
我正在尝试编写一个函数 在给定树结构的情况下 返回该树的副本 但节点在特定索引处发生更改 这是我到目前为止所拥有的 derive Clone pub enum Node Value u32 Branch u32 Box
Rust
borrowchecker
为什么参数要“借用”值? [复制]
这个问题在这里已经有答案了 这是一个示例 struct X u32 impl X fn f mut self v u32 fn main let mut x X 42 works let v x 0 x f v cannot use x 0
Rust
borrowchecker
相互交织的范围如何造成“数据竞争”? [复制]
这个问题在这里已经有答案了 The 锈书讨论了拥有多个读取器和对一个对象的多个可变引用作为可能导致问题的数据竞争情况 例如 这段代码 fn main let mut x 1 let r1 mut x r1 2 let r2 mut x r2
Rust
reference
borrowchecker
borrowing
mutability
如何从HashMap中获取可变结构体?
我有一个所有状态的哈希图 它是HashMap
Rust
borrowchecker
如何分配给匹配分支内的匹配表达式中使用的变量?
我正在尝试实现一个通用功能join 它可以在任何迭代器的迭代器上工作 我的借用检查器有问题match里面的表达式next 方法实施 这是我的代码的简化版本 pub struct Join i where I Iterator I Item
Rust
match
lifetime
borrowchecker
为什么同一范围内可以进行多个可变借用?
我编写了这段代码 多次借用可变变量并且编译时没有任何错误 但是根据Rust 编程语言这不应该编译 fn main let mut s String from hello println s test three mut s println
Rust
borrowchecker
尝试从 RwLock 返回引用,“借用的值生存时间不够长”错误
我最近一直在致力于我的第一个 Rust 项目 但遇到了障碍 我正在使用一个HashMap映射Strings to AtomicUsize整数 这HashMap受保护RwLock以允许并发访问 我希望能够返回对AtomicUsize中的值Ha
HashMap
Rust
borrowchecker
rwlock
如何在成员方法闭包中使用struct self
如何在闭包中调用方法 get access token方法可以基于设置新的访问令牌self get base url fn fetch access token base url String gt String String new fn
Rust
closures
borrowchecker
mutability
为什么这个闭包需要内联或“dyn”? `dyn` 在这里做什么?
我对下面的生命周期发生了什么感到困惑 struct Foo impl Foo fn foo self s str fn main let foo Foo let closure s foo foo s Part 1 error messag
Lambda
Rust
closures
lifetime
borrowchecker
是否有一行语法用于构造包含对临时对象的引用的结构?
考虑以下无效的 Rust 代码 有一个结构体Foo包含对第二个结构的引用Bar struct Foo lt a gt bar a Bar impl lt a gt Foo lt a gt fn new bar a Bar gt Foo lt
struct
Rust
borrowchecker
在迭代向量时,如何改变向量中的另一个项,而不改变向量本身?
我很清楚 迭代向量不应该让循环体任意改变向量 这可以防止迭代器失效 从而容易出现错误 然而 并非所有类型的突变都会导致迭代器失效 请参见以下示例 let mut my vec Vec
Iterator
Rust
borrowchecker
如何说服借用检查器允许我缓存值?
借用检查员打败了我 use std collections HashMap struct Cache cache Vec
Rust
borrowchecker
«
1
2
3
»