rust-compiler-plugin

    1熱度

    1回答

    我想要生成一個使用結構字段作爲關鍵字的HashMap,並使用usize整數作爲值。 pub struct Article { title: String, content: String, category: String, comments: Vec<Comment> } pub struct Comment { content: Stri

    3熱度

    1回答

    宏可以做什麼,編譯器插件不能,反之亦然? 「不能」,我的意思是不可能達到相同的目的,並不是說它可以以不同的方式實現。 例如,一個宏可以impl一些結構特徵,編譯器插件可以derive結構的一些特徵。它們都可以自動impl一個結構的特徵。

    3熱度

    1回答

    我注意到編譯插件經常提供文檔甚至不提及的宏。它們以編程方式註冊和創建,而不是在rustdoc識別的語法中定義。當然,沒有文檔可以顯示。 我正在尋找一種方法來解決這個問題,一些生成文檔的方法在編譯時並不存在於箱子中。 我注意到語法箱子也可以從這樣的事情中受益。例如,quote_item完全沒有記錄。我甚至找不到註冊它的代碼。

    4熱度

    1回答

    Rust Regex crate提供了regex!語法擴展,從而可以在標準編譯時編譯正則表達式。這是在兩個方面良好: 我們並不需要運行時(更好的方案性能)時做這項工作 如果我們的正則表達式的格式不正確,編譯器可以在編譯過程中告訴我們,而不是觸發運行恐慌 不幸的是,該文件說: 警告:的regex!編譯器插件是magnitu的訂單de比正常的Regex::new(...)用法慢。除非有特別的理由,否則

    5熱度

    1回答

    我想構建一個擴展屬性到調用的語法擴展。之前: #[flame] fn flamed() { .. } 後: fn flamed() { flame::start_guard("flamed"); .. } 這已經works。但是,如果我在箱子級別具有#[flame]屬性(如#![flame]),我也希望它能夠工作。這是可能的,如果是這樣,如何?