英語版
このページの英語版を見る

変更履歴 2.090.1

前バージョン: - 次のバージョン:

Download D 2.090.1
2020年02月06日リリース

2.090.1には1つの大きな変更と16の修正されたBugzillaの問題が含まれている。 多大なる感謝を 13人の貢献者 に感謝する。

D 2.090.1におけるすべてのバグ修正と機能強化のリスト。

コンパイラの変更

  1. D1スタイルの演算子の優先順位がD2スタイルより低くなった。

    D1演算子オーバーロードはv2.088.0で非推奨となった。 以前はD2演算子オーバーロードより優先されていたが、非推奨になった後も優先順位はそのままだった。

    D1とD2の演算子オーバーロードの主な違いは、D1はデフォルトでvirtual 、 一方、D2演算子オーバーロードのスキームはテンプレートに依存しているため、バーチャルにはできない。 演算子の仮想性に依存するコードは、仮想演算子へ転送するD2スタイルの演算子オーバーロードを提供することで、簡単に適合させることができる。 オーバーロードを提供することで適応できる。

    しかし、D1演算子オーバーロードが優先されるため、D2演算子オーバーロードが存在しても、非推奨メッセージが発行される。 演算子オーバーロードが存在しても、非推奨メッセージが発行される。 つまり、仮想演算子に依存するコードは、前述の D2スタイルのオーバーロードを導入するだけでなく、予約されたD1名と一致しないようにメソッド名を変更する必要がある。 その結果、非推奨化を黙らせるために、ライブラリはブレークチェンジを導入せざるを得なくなる。

    このリリースから、D2スタイルの演算子オーバーロードがD1スタイルより優先される、 を優先するようになった。


D 2.090.1におけるすべてのバグ修正と機能強化のリスト:

DMDコンパイラのリグレッション

  1. Bugzilla 20391: [REG 2.089] ビルドでENABLE_RELEASE=0にしたため、DMDのコンパイル時間が40%増加した。
  2. Bugzilla 20488: 複数のモジュールでAA.lengthを使用するとopDispatchに失敗する
  3. Bugzilla 20518: シンプルインポートICEのリグレッション : "重要:

DMDコンパイラのバグ

  1. Bugzilla 19542: 文字列名前空間C++構文での前方参照セグメンテーション・フォールト
  2. Bugzilla 20530: is(<...> == module/package) が文字列ミックスインで動作しない。
  3. Bugzilla 20549: モジュールシンボルが自分自身を参照するタプルで初期化するとdmdがクラッシュする可能性がある
  4. Bugzilla 20559: 参照型+エイリアスthis+AA+AA.clearでSEGVが発生する

phobosのリグレッション

  1. Bugzilla 19738: std.range.choose代入が@safe-tyを壊す
  2. Bugzilla 20511: safeのせいでJSONValueをOutputRangeにフォーマットできない

phobosのバグ

  1. Bugzilla 17441: std.trait.moduleNameがミックスインで別の名前でインポートされたモジュールに対して間違った答えを出す
  2. Bugzilla 20495: std.range.chooseレンジはsave呼び出し時に安全ではない
  3. Bugzilla 20527: std.json CTFEが整数を読み込めない。

Druntimeのリグレッション

  1. Bugzilla 19902: hasElaborateCopyConstructorはコピーコンストラクタについて知らない。
  2. Bugzilla 20447: [REG 2.089] core.threadをインポートするとunistdが公開され、object.dupが非表示になる。

Druntimeのバグ

  1. Bugzilla 20497: スタックスペースが限られているスレッドが、TLSのサイズによってクラッシュする。

dlang.orgのバグ

  1. Bugzilla 20500: ホームページで "例"を実行すると"1 unittests passed "としか表示されない。

このリリースへの貢献者 (13)

このリリースを可能にしてくれたすべての素晴らしい人々に多大な感謝を捧げる。

前バージョン: - 次のバージョン: