rust - 我如何解构匹配语法::ptr::P?

标签 rust

我有一个函数试图匹配 syntax::ast::ExprBinary(syntax::ast::BinOp, syntax::ptr::P<ast::Expr>, syntax::ptr::P<syntax::ast::Expr>) , 但我找不到匹配 P 的正确语法所以我从中得到了包含的表达式。我看到我可以使用 Deref到达Expr ,但这很麻烦。

有没有办法摆脱 Pmatch 内(或 if let )子句?

最佳答案

无法通过 P 进行模式匹配:the field is private而且我们还没有通用的指针模式匹配(还)。

获取包含数据的唯一方法是Deref(对于&),以及方法and_thenmap (按值)。

关于rust - 我如何解构匹配语法::ptr::P?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29935830/

相关文章:

filter - 你如何处理 Rust filter() 中的错误?

java - 将未知的 Java 类型转换为 Rust 类型

rust - 是在 impl block 上还是在方法上指定 trait bound 更好?

compilation - 我怎样才能激活我所有箱子中的功能?

utf-8 - "Stream did not contain valid UTF-8"是什么意思?

rust - 为什么我的引用不够长?

rust - 如何使用从其他两个 HashMap 移动的值创建一个 HashMap?

rust - 如何在 Rust 中创建可用作 Reader、Writer 或 Seek 的内存对象?

rust - 为什么我可以返回一个使用 'char.to_ascii_lowercase()` 而不是 `str.to_lowercase()` 的拥有值

types - 有没有办法在 Rust 中接受多种回调?