Fold 和 Visit trait 的出现,打破了这一局限。尽管它们隐藏在特性标志之后,但为我们提供了强大的工具。Fold trait 尤其适用于操作函数的抽象语法树(AST),因此非常符合我们的用例。它提供了多种方法,这些方法尽管带有基本的默认实现,但却极具实用性,能够处理给定类型的每个出现。比如,
fold_macro
方法允许我们操纵函数中的每个宏。此外,方法帮助我们以最小的努力遍历整个函数的内容,从而轻松地更改每个 panic。
Fold 和 Visit trait 的出现,打破了这一局限。尽管它们隐藏在特性标志之后,但为我们提供了强大的工具。Fold trait 尤其适用于操作函数的抽象语法树(AST),因此非常符合我们的用例。它提供了多种方法,这些方法尽管带有基本的默认实现,但却极具实用性,能够处理给定类型的每个出现。比如,
fold_macro
方法允许我们操纵函数中的每个宏。此外,方法帮助我们以最小的努力遍历整个函数的内容,从而轻松地更改每个 panic。