我有一个尝试匹配syntax::ast::ExprBinary(syntax::ast::BinOp, syntax::ptr::P<ast::Expr>, syntax::ptr::P<syntax::ast::Expr>)
的函数,但我找不到与P
匹配的正确语法,所以我从中获取了包含的表达式。我发现我可以使用Deref
来Expr
,但这很麻烦。
有没有办法摆脱P
(或match
)条款中的if let
?
答案 0 :(得分:4)
无法通过P
:the field is private进行模式匹配,我们还没有广泛的指针模式匹配(
获取所包含数据的唯一方法是Deref
(对于&
),方法and_then
和map
(对于按值)。< / p>