小编roi*_*and的帖子

为什么在尝试为所有引用类型实现特征时会出现递归

我是 Rust 新手,在实现特征时遇到困难。如果我的处理方式错误,请告诉我。我正在尝试设置一个具有两个函数来访问值的特征。get_value 似乎运行正常,但是当尝试使用 &mut 自引用设置 set_value 时,出现以下错误

warning: function cannot return without recursing
 --> src\main.rs:7:5
  |
7 |     fn set_value(&mut self, new_value: bool) {
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
8 |         (*self).set_value(new_value);
  |         ---------------------------- recursive call site
  |
  = note: `#[warn(unconditional_recursion)]` on by default
  = help: a `loop` may express intention better if this is on purpose

warning: 1 warning emitted
Run Code Online (Sandbox Code Playgroud)

示例代码:

trait Trait1 {
    fn set_value(&mut self, new_value: bool);
    fn get_value(&self) -> bool;
}

impl<'a, T> Trait1 …
Run Code Online (Sandbox Code Playgroud)

rust

2
推荐指数
1
解决办法
1884
查看次数

标签 统计

rust ×1