我一直在试验,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 ×1