2023-01-25
本文は ChatGPT(gpt-3.5-turbo-1106) によって翻訳されました。
こんにちは、そして This Week in Rust の新しい号へようこそ! Rust は、誰もが信頼性の高い効率的なソフトウェアを構築できるようにするプログラミング言語です。 これはその進行状況とコミュニティの週間要約です。 何か取り上げてほしいことがありますか?Twitterの@ThisWeekInRustまたはmastodon.socialの@ThisWeekinRustでタグを付けてください、またはプルリクエストを送ってください。 参加したいですか?貢献を歓迎します。
This Week in Rust はGitHubでオープンに開発されています。 今週号に誤りがありましたら、PRを提出してください。
toml vs toml_edit自己提案をしてくれたDanyalMhさん、ありがとう!
常にオープンソースプロジェクトに貢献したかったけど、どこから始めればいいかわからなかったですか? 毎週、Rustコミュニティからいくつかのタスクをハイライトして、あなたが取り掛かることができるようにします!
もし、あなたがRustプロジェクトのオーナーであり、貢献者を探しているなら、タスクをこちらに提出してください。
Rustプロジェクトの更新情報
先週、378のプルリクエストが[マージされました][merged]
noundefを追加TypeId の順序実装を const 化s@self::{macro}@::macro を変更するように提案を出すCastError::NeedsDerefにMachineApplicableの提案を作成するimpl &Traitで発生したエラーのエラーメッセージを改善するderive(Debug)出力を単純化するselect_nth_unstable に heapsort フォールバックを追加Option<$NUM> タイプのために alloc::vec::IsZero を実装strict_provenance ポインターメソッドから T: Sized の制約を解除Arc を安全に破棄するための Arc::into_inner を追加Vacant および Occupied エントリにデフォルトのハッシャータイプを提供Either::as_pin_mut および Either::as_pin_ref を追加ReadyChunks 内のすべてのストリームに対して FusedStream を実装sparse-registry を安定化multiple_unsafe_ops_per_block リントを追加bool_assert_comparison の機械適用可能な提案を追加unnecessary_safety_comment での誤検知を修正transmutes_expressible_as_ptr_casts での提案を修正し、ソースタイプが借用の場合config.serverPath で vscode 変数を置き換えるconst_closures 構文の解析2023年01月26日 | オンライン (米国バージニア州シャーロッツビル) | Charlottesville Rust Meetup * Rust ライトニングトーク
2023年01月26日 | オンライン (ドイツ カールスルーエ) | The Karlsruhe Functional Programmers Meetup Group * Stammtisch (C++ UG KA と共同開催)
2023年01月26日 | オンライン (米国ワシントン州レドモンド、カリフォルニア州サンフランシスコ、米国ニューヨーク州ニューヨーク、スウェーデンストックホルム) | Microsoft Reactor Redmond、 Microsoft Reactor New York、 Microsoft Reactor San Francisco、 Microsoft Reactor Stockholm * Rust でコーディング面接問題解決 - Ep. 3 | ニューヨークミラー | サンフランシスコミラー | ストックホルムミラー
2023年01月27日 | オンライン (チュニジア チュニス) | Rust Meetup Tunisia * Rust Meetup Tunisia - Volume I, Number I
2023年01月30日 | オンライン (米国ワシントン州レドモンド、米国ニューヨーク州ニューヨーク、カリフォルニア州サンフランシスコ) | Microsoft Reactor Redmond、 Microsoft Reactor New York、 Microsoft Reactor San Francisco * Rust についての初歩 - Rust におけるエラーハンドリング | ニューヨークミラー | サンフランシスコミラー
2023年01月31日 | オンライン (ドイツ ベルリン) | OpenTechSchool Berlin * Rust ハックアンドラーン
2023年01月31日 | オンライン (米国テキサス州ダラス) | Dallas Rust * ラストチューズデー
2023年01月31日 | オンライン (米国ワシントン州レドモンド、米国ニューヨーク州ニューヨーク、カリフォルニア州サンフランシスコ) | Microsoft Reactor Redmond、 Microsoft Reactor New York、 Microsoft Reactor San Francisco * Rust についての初歩 - Rust がメモリを管理する方法の理解 | ニューヨークミラー | サンフランシスコミラー
2023年02月01日 | オンライン (英国カーディフ) | Rust and C++ Cardiff * 新年バーチャル交流会 + 共有
2023年02月01日 | オンライン (米国インディアナ州インディアナポリス) | Indy Rust * Indy.rs - ソーシャルディスタンス対応
2023年02月01日 | オンライン (米国ワシントン州レドモンド、米国ニューヨーク州ニューヨーク、カリフォルニア州サンフランシスコ) | Microsoft Reactor Redmond、 Microsoft Reactor New York、 Microsoft Reactor San Francisco * Rust についての初歩:QA とコミュニティ時間 | ニューヨークミラー | サンフランシスコミラー
2023年02月01日 | オンライン (ドイツ シュトゥットガルト) | Rust Community Stuttgart * Rust-Meetup
2023年02月06日 | オンライン (米国ワシントン州レドモンド、米国ニューヨーク州ニューヨーク、カリフォルニア州サンフランシスコ) | Microsoft Reactor Redmond、 Microsoft Reactor New York、 Microsoft Reactor San Francisco * Rust についての初歩 - ジェネリックな型と特性の実装 | ニューヨークミラー | サンフランシスコミラー
2023年02月07日 | オンライン (中国北京) | WebAssembly and Rust Meetup (Rustlang) * WebAssembly コミュニティミーティング(CNCF sandbox WebAssemblyランタイムWasmEdge)
2023年02月07日 | オンライン (米国ニューヨーク州バッファロー) | Buffalo Rust Meetup * バッファロー Rust ユーザーグループ、毎月第1火曜日
2023年02月07日 | オンライン (米国ワシントン州レドモンド、米国ニューヨーク州ニューヨーク、カリフォルニア州サンフランシスコ) | Microsoft Reactor Redmond、 Microsoft Reactor New York、 Microsoft Reactor San Francisco * Rust についての初歩 - モジュール、パッケージ、サードパーティコンテナ | ニューヨークミラー | サンフランシスコミラー
2023年02月08日 | オンライン (米国ワシントン州レドモンド、米国ニューヨーク州ニューヨーク、カリフォルニア州サンフランシスコ) | Microsoft Reactor Redmond、 Microsoft Rector New York、 Microsoft Reactor San Francisco * Rust についての初歩:QA とコミュニティ時間 | ニューヨークミラー | サンフランシスコミラー
2023年02月11日 | オンライン | Rust GameDev * Rust GameDev 月次ミーティング
2023年02月13日 | オンライン (米国ワシントン州レドモンド、米国ニューヨーク州ニューヨーク、カリフォルニア州サンフランシスコ) | Microsoft Reactor Redmond、 Microsoft Rector New York、 Microsoft Reactor San Francisco * Rust についての初歩 - 自動化テストの書き方 | ニューヨークミラー | サンフランシスコミラー
2023年02月14日 | オンライン (ドイツ ベルリン) | OpenTechSchool Berlin * Rust ハックアンドラーン
2023年02月14日 | オンライン (米国ワシントン州レドモンド、米国ニューヨーク州ニューヨーク、カリフォルニア州サンフランシスコ) | Microsoft Reactor Redmond、 Microsoft Rector New York、 Microsoft Reactor San Francisco * Rust についての初歩 - コマンドラインでの ToDos プログラムの作成 | サンフランシスコミラー | ニューヨークミラー
2023年02月14日 | オンライン (ドイツ ザーブリュッケン) | Rust-Saar * ミートアップ:26u16
2023年02月15日 | オンライン (米国ワシントン州レドモンド、米国ニューヨーク州ニューヨーク、カリフォルニア州サンフランシスコ、ブラジルサンパウロ) | Microsoft Reactor Redmond、 Microsoft Rector New York、 Microsoft Reactor San Francisco、 Microsoft Reactor São Paulo * Rust についての初歩 - QA とコミュニティ時間 | サンフランシスコミラー | ニューヨークミラー | サンパウロミラー
2023年02月15日 | オンライン (カナダブリティッシュコロンビア州バンクーバー) | Vancouver Rust * [**Rust スタディ/ハック/交流会
Rustイベントを開催している場合、[カレンダー]に追加して、ここで言及されるようにしてください。イベントへのリンクも追加することをお忘れなく。アクセス権を取得するにはRust Community Teamにメールしてください。
最新の r/rustのWho's Hiringスレッドをご覧ください。
Rustは、代表的な関数型言語が示唆するような不変な機能とは異なり、命令型言語においても型システムを分離論理の手段として使用できることを証明しました。Rustは、言語があなたを助ける型システムを定義することや、その中で健全性の基本的な特性を表現できるようにすることによってこれを達成しました。
- メモリアクセスの健全性要件: ライフタイム
- 値セマンティクスを持つ参照の健全性要件:
&/&mut _- リソースの健全性要件:
CopyとDrop- 論理が単調であることを確認する: 継承ではなくトレイト、特殊化の欠如(そう、それは特性です)。
- (注目すべき欠落点: 依存型がない; 明らかに '必要ではない' が、役立つ可能性があると思います。ただし、研究は進行中です。用心するのは良いことです)
これにより、標準ライブラリは関連するすべての要件を型としてエンコードできます。それをどこでも行うことが健全性の特性です: 安全な関数にはパラメータ型の合計を超える要件はありませんが、
unsafe関数にはあります。新しいことや特別なことは何もありません。Rustの健全性概念を特別にするものではありません。
分離論理による数学的推論を基にすることにより、健全性の解析がプログラム全体の解析を必要とするのではなく、局所的に行うことができるようになりました。これが実用的になる要素です。Rustはこれをかなり成功裏に、そして原則に忠実に達成しましたが、単一の革新的なことは何もしていません。これは過去10年間の型システム研究の良い部分の合計です。おそらくこれが人々がそれを『健全性の定義』と呼ぶ理由であり、実用的な型システムが証明チェッカーとして動作することを学んだ、ということを興味深く述べています。
提案してくれた Stephan Sokolow に感謝します!
今週の Rust は編集されました by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
メールリストのホスティングは The Rust Foundation が提供しています