Признайтесь, у вас бывало такое: навесили
#[derive(Serialize)] или сложный макрос из sqlx, получили странную ошибку компиляции и сидите в ступоре?Макросы это круто, но это черный ящик. Чтобы превратить его в прозрачный, поставьте cargo-expand.
cargo install cargo-expand
Запускаем:
cargo expand
И видите весь тот ужас (или красоту), который генерируется до того, как код попадет к компилятору. Это маст-хэв тулза при отладке
async трейтов (привет, async-trait крейт) и понимании того, как работает "магия" фреймворков типа Actix или Rocket.P.S. Только не пугайтесь, когда увидите, во что разворачивается
println!.#rust #tools #cargo #macro
📲 Мы в MAX
👉 @rust_lib