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

変更ログ 2.031

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

Download D 2.031
2009年7月6日リリース

新機能

  • rootディレクトリの名称を「˶dmd」から「˶dmd2」に変更した。
  • ローカルシンボルをシャドウするwithシンボルを使用できなくなった。
  • 最後のswitch 文を追加した。
  • case range文を追加した。
  • 有効ビットが失われる可能性のある暗黙の積分変換は使用できなくなった。 ビットが許されなくなった。
  • no return expr;の警告がエラーになった。
  • Bugzilla 3080: dmdはコンパイルエラーを標準出力ではなく標準エラー出力に出力すべきである。
  • Bugzilla 3122: [patch] フロントエンドに高速で信頼性の高いビルドツールのサポートを追加した。
  • std.algorithm:std.algorithm.group、std.algorithm.until、std.algorithm.nWayUnion、std.algorithm.gestialPartialIntersectionWeightedを追加。std.algorithm.equalに制約を追加。std.algorithm.topNIndexとstd.algorithm.topNCopyのシグネチャを変更し、紛らわしいboolではなくenumパラメータを使用するようにした。
  • std.array:配列関数を追加した。
  • std.conv: 列挙型の値の表示と解析に藤代伸氏のコードを追加した。
  • std.ctype: isupperとtolowerを純粋にした。
  • std.date: ベンチマークのシグネチャを変更し、uint[]の代わりにulong[]を返すようにした。
  • std.demangle:範囲付きラベルでswitchステートメントを使用するように変更した。
  • std.random: randomSampleを追加。
  • std.string:std.string.findとstd.string.findを非推奨とし、std.string.indexOfに置き換えた。std.string.rfindとstd.string.irfindを非推奨とし、std.string.lastIndexOfに置き換えた。indexOfとlastIndexOfにCaseSensitiveフラグを追加。std.algorithmが定義しているので、startWithとendsWithを削除。
  • std.traits: isSomeChar, isPointerを追加。
  • std.typetuple:indexOfをindexOfTypeに置き換えた。
  • std.utf: エラーメッセージを改善した。

バグ修正

  • マルチコアWindows上でのdmdのクラッシュを修正。
  • std.algorithm.startsWithのリストにないバグを修正。
  • std.algorithm.topNの未記載のバグを修正。
  • std.algorithm.topNIndexの未記載のバグを修正(インデックスが空だとクラッシュする)。
  • std.algorithm.setIntersectionの未記載のバグを修正。
  • std.range.retroの未記載のバグを修正:範囲を2回retro'izeすると元の範囲を返さなければならない
  • Bugzilla 106: テンプレート - ミックスインシーケンス
  • Bugzilla 810: テンプレートを前方参照できない
  • Bugzilla 852: ICE(toir.c)の非静的入れ子関数のローカルクラスを静的入れ子関数で使用する。
  • Bugzilla 1343: 構造体や配列の静的初期化で様々なエラーが発生する。
  • Bugzilla 1358: ICE(root.c)でUnicodeのコードポイントが0x7FFFFFFFより大きい。
  • Bugzilla 1524: ICE(constfold.c):CTFEにおける文字列の"is"の使用に関するエラー
  • Bugzilla 1984: Assertion failure: 'e1->type' on line 1198 in file 'constfold.c'.
  • Bugzilla 2323: ICE(cgcs.c): 一時構造体のメソッドのアドレスを取る。
  • Bugzilla 2399: ICE(cgcod.c):関数をデリゲートにキャストする際のICE(cgcod.c)
  • Bugzilla 2429: std.stream.Fileの不正なフラグ解析と共有モード
  • Bugzilla 2432: complex alias -> mtype.c:125: virtual Type* Type::syntaxCopy():アサーション0 に失敗した。
  • Bugzilla 2603: ICE(cgcs.c) 文字列リテラルの引き算について
  • Bugzilla 2843: ICE(constfold.c)のis式で、typeidを含むis式のドット式が無効である。
  • Bugzilla 2865: ランダムカバーがランダムでない
  • Bugzilla 2875: ICE(cgcod.c) delegate = &Struct.func を設定する。
  • Bugzilla 2884: ICE:アサート:'template.c'、3773行目、'global.errors'
  • Bugzilla 2888: [PATCH] float * 2.0の高速化
  • Bugzilla 2900: druntimeの統合以降、配列の追加処理が極端に遅くなった。
  • Bugzilla 2915: [パッチ]:a*-b を a*b に最適化する。
  • Bugzilla 2923: -Oは?
  • Bugzilla 2932: bad e_ehsize (36 != 52) が発生する。
  • Bugzilla 2952: 8要素より大きなdoubleの配列でarray opsを使用した場合、終了時にセグメンテーションフォールトが発生する。
  • Bugzilla 2974: auto関数でSegfault(mtype.c)が発生する。
  • Bugzilla 2981: 構造体(invariantsを含む)の不正なコード生成
  • Bugzilla 2982: if()節におけるアサーションの失敗。
  • Bugzilla 3003: メンバテンプレート化された関数呼び出しに暗黙的に()を追加する必要がある。
  • Bugzilla 3014: ICE(template.c)がタプルでテンプレートをインスタンス化する
  • Bugzilla 3016: std.math.acosのドキュメントにおけるエラー
  • Bugzilla 3026: 不完全な静的配列イニシャライザーによるセグメンテーションエラー
  • Bugzilla 3044: Segfault(template.c):タプル構造体のコンストラクタを引数ゼロでインスタンス化する。
  • Bugzilla 3071: ネストされた func 宣言の解析問題
  • Bugzilla 3078: NaNがゼロと等しいと報告される
  • Bugzilla 3081: 構造体から要素を取り出すのにunaryFunは使えない。
  • Bugzilla 3095: D2のwc例がコンパイルできない。
  • Bugzilla 3114: マルチコアマシンでoptlinkが失敗する
  • Bugzilla 3117: 1によるdmdのクラッシュ
  • Bugzilla 3121: 再帰が正しい数値を生成しない
  • Bugzilla 3128: 内部エラー: ..¦コッド4.c 2737
  • Bugzilla 3130: 三連星でクラッシュした
前バージョン: - 次のバージョン: