Macros
| assert | Asserts that a boolean expression is true at runtime. |
|---|---|
| assert_eq | Asserts that two expressions are equal to each other (using PartialEq). |
| assert_ne | Asserts that two expressions are not equal to each other (using PartialEq). |
| cfg | Evaluates boolean combinations of configuration flags at compile-time. |
| column | Expands to the column number at which it was invoked. |
| compile_error | Causes compilation to fail with the given error message when encountered. |
| concat | Concatenates literals into a static string slice. |
| dbg | Prints and returns the value of a given expression for quick and dirty debugging. |
| debug_assert | Asserts that a boolean expression is true at runtime. |
| debug_assert_eq | Asserts that two expressions are equal to each other. |
| debug_assert_ne | Asserts that two expressions are not equal to each other. |
| env | Inspects an environment variable at compile time. |
| eprint | Prints to the standard error. |
| eprintln | Prints to the standard error, with a newline. |
| file | Expands to the file name in which it was invoked. |
| format | Creates a String using interpolation of runtime expressions. |
| format_args | Constructs parameters for the other string-formatting macros. |
| include | Parses a file as an expression or an item according to the context. |
| include_bytes | Includes a file as a reference to a byte array. |
| include_str | Includes a UTF-8 encoded file as a string. |
| is_x86_feature_detected | A macro to test at runtime whether a CPU feature is available on x86/x86-64 platforms. |
| line | Expands to the line number on which it was invoked. |
| matches | Returns whether the given expression matches any of the given patterns. |
| module_path | Expands to a string that represents the current module path. |
| option_env | Optionally inspects an environment variable at compile time. |
| panic | Panics the current thread. |
| Prints to the standard output. | |
| println | Prints to the standard output, with a newline. |
| stringify | Stringifies its arguments. |
| thread_local | Declare a new thread local storage key of type std::thread::LocalKey. |
| todo | Indicates unfinished code. |
| unimplemented | Indicates unimplemented code by panicking with a message of “not implemented”. |
| unreachable | Indicates unreachable code. |
| vec | Creates a Vec containing the arguments. |
| write | Writes formatted data into a buffer. |
| writeln | Write formatted data into a buffer, with a newline appended. |
仍在实验阶段的宏(Macros)
| asm | ExperimentalInline assembly. |
|---|---|
| concat_idents | ExperimentalConcatenates identifiers into one identifier. |
| format_args_nl | ExperimentalSame as format_args, but adds a newline in the end. |
| global_asm | ExperimentalModule-level inline assembly. |
| is_aarch64_feature_detected | ExperimentalPrevents compilation if is_aarch64_feature_detected is used somewhere else than aarch64 targets. |
| is_arm_feature_detected | ExperimentalPrevents compilation if is_arm_feature_detected is used somewhere else than ARM targets. |
| is_mips64_feature_detected | ExperimentalPrevents compilation if is_mips64_feature_detected is used somewhere else than MIPS64 targets. |
| is_mips_feature_detected | ExperimentalPrevents compilation if is_mips_feature_detected is used somewhere else than MIPS targets. |
| is_powerpc64_feature_detected | ExperimentalPrevents compilation if is_powerpc64_feature_detected is used somewhere else than PowerPC64 targets. |
| is_powerpc_feature_detected | ExperimentalPrevents compilation if is_powerpc_feature_detected is used somewhere else than PowerPC targets. |
| llvm_asm | ExperimentalLLVM-style inline assembly. |
| log_syntax | ExperimentalPrints passed tokens into the standard output. |
| trace_macros | ExperimentalEnables or disables tracing functionality used for debugging other macros. |
已弃用的宏(Macros)
| try | DeprecatedUnwraps a result or propagates its error. |
|---|---|
用到及常用的宏
println!()

