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

変更ログ 2.012

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

Download D 2.012
2008年3月6日リリース

新機能/変更点

  • 定義済みバージョン(unittest)を追加した。参照Bugzilla 458
  • 削除std.math2
  • null に対してクラス型を比較する際のコンパイル時エラーを追加した。
  • 構造体のデストラクタとポストブリットを追加した。
  • std.algorithm:いくつかのインポートをUnittestの条件付きにした。 docのタイプミスを修正した。 を常に返すようにした。 の名前を小文字の規約に従うように変更した。 SwapStrategyに変更した(例えば、eliminateを参照)。
  • std.bitmanip:ビットフィールド用に生成されるコードを簡素化し、エラーメッセージを改善した。 エラーメッセージを改善した。
  • std.format: 内部でビットフィールドを使用するようにした。
  • std.functional: binaryfunが定数サイズの配列で動作するように修正; composeを追加。
  • std.random: unpredictableSeedが呼び出されるたびに異なる数値を返すようにした。 めったに遭遇しないMTシナリオを除く)。 変数名を追加した。 を1つの文字列"[(""に変更した。 に変更した。
  • std.トレイト:mostNegativeを追加した。 というC++の許されざるミスを受け継いだ。 min "の定義が浮動小数点型と積分型では全く異なる意味を持つという、C++の許されざるミスを受け継ぐことになった。 と積分型では、"min"の定義が大きく異なるという、C++の許されざるミスを受け継いでいる。
  • std.typecons:の準備として、文書化されていないRebindableを追加した。 opImplicitCastの準備として、文書化されていないRebindableを追加した。
  • std.math:
    • 異なるCPU IEEE 'real' フォーマットをサポート:64ビット、80ビット 128ビット(4倍)実数、BigEndianとLittleEndianの両方。 非IEEE 'doubledouble'実数の部分的サポート。
    • DMD-Windows 用に nextafterBugzilla 1722と scalb の実装を追加した。 の実装を追加した。
    • nextUp()、nextDown()を追加。
    • Bugzilla 1881: 非実数引数に対するfeqrelの無意味化。
    • 内部関数isPosZero(), isNegZero()を削除した。 より一般的に有用なisIdentical()に置き換えた。
    • DMDで実装されていなかった関数のasmバージョン。 Windows: scalb, lrint。
    • sin + cosの同時計算に便利なcreal expi(real y)を追加した。 を追加した。

バグ修正

  • std.contracts:pointsToのリストされていないバグを修正した。
  • std.conv:数値から数値への変換に関するバグを修正(T.min が再びヒットする)。
  • DT_AT_upper_boundのドワーフのバグを修正。
  • Bugzilla 756: タプルのIFTIは、タプルのパラメータが最後の場合にのみ機能する。
  • Bugzilla 1454: 別名引数が使用されている場合、IFTIはパラメータを推論できない。
  • Bugzilla 1661: 整数パラメータを持つテンプレートを特殊化することはできない。
  • Bugzilla 1800: 構造体の中に入れ子になった列挙型でコンパイラがクラッシュする。
  • Bugzilla 1801: const構造体は参照を含まない限りconstでない変数に代入可能であるべきである。
  • Bugzilla 1806: "const"は型安全可変長引数を正しく動作させない。
  • Bugzilla 1809: template.c:2600
  • Bugzilla 1810: MmFile匿名マッピングはwin32では動作しない
  • Bugzilla 1819: synchronized "後のreturn文の欠落に関する警告が表示される。
  • Bugzilla 1821: const/invariant変数で__traits isSameを使用した場合のICE
  • Bugzilla 1823: 連想配列の const への暗黙の変換
  • Bugzilla 1828: いくつかのスレッド問題
  • Bugzilla 1833: std.c.windows.windowsは定数に列挙型を使うか、extern(Windows)の使用をより選択的にすべきである。
  • Bugzilla 1836: インラインアセンブラはenum値をパラメータとして使えない。
  • Bugzilla 1837: dmd がコンソールに殺到しないようにする: 渡されたパラメータファイルの内容を表示する
  • Bugzilla 1843: 前方参照された構造体に対する不正なunreachableステートメント、行番号が欠けている。
  • Bugzilla 1850: コンパイラは小文字のasmレジスタを受け付ける。
  • Bugzilla 1851: const構造体をキャストする際にopCallが見つからない。
  • Bugzilla 1852: 構造体(診断)にキャストするとopCallが見つからない。
  • Bugzilla 1853: opCmp のドキュメントには本当に例が必要だ。
  • Bugzilla 1854: 新しいフロー解析のバグ(有効なコードで警告が出る)
  • Bugzilla 1857: プロファイリング中のランタイムセグメンテーションフォールト - 無効なコードアドレスへのジャンプ
  • Bugzilla 1862: asm:[ESI+1*EAX]は正当なアドレスモードであるべきだ。
  • Bugzilla 1865: エスケープシーケンスに欠陥がある。
  • Bugzilla 1867: lazyは偽のconst修飾子を追加する。
  • Bugzilla 1871: DMDのデバッグメッセージが表示される
  • Bugzilla 1873: 少なくとも1つのイミュータブルメンバーを持つ構造体は完全にイミュータブルである。
  • Bugzilla 1874: __traits(allMembers,T)が、変異しないオーバーロードのみを持つメソッドのリストに失敗する。
  • Bugzilla 1876: 非静的クラスメソッドの内部では、"&( f)" は "&(this.f)" と同じであるべきなのだろうか?
  • Bugzilla 1877: std.math.atan2のドキュメントにエラーがある。
  • Bugzilla 1882: 内部エラー: .. \ztcodcod1.c 2529
  • Bugzilla 1883: realとしてインスタンス化されたテンプレートが不正な値を与える。
  • Bugzilla 1884: 文字列のマニフェスト定数
  • Bugzilla 1885: 不変/変更可能な参照間のオブジェクト同一性テストでの構文エラー : 最初の初期値が空である dyn 配列でのコンパイラフリーズ
  • Bugzilla 1887: 最初のイニシャライザが空のdyn.配列でコンパイラがフリーズする。
前バージョン: - 次のバージョン: