什么是预期的方式来匹配内部可变枚举?

时间:2019-02-02 16:36:23

标签: enums rust matching interior-mutability

Playground是我想出的方法,可以尝试匹配引用计数的内部可变枚举。然而,大多数的方式创建一个不匹配的类型的错误等

E

else

唯一可行的方法是:

error[E0308]: mismatched types
  --> src/main.rs:24:9
   |
24 |         Foo::Baz(_) => true
   |         ^^^^^^^^^^^ expected struct `std::rc::Rc`, found enum `Foo`
   |
   = note: expected type `std::rc::Rc<std::cell::RefCell<Foo>>`
              found type `Foo`

这是预期的方式吗?即使是只读访问权限?

1 个答案:

答案 0 :(得分:1)

您可以使用Deref的{​​{1}}暗示:

Ref