小编And*_*org的帖子

在递归函数中使用impl Trait

我一直在试验,impl Trait在构建递归函数时遇到了这个错误:

error[E0308]: if and else have incompatible types
  --> src/main.rs:16:5
   |
16 | /     if logic {
17 | |         one(false)
18 | |     } else {
19 | |         two()
20 | |     }
   | |_____^ expected opaque type, found a different opaque type
   |
   = note: expected type `impl Meow` (opaque type)
              found type `impl Meow` (opaque type)
Run Code Online (Sandbox Code Playgroud)

这是重现的代码(Rust playground链接):

trait Meow {
    fn meow();
}

struct Cat(u64);

impl Meow for Cat { …
Run Code Online (Sandbox Code Playgroud)

rust

3
推荐指数
2
解决办法
252
查看次数

标签 统计

rust ×1