我在写锈皮棉插件时,我发现,锈使用不同类型的代表则(Block)和其他(Expr一)的部分if在这两个声明libsyntax::ast::ExprKind和librustc::hir::Expr_.
我需要他们两个都有共同的类型.
我应该只使用明确的匹配hir::Expr_::ExprBlock,否则部分可能是其他东西,我需要进行更智能的比较?
从来源:
// ...
pub enum Expr_ {
// ...
/// An `if` block, with an optional else block
///
/// `if expr { block } else { expr }`
ExprIf(P<Expr>, P<Block>, Option<P<Expr>>),
// ...
}
// ...
Run Code Online (Sandbox Code Playgroud) rust ×1