borrow-checker 相关问题

借用检查器是指Rust编程语言使用的所有权概念的编译时分析。此标记应用于相关问题和错误。

这个用于从未排序链表中删除重复项的 Rust 代码在 else 分支的低级别上执行什么操作?

我有一个链接列表: pub 结构节点 { 值:T, 下一个: 选项>> } pub 结构 LinkedList { 头部:选项>> } ...

回答 1 投票 0

绕过文件链实现中的借用检查器

我正在尝试实现一个简单的文件链。不幸的是,我的 BufRead::fill_buf 实现产生了借用检查器错误。 为 FileChain 实现 BufRead { fn fill_buf(&mut self)...

回答 2 投票 0

Rust:绕过文件链实现中的借用检查器

我正在尝试实现一个简单的文件链。不幸的是,我的 BufRead::fill_buf 实现产生了借用检查器错误。 为 FileChain 实现 BufRead { fn fill_buf(&mut self)...

回答 1 投票 0

为什么类似 Deref 的特征不能组合?

在此代码中,MyDeref 与标准库中 Deref 的定义匹配,MemoryView(从更复杂的示例简化而来)也几乎如此。 酒吧特质 MyDeref { 输入目标:?S...

回答 1 投票 0

Rust 函数的返回值不能引用本地或临时变量

上下文 无法使此功能正常工作。我相信我明白这些错误试图告诉我什么,但我不明白我是如何犯下错误的/如何解决它们。

回答 1 投票 0

无法移出 `current`,因为它是在从递归返回时借用的

让我们考虑一下我的存储结构,其中包含 u16 中的键向量: pub 结构节点 { 公钥:RefCell>, 酒吧儿童:RefCell>, } 在某些...

回答 1 投票 0

Rust 所有权问题

我想用 Rust 实现单链表的概念。 但是,当我实现push_front函数时出现问题。 错误消息如下。 无法作为枚举变体移出 self.head 有些...

回答 1 投票 0

如何使用BufReader的fill_buff并通过TcpStream进行消费

以下代码无法编译 使用 std::io::{BufRead, BufReader}; 使用 std::net::{TcpListener}; fn 主() { 让侦听器 = TcpListener::bind(format!("0.0.0.0:{}", 7007)).unwrap()...

回答 1 投票 0

获取HashMap条目,如果没有则添加它

我想做这样的事情: fn some_fn() { 让 mut my_map = HashMap::from([ (1, "1.0".to_string()), (2, "2.0".to_string()), ]); 让键= 3; ...

回答 2 投票 0

Rust 不允许我借出一个变量两次吗?

刚刚开始我学习 Rust 的旅程。 我有这么一小段代码: fn 主() { simple_logger::init_with_env().unwrap(); 让 context = libusb::Context::new().unwrap(); 日志::调试!(“

回答 1 投票 0

Rust 返回集合中的对象,其生命周期比集合本身短

我本质上试图使用 HashSet 创建堆分配对象的缓存。我的想法是我有一个包装字节引用的结构,并且在创建新对象时,我检查字节是否...

回答 1 投票 0

尝试终生重用 Vec 时如何取悦借用检查员

我在 Rust 中遇到的一个常见模式是这样的: 结构 Foo { /*...*/ } 结构FooProcessor { foos: Vec<&'??? mut Foo>, // 这个生命周期是问题,请参阅解释...

回答 1 投票 0

如何将实现多个特征的结构传递给接受这些特征作为 &mut 的函数?

我正在处理一个可以简化为以下代码的问题。结果是错误[E0499]:不能一次多次借用 *dog 作为可变对象。 我很清楚错误的根源,...

回答 1 投票 0

为什么在使用 dbg!() 后出现“借用移动值”错误?

我有这段代码,但它给了我一个我不明白的错误: fn 主() { // --剪断-- 让 mut unit = String::new(); std::io::stdin() .read_line(&mut 单位) .expe...

回答 1 投票 0

如何正确返回临时值的引用?

例如,这个函数按预期工作: fn get_suffix(str: Option<&str>) -> u32 { str.and_then( |s| s.rsplit('_').next() ) .and_then( |s| s.parse::().ok() ) ...

回答 1 投票 0

如何在 Rust 中使用长期(近静态)借用?

在我的应用程序中,我获取大型对象(昂贵),并将它们存储在巨大的 HashMap 中。一旦插入地图,它们就永远不会被删除。 对象本身具有内部可变性(互斥体等)...

回答 1 投票 0

使用部分移动的值:闭包中的`self`

我有一个 Rust 结构: pub 结构应用程序 { 名称: 字符串, 窗口:Vec, event_loop:EventLoop<()>, } 在这里我有一个方法可以移动自身并运行一个事件

回答 1 投票 0

如果未明确提供类型,借用检查器会抱怨循环内的闭包

我有这个代码,借用检查器显示错误: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=55d050b6f25410ce0e17ef9e844b048d fn f1(v: &str) { }

回答 1 投票 0

使用变量引用生成异步任务并“过早”退出根方法

我试图了解 Rust 中的所有权和借用是如何运作的。我读到,如果您在某个范围内定义一个变量,然后退出该范围,则该变量将被删除。假设您定义了一个变量...

回答 1 投票 0

“借用的值活得不够长”,带有返回 impl 特征的通用函数

我从这个 Rust 代码中得到了一个意外的错误: 结构容器<'a> { x: &'a i32, } 特质回复{} impl Reply for i32 {} fn json(_val: &T) -> impl 回复 { 3 } ...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.