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

変更ログ 2.086.1

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

Download D 2.086.1
2019年6月15日リリース

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

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

コンパイラの変更

  1. インターフェイス契約は引数を正しく取得する

    リグレッション15984を修正した。

    副作用として、契約は以前のリリースとABI互換性がない。

    interface I
    {
        void fun(int i)
        out { assert(i == 5); } // 成功
    }
    
    class C : I
    {
        void fun(int i)
        do { }
    }
    
    unittest
    {
        auto c = new C;
        c.fun(5);
    }
    

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

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

  1. Bugzilla 19584: 不正な最適化:シフト・オア -> イミュール
  2. Bugzilla 19631: 単純なネストされたテンプレート構造体でセグメンテーションエラーが発生する。
  3. Bugzilla 19871: コピーコンストラクタは、デフォルトの構造が無効な場合、有効なコードを拒否する。
  4. Bugzilla 19887: voidタプルのデフォルト・パラメーターでセグメンテーション・エラーが発生する。
  5. Bugzilla 19901: エクスポートシンボルをインポートするとリンクエラーが発生する。
  6. Bugzilla 19936: 非推奨のエイリアスget thisが配列への追加時に誤ってトリガーされる

DMDコンパイラのバグ

  1. Bugzilla 12950: レキサが16進整数のUFCSを16進浮動小数点リテラルとして解釈する。
  2. Bugzilla 13819: ICE: backendcg87.c with -O: "a % 2 != 0" for a double.
  3. Bugzilla 17258: Pass by nameは確実に動作せず、メモリ破壊につながることがある。
  4. Bugzilla 17793: [ICE] 内部エラー: ddmd/backend/cod1.c 3976 using simd.double4
  5. Bugzilla 18439: エラー:@nogc delegate 'main.test.__lambda1' で演算子 ~= を使用できない。
  6. Bugzilla 18772: [ICE] Internal error: dmdbackend\cgcod.c 607 no optimizations
  7. Bugzilla 18784: dmd codegenとC++とのインターフェイス "によるセグメンテーションエラー。
  8. Bugzilla 19002: FUNCTION__および__PRETTY_FUNCTION__をCの文字列リテラルとして使用できない。
  9. Bugzilla 19386: if 条件の内部で構築された場合、デストラクタが呼び出されず、メモリリークにつながる
  10. Bugzilla 19557: extern(C++, ns)とextern(C++, class)の相互作用がおかしい。
  11. Bugzilla 19713: C++テンプレート化された関数のコード生成でdmdがクラッシュする。
  12. Bugzilla 19825: 遅延可変長、stdio、jsonに関わるメモリ破損
  13. Bugzilla 19831: throw/catch in scope(exit)が不正な命令でクラッシュする。
  14. Bugzilla 19857: dip1000を付けてコンパイルすると、name mangling mismatchが発生する。
  15. Bugzilla 19881: dip1000と@safeでreturnスコープを通してローカルへの参照をエスケープする。
  16. Bugzilla 19888: タプルパラメータ+デフォルトのテンプレートのデフォルトパラメータがスローされる。
  17. Bugzilla 19895: ゼロ長の配列をキャストする際の浮動小数点例外
  18. Bugzilla 19897: dinterpret.d:6439: 内部コンパイラーエラー: nullフィールド
  19. Bugzilla 19898: ICE: in sizemask at dmd/mtype.d(2563):アサーション失敗
  20. Bugzilla 19911: ICE:構造体オブジェクトと可変長引数関数でセグメンテーションフォールトが発生した。
  21. Bugzilla 19912: [module] オブジェクト宣言が存在する場合、オブジェクトモジュールの暗黙のインポートがない。
  22. Bugzilla 19913: ICE:ICE: ミックスインと列挙型によるセグメンテーションフォールト
  23. Bugzilla 19914: ICE: mixin と enum でのセグメンテーション・フォールトICE:ミックスインとテンプレートクラスのセグメンテーションエラー
  24. Bugzilla 19915: ICE: mixinとテンプレート化されたクラスのセグメンテーションエラーエイリアスとテンプレート化されたクラスによるセグメンテーション障害
  25. Bugzilla 19922: ICE:typeid()によるセグメンテーション・フォールトtypeid() のセグメンテーションエラー
  26. Bugzilla 19923: ICE: typesem.d(3809):.classinfo でのアサーション失敗
  27. Bugzilla 19941: [ICE] dmd/dcast.d(980) の ImplicitConvTo::visit(AddrExp*) でセグメンテーションフォールトが発生した。
  28. Bugzilla 19942: [ICE] resolvePropertiesXにおけるsegmentation fault at dmd/expressionsem.d:1112
  29. Bugzilla 19954: ICE:AliasSeqを配列にキャストして関数に渡す
  30. Bugzilla 19955: [ICE] Segmentation fault in StatementSemanticVisitor::visit(SwitchStatement*) at dmd/statementsem.d:2558

phobosのバグ

  1. Bugzilla 19837: std.random.isUniformRNG(Rng, ElementType)はRng.frontにアノテーションを付ける必要はない。@property
  2. Bugzilla 19850: ダブルネストジョイナー.backが範囲が空だと誤認する

Druntimeのリグレッション

  1. Bugzilla 19701: __D6object__T6hashOfへの未定義の参照

ドランタイムのバグ

  1. Bugzilla 17248: core.sys.windows.winldapに誤った関数定義が複数存在する(実行時問題を引き起こす)。
  2. Bugzilla 19847: --DRT-gcopt=profile:1で4GB以上のGCメモリが報告されない。

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

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

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