文檔列表見:Rust 移動端跨平臺複雜圖形渲染項目開發系列總結(目錄) git
沒這個功能很不方便日誌記錄。github
RFC: Add "function name macro" 四年前提出經過 function!
提供相似C/C++編譯器提供的__func__
宏定義同樣的功能,目前已合併,但還不可用。post
Equivalent of func or FUNCTION in Rust? 提供了一個臨時解決辦法:ui
#![feature(core_intrinsics)]
macro_rules! function {
() => {{
fn f() {}
fn type_name_of<T>(_: T) -> &'static str {
extern crate core;
unsafe { core::intrinsics::type_name::<T>() }
}
let name = type_name_of(f);
&name[6..name.len() - 4]
}}
}
pub fn main() {
(|| {
mod module {
pub trait Trait {
fn function(&self) {
println!("{} (in {} [{}:{}:{}])",
function!(), module_path!(), file!(), line!(), column!()
);
}
}
impl Trait for () {}
}
module::Trait::function(&());
})()
}
複製代碼