我不明白懒散静态的@TAIL和@MAKE是在哪里定义的,以及它们的特殊用例。
@TAIL
@MAKE
如果我对内部规则的理解是正确的,那么@as_expr在示例中的主要用法是隐藏as_expr! (或者通常是以前定义的宏),使其不被导出--也就是说,它是改变全局宏命名空间的一种方法。在此之后,@TAIL或@MAKE应该已经是一个宏,而我在静态源中找不到它们。
@as_expr
as_expr!
发布于 2018-10-15 02:29:24
你链接到了定义。@TAIL就在那里,在137上有三条线,@MAKE在162上。
@name在任何方面都不是特别的。绝对没有什么特别的行为。它只是一系列不能出现在“正常”代码中的标记,因此不太可能意外地与其他规则匹配。@as_expr不隐藏as_expr!宏,而是使用它来定义可公开显示的as_expr!宏。
@name
https://stackoverflow.com/questions/52808949
相似问题