2024-01-24
本文由 ChatGPT(gpt-4-1106-preview) 翻譯。
您好,歡迎閱讀本週的 Rust! Rust 是一種程式語言,賦予所有人建立可靠與高效軟件的能力。 這是其進展和社群的每週摘要。 想要提及什麼?在 Twitter 上標記我們 @ThisWeekInRust 或在 mastodon.social 上標記 @ThisWeekinRust,或者發送一個推送請求(Pull Request)給我們。 想參與進來嗎?我們愛貢獻者。
本週的 Rust 是在 GitHub 上公開開發的,你可以在 this-week-in-rust.org 查看存檔。 如果您發現本週刊中有任何錯誤,請提交一個 PR。
mem::take 減少堆分配本週的 crate 是 apistos,這是一個 OpenAPI 文件工具。
感謝 Romain Lebran 自我推薦!
總是想要為開源項目貢獻自己的一份力,但不知道從何下手? 我們每週會為您精選一些 Rust 社區的任務,您可以挑選其中之一並開始參與!
這些任務中的一些可能還有導師可供咨詢,請訪問任務頁面以獲取更多信息。
SqlxDatabase 實例如果您是 Rust 項目的擁有者並且正在尋找貢獻者,請在此處提交任務。
您是一位經驗豐富或剛入門的講者,正在尋找一個機會分享一些酷炫的事物嗎?本節會強調正在計劃中的活動,並接受提交加入其活動作為講者的申請。
如果您是活動組織者並希望擴大活動的影響範圍,請通過向 TWiR 發送 PR 提交您的提交網站鏈接。
上上週合併了453個拉取請求
HashMap/HashSet:傳遞迭代器的 fold 實現dead_code 會像對待 #[repr(C)] 一樣對待 #[repr(transparent)]fix(rust-analyzer):使用新的 pkgid 規範進行比較large_assignments:Lint 會特別標記傳遞給函數的特定大型參數maybe_lint_impl_trait:將 is_downgradable 與 is_object_safe 分離never_patterns:將 ! 綁定視為發散never_patterns:檢查永不模式的類型pat_analysis:不要在 Rust 外部依賴連續的 VariantIdpattern_analysis:移除 Ty: Copy 界限proc_macro:增加 Literal::c_string 建構式single_use_lifetimes:不建議刪除帶有界限的生命周期#[track_caller]Ipv6Addr::is_ipv4_mapped 方法PatKind::ErrSMIR: 確保剩餘的 "私有" 欄位真的是私有 這些是Rust程式語言儲存庫中合併的一些Pull Requests(PR)以及它們的標題翻譯成繁體中文:
在MIR跳轉線程中使用解釋器(#119461)
在MIR借用檢查中使用暗示範疇相容模式(#120123)
在MIR中驗證AggregateKind類型(#120137)
在DSE之間夾送MIR優化(#119672)
緩存本地DefId鍵查詢而不進行哈希處理(#119977)
在編譯器中打包u128以緩和新的對齊(#120080)
使用UnhashMap對更多映射進行操作(#120076)
在GVN中摺疊算術身份(#119670)
在const-eval中優化大型陣列創建(#120069)
在更多適配器上實作迭代器專業化特徵(#85528)
EscapeAscii 的 Display 和 CStr 的 Debug 表現bound_mapround_ties_evenslice_first_last_chunkoffset_of!split_at{,_mut}_checkediter::repeat_n(A)Rc::from_box_in 中修復錯誤分配器的內存釋放問題{slice,Iterator}::is_sorted_by 比較閉包的返回值中使用 bool 替代 PartialOrdInput::new 對不正確的 AsRef 實現進行保護values()generated_marker_line_search_limitblocks_in_conditions:如果條件來自宏,則不發出警告default_numeric_fallback:改善常量上下文檢測no_effect_underscore_binding:_ 前綴的變量可以被使用unused_io_amount 捕獲 Ok(_)suspicious_open_options 警示trait_duplication_in_bounds 警示中正確處理類型相關non_exhaustive 屬性,則不發出 derive_partial_eq_without_eq 警示semicolon_if_nothing_returned 上的假陽性問題(FP)multiple_crate_versions 以正確地標準化套件名稱,避免錯過本地版本no_effect_underscore_binding 的警告範圍single_call_fn lint 中尊重 #[allow] 屬性arc_with_non_send_sync lint 描述中的用詞,並修正無效的連結use_tree_list 解析新增錯誤恢復功能enum 變體中提取 struct 時的恐慌錯誤SelfParamfor 結構包含在轉換至受保護返回條件中OUT_DIRvalue_ty 查詢變得可失敗macro_rules 作為宏名稱2024年1月24日至2024年2月21日期間的Rusty活動 🦀
以上是針對 Rust 語言愛好者在歐洲幾個重要城市的聚會和會議資訊。如果您對 Rust 開發有興趣,並且會在這些城市附近,您不妨可以參與這些活動。
如果您正在舉辦一個 Rust 活動,請加入到日曆中,這樣就可以在這裡提到您的活動。請記得加上活動的鏈接。如果需要訪問權限,請給Rust 社區團隊發送電子郵件。
請查閱最新的 r/rust 上的誰在招募串。
語言的功能性 ML根源,Graydon 的第一個 Rust 編譯器是用 OCaml 寫的,從一開始就影響着它。
它不是 "更好的 C++"。
它是站在 Lisp 肩膀上的 Haskell,偽裝成 C 的外套悄悄溜進 PRDCTN。(所有受歡迎的語言都會聚集的時髦夜店)
– tris 在他的 "No Boilerplate" Youtube 頻道
感謝 PrototypeNM1 的建議!
本週在 Rust 是由以下編輯編纂的:nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
電子郵件列表由 The Rust Foundation 贊助