英語版
このページの英語版を見る
変更ログ 2.100.2
Download D 2.100.2
2022年9月10日リリース
2.100.2には1つの大きな変更と21のBugzilla問題の修正が含まれる。
多大なる感謝を
18人の貢献者
に感謝する。
D 2.100.2におけるすべてのバグ修正と機能強化のリスト。
コンパイラの変更
- scope(failure) return を含むブロックは非推奨となった。
このリリースから、return ステートメントを本文に持つことは非推奨となった。scope(failure) 文の本文に。現在、エラーはscope(failure) でも処理されるため、このようなブロックからreturn を実行することはエラーになりやすい。このため、次のような状況になる:
ulong get () @safe nothrow { scope (failure) return 10; throw new Error(""); } void main () @safe { assert(get() == 10); // 合格 }
ここでエラーはリターンによって回避される。もし本当にリターンが必要なら このような状況では、単にtry-catchブロックを使うのが解決策である。 を使うことである。
注釈:scope(exit) とscope(success) はすでにこの制限を設けている。
D 2.100.2におけるすべてのバグ修正と機能強化のリスト:
DMDコンパイラのリグレッション修正
- Bugzilla 23100: スコープパラメータに渡される空の配列リテラルが'falsey'でなくなった。
- Bugzilla 23148: テンプレート関数がデストラクタを持つ構造体とラムダを持つテンプレートをインスタンス化する不変量を宣言し、mainがラムダを持つ場合、静的ライブラリで不変量シンボルが欠落していた。
- Bugzilla 23170: ラムダでマップに渡された配列リテラルがネストされた関数から返されると、メモリが破壊される。
- Bugzilla 23172: [REG2.100] 三項演算子と非int列挙型に誤ったキャストが挿入される
- Bugzilla 23181: [REG 2.099] AssertError@src/dmd/e2ir.d(6094):参照 _d_arraysetctor を試している。
DMDコンパイラのバグ修正
- Bugzilla 20143: 実数0/0がdoubleとして返された場合のオプティマイザでのICE
- Bugzilla 21443: スコープ(失敗)を返すと安全性が損なわれる。
- Bugzilla 21723: リンカーエラー:2モジュールの静的ライブラリ、メインはインラインでコンパイルされ、関数、型エイリアス、エイリアスラムダを定義する不変量がある。
- Bugzilla 23082: によってアクセスされた関数でオーバーロードされたテンプレートエイリアスの文字列: segfault.
- Bugzilla 23102: pinholeopt, "Conditional jump or move depends on uninitialised value(s)" (条件付きジャンプまたは移動は、初期化されていない値に依存する。
- Bugzilla 23108: ICE:AssertError@src/dmd/clone.d(567):アサーション失敗
- Bugzilla 23109: ICE: アサーション失敗:AssertError@src/dmd/dclass.d(449):アサーション失敗
- Bugzilla 23114: noreturn オペランドを算術式で使用できない。
- Bugzilla 23120: dmd 不正命令スロー式
- Bugzilla 23166: -inline コンパイル時の seg fault
- Bugzilla 23177: WindowsでModuleInfoがエクスポートされない
- Bugzilla 23234: Delegate literal with inferred return value that requires following alias - this uses class cast instead.
- Bugzilla 23258: 2つのクラス配列のSumTypeに関するICE
phobosリグレッションの修正
- Bugzilla 23132: v2.099.0から2つの範囲を等しいかどうか比較する "フレームポインタにアクセスできない"
- Bugzilla 23140: Array!T(Tは共有クラス)が動作しなくなった。
- Bugzilla 23238: const Nullable(T, T nullValue)が書けない。
このリリースへの貢献者 (18)
このリリースを可能にしてくれたすべての素晴らしい人々に心から感謝する。
- Boris Carvajal
- dawg
- Dennis
- Dennis Korpel
- FeepingCreature
- Iain Buclaw
- Martin Kinkelin
- Martin Nowak
- Mathis Beer
- Max Haughton
- mhh
- Paul Backus
- Razvan Nitu
- richard andrew cattermole
- RubyTheRoobster
- Tomáš Chaloupka
- Walter Bright
- wolframw
Copyright © 1999-2024 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.108.0
ドキュメントのdmdのバージョン: 2.109.1
翻訳日付 :
HTML生成日時:
編集者: dokutoku