2023-07-05
本文は ChatGPT(gpt-4-1106-preview) によって翻訳されました。
こんにちは、そしてRustウィークリーの別号へようこそ! Rustは、信頼性と効率性の高いソフトウェアを誰もが構築できるプログラミング言語です。 これはその進捗とコミュニティの週間サマリーです。 何かを取り上げて欲しいですか?Twitterの@ThisWeekInRustまたはmastodon.socialの@ThisWeekinRustでタグ付けをするか、プルリクエストを送ってください。 参加を希望しますか?貢献を歓迎します。
RustウィークリーはGitHubで公開開発されています。アーカイブはthis-week-in-rust.orgで閲覧可能です。 今週の号に誤りを発見した場合は、PRを送信してください。
今週のクレートは、シンプルなファイルアップロード/ペーストビンサービスであるrustypasteです。
自己推薦してくれたorhunさんに感謝します!
オープンソースプロジェクトに貢献したいけど、どう始めたらいいかわからないと思っていませんか? 毎週、Rust コミュニティからいくつかのタスクをピックアップして、あなたがスタートできるように紹介しています!
これらのタスクの中には、メンターが利用可能なものもあります。詳細についてはタスクのページをご覧ください。
ockam credential issue コマンドの Identity を IdentityIdentifier に変更するockam project enroll のバックグラウンドノードを利用するockam project ticket が適切なエラーメッセージを返すべきloopcrashbackoff ポッドを可能なターゲットとして表示するRust プロジェクトのオーナーで貢献者を探している方は、こちらへタスクを投稿してください。
fix(resolve): NonModuleがダミーのときにアサーション判断をスキップthir:Become式の種類を追加-Zremark-dirを追加するin_operand()にConstKind::Value(_)のチェックを追加するnextに対するより良いメッセージを提供するmoveを提案しないDefKind::ImplTraitPlaceholderのアイテム境界をエンコードするrustc_mir_dataflowでAnalysisResultsトレイトをエクスポートdropping_copy_typesのLintをしてしまう問題を修正e_flagsが設定されていない問題を修正proc_macro_spanの提案されたAPIを実装Elaboratableトレイトがクローズを取るようにするvariances_ofを適切に実装するmem::swap(&mut x[0], &mut x[1])のborrowckエラーに対してslice::swapの提案をするfor<'a>について伝える際に構造化された提案を使用するinline(always)としてマークするsimd_shuffle_indicesをvaltreesを使うようにするUnwindAction::Continueを明示的にする--quietオプションが実際に機能するようにするUniqueに対するオプショナルセマンティクスfn_abiのエラーバリアントを縮小#[cold]属性のサポートを追加Box同士の比較を許可rustc_on_unimplementedをstd非依存にするconst_cstr_methodsの安定化single_line_let_else_max_width を実装manual_try_foldneedless_raw_string_hashesredundant_at_rest_pattern
以下は、Rustプログラミング言語の静的解析ツールであるClippyについてのいくつかのプルリクエストのタイトルと簡単な説明です。これらはClippyの改善に関する最近のコミットの例を表しています。clippy: tuple_array_conversionsについてのPull Request - タプルと配列の変換に関するリントの追加や変更に関するPull Request。
clippy: manual_range_patternsについてのPull Request - 手動での範囲パターンを使用したときにリントする機能を追加するPull Request。
clippy: type_id_on_boxについてのPull Request - Box型を使用してtype_idを呼ぶことに対するリントを追加するPull Request。
clippy: needless_pub_self, pub_with_shorthand そして pub_without_shorthandについてのPull Request - いくつかの不要な公開化(pub)や短縮形としての公開に関するリントを追加するPull Request。
clippy: significant_drop_tighteningについての修正: 誤った提案を直す - ドロップを厳格にするリントで間違った提案をするバグを修正するPull Request。
clippy: arc_with_non_send_sync: ネストした型パラメータがある場合はLintしない - Send, Syncトレイトを実装していない型パラメータがネストしている場合にArcに対するリントを行わない様にするPull Request。
clippy: let_and_return: 'static ライフタイムをLintし、クロージャ内の借用はLintしない - letしてすぐreturnするコードパターンにおいて、'staticライフタイムを持つものを対象にリントするが、クロージャ内での借用にはリントを適用しないことにするPull Request。
clippy: missing_fields_in_debug: self型がADT(代数データ型)であることを確認する - Debug実装において、全てのフィールドが含まれていない場合にリントするが、self型がADTでなければリント対象外とするPull Request。
clippy: needless_raw_string_hashes: 引用符の後にハッシュが続かない場合のみハッシュをリセットする - 生文字列(生の文字列リテラル)の冗長なハッシュ記号に対するリントで、規約に従っていない場合のみハッシュをリセットするようにするPull Request。
clippy: option_if_let_else: スクルーティネが型 &Option<_> の場合に .as_ref() の使用を提案する - if let else構文を使用してOptionを分岐処理する際、対象が参照型のOptionの場合は.as_ref()メソッドの使用を提案するPull Request。
以下は、Rustの静的解析ツールであるClippyと、Rust言語サーバーのRust Analyzerに関連するいくつかの作業アイテムのリストです。各項目は、GitHubでのプルリクエスト(PR)へのリンクとその概要を含んでいます。
Clippy: question_mark: tryブロック内部でのlintを行わないようにしました。(https://github.com/rust-lang/rust-clippy/pull/11001)
Clippy: unused_async: 関数がトレイトの一部であれば、lintを行わないようにしました。(https://github.com/rust-lang/rust-clippy/pull/11042)
Clippy: useless_vec: テストをより多く追加し、マクロ内部ではlintを行わないようにしました。(https://github.com/rust-lang/rust-clippy/pull/11094)
Clippy: useless_vec: 初期化子のソーススパンを使用するようにしました。(https://github.com/rust-lang/rust-clippy/pull/11081)
Clippy: manual_let_elseについて、?が使えるケースではlintを行わないようにしました。(https://github.com/rust-lang/rust-clippy/pull/10924)
Clippy: 8つのlintに対して、外部マクロからのコードはlintを行わないようにしました。(https://github.com/rust-lang/rust-clippy/pull/11009)
Clippy: eq_opで.is_nan()を提案するようにしました。(https://github.com/rust-lang/rust-clippy/pull/11051)
Clippy: map().unwrapの代わりにis_some_andを提案するようにしました。(https://github.com/rust-lang/rust-clippy/pull/11030)
Rust Analyzer: Workspace Edit ResourceOpsのチェックを行いました。(https://github.com/rust-lang/rust-analyzer/pull/15101)
Rust Analyzer: ホストと異なるポインタサイズのターゲットに対しては、mirインタープリタを無効にしました。(https://github.com/rust-lang/rust-analyzer/pull/15184) 以下は、rust-analyzerに関連するいくつかのプルリクエストについての簡単な日本語の説明です。
rust-analyzer: editor/code: noImplicitOverride TypeScriptオプションを有効にする (#15159)
noImplicitOverrideオプションを有効にして、明示的なオーバーライドが必要になるようにします。rust-analyzer: editor/code: 型チェックルールを定義するために@tsconfig/strictestを使用する (#15154)
@tsconfig/strictest設定をエディターコードで使用します。rust-analyzer: デフォルトでエラージャンプリストにパニックを追加しない (#15186)
rust-analyzer: ブロックモジュール内のselfおよびsuperパス解決の修正 (#15148)
self、superキーワードの解決を修正します。rust-analyzer: ネストされたサイズ未定義の構造体への参照のデータレイアウトを修正する (#15173)
rust-analyzer: SIMD型のレイアウトを修正し、MIRインタプリターでアラインメントを尊重する (#15194)
rust-analyzer: シフト演算子でのオーバーフロー検査の修正 (#15189)
rust-analyzer: handle_code_actionでのパニック修正 (#15177)
handle_code_action関数内のパニックを引き起こす問題を修正します。rust-analyzer: より少ない量を確保する際のrealloc問題を修正する (#15168)
rust-analyzer: #[tokio::test]用の実行可能検出の修正 (#15157)
#[tokio::test]アトリビュートを持つテスト関数に対する実行可能検出のバグを修正します。#[derive_const(Trait)] のサポート2023年7月5日から2023年8月2日までのRustyイベント 🦀
(ここでは具体的なイベント情報が提供されていないため、それらのリストや詳細は提供できません。Rust関連のイベントをリストする必要がある場合は、具体的なイベント名や場所などの詳細を提供してください。)
もしRustのイベントを開催している場合は、カレンダーに追加して、こちらで言及されるようにしてください。イベントへのリンクも忘れずに追加してください。 アクセスするためには、Rustコミュニティチームにメールしてください。
最新の職員募集についてはr/rustの「Who's Hiring」スレッドをご覧ください。
Rustが最高の言語だなんてここで言うつもりはありません……それはもうお分かりいただけているはずです。
提案してくれたnewpavlovに感謝します!
This Week in Rustは以下の編集者によって編集されています: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
メールリストホスティングはThe Rust Foundationが支援しています。