我正在尋找工具來簡化 Rust 的除錯。一種非常有用的工具是顯示給定型別的所有特征的所有功能的工具。理想情況下,這將是一個宏或函式,我可以將其插入到我的代碼中以幫助除錯。換句話說,在運行時(假設存在除錯符號),給定一個變數,我想顯示關于它的所有內容:它的屬性、值、特征以及每個特征的所有函式的串列等...
我想要一個宏或函式,它接受任何 Rust 型別并回傳一個字串,其中包含一個美化的特征樹和每個特征的所有函式名稱。
使用來自:https ://doc.rust-lang.org/rust-by-example/trait.html 的代碼
let mut dolly: Sheep = Animal::new("Dolly");
show_all_traits(dolly);
應該顯示:
Animal
fn new(name: &'static str) -> Self;
fn name(&self) -> &'static str;
fn noise(&self) -> &'static str;
fn talk(&self);
Sheep
fn is_naked(&self) -> bool;
fn shear(&mut self);
uj5u.com熱心網友回復:
這是不可能的(并且可能沒有編譯器固有的)是可能的。然而, cargo 生成的檔案包括Trait Implementations、Auto Trait Implementations和Blanket Implementations部分,它們將列出為給定型別實作的所有特征。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/515403.html
標籤:调试锈
上一篇:如何在保留圖層名稱的同時微調模型
