我有一个函数试图匹配 syntax::ast::ExprBinary(syntax::ast::BinOp, syntax::ptr::P<ast::Expr>, syntax::ptr::P<syntax::ast::Expr>)
, 但我找不到匹配 P
的正确语法所以我从中得到了包含的表达式。我看到我可以使用 Deref
到达Expr
,但这很麻烦。
有没有办法摆脱 P
在 match
内(或 if let
)子句?
最佳答案
无法通过 P
进行模式匹配:the field is private而且我们还没有通用的指针模式匹配(还)。
获取包含数据的唯一方法是Deref
(对于&
),以及方法and_then
和map
(按值)。
关于rust - 我如何解构匹配语法::ptr::P?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29935830/