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.
print 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!()

image.png