正式版に入ったメモリー管理の共通機能
公式リリースページで11月12日の正式公開を確認しました。安定化したAllocatorは、プログラムが使うメモリー領域の確保や解放を共通の方法で扱う仕組みです。公式資料には、確保した領域が有効な間の扱いなど、実装者が守る条件も記されています。利用できる機能が増える一方、独自実装の正しさは、その条件を満たす必要があります。
公開直後の部品を待つ設定は任意
Cargoには、外部ライブラリーの新しい版が公開されてから一定期間を置く設定が加わりました。全体の初期値は0で、導入しただけでは待機しません。公開時刻を扱わない配布元では設定が無視されます。編集上の考察として、待機期間を採用するなら、日数だけでなく利用する配布元と緊急修正の扱いも決める必要があります。
ロックファイルと更新操作を分けて考える
Cargo.lockは採用する部品の版を記録し、同じ構成を再現しやすくするファイルです。公式解説では、待機条件より新しい版でも、すでにこのファイルに存在するものは例外として扱います。部品を新たに選ぶ処理と、記録済みの構成をビルドする処理では前提が異なるため、設定追加を理由に既存の版が自動的に排除されるとは解釈できません。
自動ビルドで確認する互換性の変更
正式版では、中間生成物を置くディレクトリーの構成も変わりました。公式リリースは、場所を決め打ちして探すツールに対し、Cargoが返すJSON形式の情報を使う方法を案内しています。既存コードで新たなコンパイルエラーにつながり得る変更も掲載されています。移行では自分たちのコードと周辺ツールの動作を確認し、問題が出た場合は該当する互換性の説明と照合することが重要です。
