2023-09-20
本文由 ChatGPT(gpt-4-1106-preview) 翻譯。
您好,歡迎閱讀Rust 本週要聞的又一期內容! Rust 是一種程式語言,它賦予所有人構建可靠且高效的軟體的能力。 這是其進展和社群的每週摘要。 想在本刊物上看到什麼內容?請在 Twitter 上標記我們的帳號 @ThisWeekInRust,或在 mastodon.social 上標記 @ThisWeekinRust,或者發送我們一個拉請求(PR)。 想要參與進來嗎?我們熱愛貢獻。
Rust 本週要聞 是在 GitHub 上公開開發的,歷史檔案可以在這週-in-rust.org 網站上查看。 如果您在本週的刊物中發現任何錯誤,請提交一個 PR。
String 類型本週介紹的 crate 是 RustQuant,這是一個用於量化金融的 crate。
感謝 avhz 自行推薦!
一直想參與開源項目,但不知從何下手嗎? 每週我們會從 Rust 社群精選一些任務供您選擇,開始您的貢獻之旅!
其中一些任務可能還有導師提供協助,詳細資料請訪問任務頁面。
ockam_app 的建置設為特性標誌的選項如果您是 Rust 項目的擁有者,並且正在尋找貢獻者,請在此處提交任務。
在上週有 342 個 pull 請求被合併。
#[diagnostic::on_unimplemented] without filters:不帶篩選器的 #[diagnostic::on_unimplemented]。repr(transparent): it's fine if the one non-1-ZST field is a ZST:repr(transparent) 表示如果唯一的非 1-ZST 字段是 ZST 的話也是可以的。explicit_predicates_of to SMIR:在 SMIR 中新增 explicit_predicates_of。i686-pc-windows-gnullvm 三元組reachable_set 快取到磁碟unsafe_op_in_unsafe_fn 預設警告級別改為 warnty::Constsocketpair 功能rustc -Zlsstd::primitive 文件:將 homogenous 改為 homogeneous#![feature(no_coverage)] 的錯誤訊息PadAdapter::write_char.rmeta 檔案在 dep-info 中有正確的名稱(lib 前綴)ty::Const 的偵錯列印不那麼詳細useless_ptr_null_checks 在某些標準函式中更聰明required_consts 檢查移至一般的後單一檢查函式中HasTypeFlagsVisitor 中妥善考慮綁定器變數verbose_generic_activity_with_argno_coverage 重作為 coverage(off)ExprField 以進行 lint 層級Saturating 類型
這些連結指向了幾項Rust程式語言和其套件管理器Cargo的源代碼回顧和變更:const_transmute_copy的穩定化:這項變更將const_transmute_copy功能標記為穩定,意味著它將被納入Rust語言的穩定功能集中,允許在編譯時執行transmute_copy操作。
ascii::Char的Debug實現現與char相匹配:此拉取請求使ascii::Char類型的Debug實現方式與標準字符類型char一致。
core::cmp中新增的minmax{,_by,_by_key}函式:這項功能為核心比較模組增加了新的函式,允許同時計算最小值和最大值。
專門化範圍迭代器的計數:這項變更提高了在範圍迭代器上使用計數方法時的效能。
為IP地址實現Step特征:允許IP地址類型參與範圍運算,這項改進提供了在IP地址上進行範圍迭代的功能。
新增thread::sleep_until實現:這添加了一個新函式,允許執行緒暫停直至特定的時間點。
cargo: cli: 加入'-n'做為乾運行(dry-run)選項:在cargo命令列介面中增加了一個新選項,用於在不實際執行任何操作的前提下,預覽將要執行的動作。
cargo: pkgid: 允許版本不完整時無歧義的情況下使用:當版本資訊足夠使得沒有其他相同的套件時,這個變更允許使用者指定不完整的版本號。
cargo: doc: 為split-debuginfo的默認值做區分:這個變更為Cargo的文檔命令提供了更精確的關於split-debuginfo設定的默認值資訊。
cargo: 穩定化credential-process和registry-auth:這標記了credential-process和registry-auth功能的穩定化,這影響了存取私有crate存儲庫和設定身份驗證機制的方式。
這些提案反映了Rust社區持續對語言和工具進行的改進和瑣碎的增強。它們專注於改進開發人員體驗、增加可靠性、提供新的實用功能以及性能最佳化。
credential-alias 遮蔽發出警告RegistryOrIndex enum 替代兩個布林值#[doc(hidden)] 函數extra_unused_type_parameters:修正 where 界限中參數的邊緣案例 FPfilter_map_bool_then: 包含從調整中的多重解引用len_without_is_empty: 跟隨類型別名找到內在的 is_empty 方法used_underscore_bindings: 尊重綁定定義時的 lint 等級useless_conversion: 如果類型參數對 .into_iter() 接收者有不滿足的界限則不進行 lintlet_unit_value 的假陽性問題u64::try_from(<u128>) 導致的內部編譯器錯誤transmute_null_to_fnfilter_map_bool_then 當涉及布林值引用時的問題collect_ast_format_args/find_format_args 中忽略 span 的父元素redundant_as_str lintbyref 檢查unnecessary_map_on_constructor lintpath_ends_with_extneedless_borrow 拆分成兩個 lint"above_whole_item" 導致的 lens 故障2023-09-20 至 2023-10-18 之間的 Rusty 活動 🦀
如果你正在舉辦一個Rust活動,請將它新增到日曆中以便在此提及。請記得新增活動連結。 如需取得權限,請向Rust社群團隊發送電子郵件。
請查看最新的 r/rust 上的 Who's Hiring 討論串
這是我學過的第一種程式語言,讓編寫測試案例如此簡單!實際建立測試案例成為一種樂趣。
感謝 Moy2010 的建議!
《本週在 Rust》由以下編輯:nellshamrell、llogiq、cdmistman、ericseppanen、extrawurst、andrewpollack、U007D、kolharsam、joelmarcey、mariannegoldin、bennyvasquez。
電子郵件列表主辦是由 The Rust Foundation 贊助。