#macro #expand #hide #macro-expansion #skip

dont-expand

用于在cargo expand中避免展开的虚拟宏

1 个不稳定版本

0.1.0 2021年10月29日

过程宏 中排名 1491

MIT 许可证

6KB
54

dont-expand

此库提供了rust std库中宏的实现。此库中宏的目的是不执行任何操作。这些宏旨在按需导入以覆盖std宏。当使用 cargo expand 来查看宏可能执行的操作时,这很有用,因为它将有效地隐藏std宏的典型展开,而std宏通常只会污染输出。

包含的宏包括:assert、assert_eq、assert_ne、cfg、column、compile_error、concat、dbg、debug_assert、debug_assert_eq、debug_assert_ne、env、eprint、eprintln、file、format、format_args、include、include_bytes、include_str、is_x86_feature_detected、line、matches、module_path、option_env、panic、print、println、thread_local、todo、unimplemented、unreachable、vec、write、writeln

以及以下 derive 宏:Debug、Default、Clone、Copy、PartialEq、Eq、Hash、PartialOrd、Ord

以下示例将仅显示 Default 宏的展开

use dont_expand::{Debug, Clone};

#[derive(Debug, Clone, Default)]
struct Foo;

glob导入与dont-expand不兼容,因为这将导致编译器抛出错误,因为它们覆盖了std宏。

依赖关系

~4KB