C#のメモリ安全性が変わる:`unsafe` を「危険な記法」から「守るべき契約」に進化させる話
Microsoft は C# の `unsafe` の意味を、単なる「危ない構文」から「呼び出し側にも責任がある契約」へと再設計している 新しいモデルでは、`unsafe` な処理を 内側の `unsafe { }` ブロック に閉じ込め、コンパイラが見える形で明示する `unsafe` は、ポインタそのものよりも メモリ安全性に関わる契約 を表す方向に広がる 安全性の説明として `/// <safety>` コメントを推奨し、レビューしやすくする .NET 11 で preview、.NET 12 で production release を予定している 背景には、AI-assisted code generation の増加で「人間が全部レビューしきれない」問題がある --- Microsoft の .NET Blog で、C# のメモリ安全性を大きく改善する構想が紹介されました。 ざっくり言うと、`unsafe` キーワードの意味を作り直す という話です。 これまでの `unsafe` は、ポインタを使うための「危ないモード」のようなものでした。もちろんそ
papoo.work