Rust更新履歴

本セクションではRustツールチェーンのこれまでの変更点のうちSOLIDターゲットに影響するものを抜粋して示します。

一般的な変更点の概略に関してはRust公式リリースノートをご覧下さい。ただし、公式リリースノートはstableチャンネルのバージョンに基づいているため、nightlyチャンネルと比べると数週間の遅れがあります。

nightly-2022-10-30

Rust 1.66.0のベースバージョン

nightly-2022-10-25

  • PR #103005: std::fs::ReadDirSOLID_FS_ReadDir() からエラーが返された場合に、ディレクトリの末尾として扱うのではなくエラーとして報告するようになりました。

nightly-2022-09-18

Rust 1.65.0のベースバージョン [リリースノート]

nightly-2022-08-12

SOLID-Rust 1.1.0のデフォルトツールチェーン

nightly-2022-08-06

Rust 1.64.0のベースバージョン [リリースノート]

nightly-2022-07-26

  • PR #95916: 標準ライブラリでアボート処理をHLT命令などとハードコードするのではなく abort() 関数を呼び出すことによって実現するようになりました。これにより、例えば、モニタデバッガ向けにSOLID-OSをビルドしている場合はそれに適した方法でブレークするようになります。

nightly-2022-06-27

  • PR #97140: スレッド付属同期機構であるthread parker (std::thread::park()) がカーネルミューテックスと std::sync::Condvar の組み合わせではなくカーネルイベントフラグで実装されるようになりました。スレッド毎のミューテックスが不要になりますが、代わりにイベントフラグが必要になります。タスクがブロックしない場合の実行時オーバヘッドが大幅に減少します。

nightly-2022-06-25

Rust 1.63.0のベースバージョン [リリースノート]

nightly-2022-06-20

  • PR #97791: std::sync::Mutex::new() などが const fn (定数コンテクストから呼び出し可能な関数) になりました。static 項目 (グローバル変数) に Mutex を含められるようになります。例:

    static COUNTER: std::sync::Mutex<u32> = std::sync::Mutex::new(0);
    *COUNTER.lock().unwrap() += 1;
    

nightly-2022-06-05

nightly-2022-05-15

Rust 1.62.0のベースバージョン [リリースノート]

nightly-2022-03-15

  • PR #90621: aarch64_target_feature unstable featureが安定化されました。

nightly-2022-02-27

  • PR #93870: コードカベレッジインストルメーション有効時に標準ライブラリがビルドできない問題を修正しました。

nightly-2022-02-20

nightly-2022-02-16

SOLID-Rust 1.0.0のデフォルトツールチェーン

nightly-2022-02-14

nightly-2022-02-12

nightly-2022-01-30

nightly-2021-11-05

  • PR #90392: SOLIDターゲットが追加されました。