Avatar ·

Wie kann man ein expandiertes Makro anzeigen, das einen Kompilierungsfehler in Rust verursacht?

Ich bin neu in Rust und versuche, Makros zur Codegenerierung zu verwenden. Ich habe die beliebte Crate `serde` genommen und folgenden Code geschrieben: ```rust use serde::{Serialize, Deserialize}; #[derive(Serialize, Deserialize)] struct User { name: String, age: u32, email: String, } fn main() { let user = User { name: "Alice".to_string(), age: 30, email: "alice@example.com".to_string(), }; let json = serde_json::to_string(&user).unwrap(); println!("{}", json); } ``` Es funktioniert alles. Aber als ich versuchte, mein eigenes Makro für die automatische Trait-Implementierung zu schreiben: ```rust macro_rules! impl_display { ($type:ty, $format:expr) => { impl std::fmt::Display for $type { fn fmt(&self, f: &mut std::fmt::Formatte