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