2023-06-14
本文由 ChatGPT(gpt-4-1106-preview) 翻譯。
哈囉,歡迎閱讀《Rust 本週進展》的又一期內容! Rust 是一種讓每個人都能構建可靠且高效軟件的編程語言。 這是它進展和社區動態的每週摘要。 想要在這裡提及某些內容嗎?在 Twitter 上標記我們 @ThisWeekInRust,或在 mastodon.social 上標記 @ThisWeekinRust,或者發送我們一個 pull request。 想要參與貢獻嗎?我們鼓勵大家貢獻。
《Rust 本週進展》是在 GitHub 上公開開發的,並且可以在 this-week-in-rust.org 瀏覽檔案。 如果您在本週的內容中發現任何錯誤,請提交一個 PR。
本週的 crate 是 mailtutan,一個模擬 SMTP 伺服器的程式庫。
特別感謝 Mohsen Alizadeh 自薦這個 crate!
一直想要為開源項目貢獻,但不知道從何開始? 我們每週都會從 Rust 社區中突顯一些任務,供您選擇並開始投入!
其中一些任務可能也有導師可供諮詢,請訪問任務頁面以獲取更多資訊。
credential 命令如果您是 Rust 項目所有者且正在尋找貢獻者,請在[此處][guidelines]提交任務。
#![cfg(FALSE)] 在 crate 的根目錄行為task::Waker::noopwindows_sys 類型定義<3.6 添加棄用警告loongarch64-unknown-none*hidden_glob_reexports 的範圍標籤#![doc(test(...)] 使用時發生內部編譯錯誤 (ICE)--cpu-features 為空時避免傳遞該參數extern "C" 和 thread_local::fast_local 之間進行展開 (unwind)fix_*_builtin_expr 黑客操作make_query 時不要持有活動查詢鎖struct 構造器缺失字段錯誤中不要提及已設置的字段&mut self 時,不要建議更改函數簽名中的 &self 和 &mut self 為可變opt_suggest_box_span 範圍unused_delims 中關鍵字之後插入空格.. 在兩端的建議render_tests::Renderer 中實現標準輸出串流rust-gdbOption::as_deref 的建議pub extern crate 發出缺少文件的警告cfg 而被忽略的項目的名稱,以便在診斷中提及它們rustc_incremental 中移除透過 HashMap/HashSet 的迭代使用,並以 IndexMap/IndexSet 替換scrape_region_constraints 結果中解析變量RUST_BACKTRACE 設定對延後錯誤進行尊重check_pat_lit 中結構化地解析指向的對象ptr::null 給一個預期 ptr::null_mut 的函數時,建議使用 ptr::null_mutclippy::cmp_nan lintclippy::undropped_manually_drops lintload + store 而非 memcpy- ,則寫入到標準輸出offset_of!() 中支援類浮點數組索引gix v0.45 以進行多輪包協商rustdoc: 在型別別名上列出相符的impls(實現)
rustdoc: 使用 [] 搜尋切片(slices)和陣列(arrays)的型別
rustfmt: 在屬性(attrs)和泛型參數(generic param)之間恢復註解
rustfmt: 移除rustc-workspace-hack
clippy: 新的lints(程式碼檢查規則):
excessive_nesting 過度嵌套
needless_if 不必要的if
unnecessary_literal_unwrap 不必要的直接字面值展開
redundant type annotations 多餘的型別標註
arc_with_non_send_or_sync 與非Send或Sync的Arc
這些項目主要涉及到Rust文檔工具(rustdoc)、程式碼格式化工具(rustfmt)以及程式碼品質檢查工具(clippy)。這顯示了Rust生態系統工具的不斷改進和擴展。 以下是對這些 Rust Clippy 提交的翻譯和簡介:
min_ident_chars:這是一個提案,旨在設立一個最小識別符號字元的限制,以提醒開發者避免使用過於簡短的名稱。
large_stack_frames:這個提交旨在識別並警告可能會導致大堆疊幀的代碼。
clippy: let_with_type_underscore: Don't emit on locals from procedural macros: Clippy 不應該對來自程序宏的局部變量進行 let_with_type_underscore 檢查。
clippy: missing_fields_in_debug: don't ICE when self type is a generic param: 修復了當自身類型是泛型參數時,missing_fields_in_debug 會導致內部編譯器錯誤(ICE)的問題。
clippy: redundant_closure: special case inclusive ranges: 對於包含範圍的特殊情況,改進了 redundant_closure 的檢查。
clippy: suspicious_else_formatting: Don't warn if there is a comment between else and curly bracket: 如果在 else 和大括號之間有註解,則不應該發出 suspicious_else_formatting 警告。
clippy: type_repetition_in_bounds: Don't lint on derived code: 在衍生代碼中,不應該進行 type_repetition_in_bounds 的檢查。
clippy: unnecessary_to_owned: check that the adjusted type matches target: 檢查經過調整的類型是否與目標匹配,以防 unnecessary_to_owned 的不必要使用。
clippy: useless_vec: lint vec! invocations when a slice or an array would do: 當可以使用切片或數組時,對 vec! 的調用進行 lint 檢查,避免無用的 vec! 使用。
clippy: useless_vec: lint on vec![_] invocations that adjust to a slice: 對那些可以調整為切片的 vec![_] 調用進行 lint 檢查,進一步減少不必要的 vec! 使用。
format_args 擴充功能中的恐慌錯誤generate_function 中推導出異步函數的返回類型2023 年 6 月 14 日至 2023 年 7 月 12 日之間的 Rust 活動 🦀
(如需具體事件的詳情,請補充該時間範圍內您感興趣的 Rust 活動或會議的具體信息。)
如果您正在舉行一個Rust活動,請將其添加到日曆中,以便在此提及。請記得添加活動的鏈接。 如果需要進入權限,請給Rust社群團隊發送電郵。
欲了解最新資訊,請參閱 Reddit 上 r/rust 的 最新招聘主題。
唉,因為缺少建議,這週沒有名言錄。
《Rust 本週》由以下編輯:nellshamrell、llogiq、cdmistman、ericseppanen、extrawurst、andrewpollack、U007D、kolharsam、joelmarcey、mariannegoldin、bennyvasquez。
電子郵件列表主辦由 The Rust Foundation 贊助。