macro_rules! line { () => { ... }; }
扩展为在其上被调用的行号。
对于 column! 和 file!,这些宏为开发人员提供了有关源中位置的调试信息。
column!
file!
扩展表达式的类型为 u32,基于 1,因此每个文件的第一行求值为 1,第二行求值为 2,依此类推。 这与常见编译器或常用编辑器的错误消息一致。 返回的行必定是 notline! 调用本身的行,而是导致 line! 宏调用的第一个宏调用。
u32
line!
let current_line = line!(); println!("defined on line: {}", current_line);