问题标签 [borrowing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
645 浏览

rust - Borrowing from an owned box inside a tuple in Rust

The main goal is to access an owned box that is inside a tuple, e.g. the string from the (String, i32) in the code below.

My first intention was to use a let binding to borrow from the owned box. Borrowing works for the non-tuple case (1), but not when a tuple is involved (2).

Is my intention wrong, and if so, is there another idiomatic way to access the string?

Example code:

The compiler error is:

0 投票
1 回答
1159 浏览

rust - 借用 Rc 中的 T>

我正在尝试做这样的事情

我遇到了与生命周期相关的错误,并且很难理解到底出了什么问题,或者是否有可能做到这一点。

0 投票
1 回答
80 浏览

rust - 无法使用对实现特征的类型的引用来调用函数

我在理解如何使用特征和所有权方面遇到了一些麻烦。以下示例有效:

但是当我尝试使用以下方法创建特征(此处XT)时get

编译失败并显示以下错误消息:

该特征XT未针对该类型实现&T

如果我更改f2(&x)f2(x). 我的期望是用特征替换类型,一切都会奏效。

0 投票
2 回答
92 浏览

rust - 临时持有借来的物件

结构Parent字段必须存储Option

有必要暂时阻止使用 中的对象的可能性fn main(),直到您调用.unbind()

0 投票
1 回答
365 浏览

path - 如何编写存储路径的构建器?

Path参数可以立即转换为 a PathBuf,但这似乎效率低下。必须有某种方法来保留 a Path,对吗?

0 投票
2 回答
3404 浏览

rust - 不能将 `*x` 作为可变借用,因为它也作为不可变借用

我正在做一个组合优化项目来学习 Rust,但我遇到了一个我自己无法解决的问题......

我有 2 个功能:

我遇到了一个问题,因为编译器告诉我:

0 投票
3 回答
1654 浏览

rust - 从结构字段分配变量时“无法移出借用的内容”

我正在学习 Rust,我正在与借用检查器作斗争。

我有一个基本Point结构。我有一个scale函数可以修改该点的所有坐标。我想从另一个名为的方法调用此方法convert

现在我有以下错误:

我究竟做错了什么?

0 投票
1 回答
1099 浏览

rust - Rust 的借用规则会妨碍函数式数据结构吗?

函数式数据结构(例如 Haskell/Clojure/Scala 中使用的 Hash Array Mapped Trie)依赖于底层数据结构中的大量共享。例如,如果我们insert在类似地图的数据类型上实现,该数据类型通常通过在实现数据结构的树上进行路径复制来实现。

鉴于这些数据结构在很大程度上依赖于共享(并且没有主要所有者)底层价值,借用是否会妨碍实现这些结构?

0 投票
1 回答
1179 浏览

string - 通过 Vec作为 IntoIterator<&'a str>

我有一个函数应该从单词列表中选择随机单词:

大概这是一个合理的签名:由于我实际上并不需要函数中的字符串本身,因此处理引用比使用完整的String.

如何优雅有效地将Vec<String>程序从文件中读取的单词传递给该函数?我做到了这一点:

这是正确的方法吗?我可以在不明确映射单词列表以获得参考的情况下写这个吗?

0 投票
1 回答
4795 浏览

rust - 如何复制 &[u8] 切片?

如何复制&[u8]切片的内容?

我正在尝试编写一个函数,该函数将缓冲区作为输入,并使用给定的键对每个字节进行 XOR 并返回最终结果。

我不希望它破坏输入缓冲区。

此代码生成以下编译时错误:

我知道我一定做错了什么。

任何帮助将不胜感激。