rust - 如何可变地从 &&mut Foo 借用引用?

标签 rust

struct A;
impl A {
    fn foo(&mut self) {}
}

fn main() {
    let mut a = A;
    let x = &{ &mut a };
    x.foo();
}
error[E0389]: cannot borrow data mutably in a `&` reference
 --> src/main.rs:9:5
  |
9 |     x.foo();
  |     ^ assignment into an immutable reference

最佳答案

你不能。您有一个不可变引用,这意味着从引用所有者的角度来看,引用背后的一切都是不可变的。

如果不是这种情况,那么一次只有一个对每个事物的单一可变引用的整个概念将是微不足道的。

关于rust - 如何可变地从 &&mut Foo 借用引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46688929/

相关文章:

pointers - 参数/模式中 '&variable' 的含义

testing - cargo test --release 导致堆栈溢出。为什么没有货台?

xpath - 如何迭代使用 sxd_xpath 提取的节点的所有属性?

rust - 在 Rust 中使用同一模块中的文件

redis - 如何将二进制值转换为Redis命令?

rust - 如何在 Rust 中的外部数据类型上实现 std::hash::Hash 特征?

rust - &mut 在声明 for 循环变量时有什么作用吗?

utf-8 - 如何在Rust中逐行读取非UTF8文件

generics - 使用泛型函数制作盒装特征会返回错误

intellij-idea - 如何为 IntelliJ 中的所有 Rust/Cargo 测试设置 --nocapture 标志?