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

変更ログ 2.056

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

Download D 2.056
2011年10月26日リリース

新機能/変更点

  • gsコンパイラー・スイッチの追加
  • Bugzilla 3194: protected 関数の最初と最後で不変量のチェックを行うようにした。
  • Bugzilla 5399: 非void関数の結果をvoid関数で返す。
  • Bugzilla 6752: スタックフレーム生成を制御する別オプションを追加
  • std.exception:enforce/enforceExが@safe純粋関数で使えるようになった。
  • std.string.splitLinesにオプションのKeepTerminatorパラメータを追加した。
  • std.string.outdentを追加した。
  • std.utf:safeとpureが増えた。
  • std.windows.registryでユニコードを正しく扱うために*W関数を使うようになった。

Druntimeバグ修正

  • Bugzilla 5967: 可変長引数関数のArgCloseの処理が入れ替わった。
  • Bugzilla 6493: core.timeのdocのソースコードがstd.datetimeを指すようになった。
  • Bugzilla 6466: core.demangleの変数のデマングリングが正しくない。

ライブラリのバグ修正

  • Bugzilla 5522: std.range.zipがObjectの配列で失敗する。
  • Bugzilla 6009: std/containerがfreebsd/64で無効になった。
  • Bugzilla 6160: std.conv.to:を無視するようにした。
  • Bugzilla 6181: datetime.dで "phobos"のunittest実行中にassertに失敗する。
  • Bugzilla 6258: std.conv.to!real("-")が空の配列の前を取得する。
  • Bugzilla 6275: タプルのconst値
  • Bugzilla 6288: std.conv.toはクラス変換時にconst/immutableを削除する
  • Bugzilla 6609: std.conv.parse!Integerは基数==10の時に符号を考慮する必要がある
  • Bugzilla 6634: std.path.globMatchが間違ったアサーションを投げる。
  • Bugzilla 6640: 文字列とcharの範囲との間の書式の一貫性を高める
  • Bugzilla 6761: RedBlackTreeの奇妙な動作がダングリングポインターを引き起こす
  • Bugzilla 6819: BigInt ^^ がいくつかの大きな数(累乗)で失敗する。

DMDのバグ修正

  • Bugzilla 546: 非推奨変数へのアクセス時のエラーメッセージが2倍になった。
  • Bugzilla 1339: 組み込みの配列プロパティ "sort"と "reverse"で不変性/恒等式が壊れていた。
  • Bugzilla 1891: T*とT*[]の配列連結は壊れた結果を生成する
  • Bugzilla 1993: varargデリゲートをNULLで呼び出すエラー
  • Bugzilla 2315: DMDのスタック・オーバーフローで不要なCTF再帰が発生する
  • Bugzilla 2553: インターフェースの過剰な属性伝播
  • Bugzilla 2361: 削除は不変参照で許可される。
  • Bugzilla 2737: 安全でない.idupの無意味なエラーメッセージ
  • Bugzilla 2740: テンプレートミックスイン "が広告通りに動作しない。
  • Bugzilla 2953: tuple.lengthが静的foreachのタプルのパラメータとして拒否される
  • Bugzilla 3069: 配列リテラルが暗黙的にvoid[]にキャストされない。
  • Bugzilla 3133: コンパイラは静的配列のキャストが合法かどうかをチェックしない
  • Bugzilla 3180: デリゲート/関数ポインタの共変量
  • Bugzilla 3550: array.dupはキャストなしでconst/invariantに違反する。
  • Bugzilla 3659: opEqualsの釈明が多すぎる。
  • Bugzilla 3748: inoutが正しく動作しない
  • Bugzilla 4022: [CTFE] AA get
  • Bugzilla 4197: ICE(glue.c):前方参照のin/out契約でエラーが発生した。
  • Bugzilla 4206: "列挙型"イニシャライザとして受け入れられる
  • Bugzilla 4237: 同じ名前の型定義はイニシャライザの衝突を引き起こす
  • Bugzilla 4269: リグレッション(2.031): エラーが箝口令が敷かれている間に評価された場合、無効な型が受け入れられる。
  • Bugzilla 4284: 空の文字列[]エイリアスはテンプレート内で.lengthを欠く
  • Bugzilla 5453: ICE(statement.c):CTFEによって前方参照される無効なswitch文
  • Bugzilla 5696: テンプレートのtypetuple反復
  • Bugzilla 5703: std.intrinsic.とcore.bitop.bsf、bsr、bswapはCTFEに対応すべきである。
  • Bugzilla 5886: 他のパラメータが明示的に与えられている場合、このパラメータを暗黙的なものにすることはできない。
  • Bugzilla 5932: 内部エラー: s2ir.c 339
  • Bugzilla 6062: 内部エラー: s2ir.c 339 : dmd/64のsegvでassoc配列リテラルが指定されている。
  • Bugzilla 6073: テンプレートがモジュールである場合、__traits(parent, ...)をテンプレートパラメータとして渡すことはできない。
  • Bugzilla 6084: TypeTuple-foreachイテレータ変数でローカルテンプレートをインスタンス化できない。
  • Bugzilla 6087: typeof(this)はメンバ関数以外では機能しない。
  • Bugzilla 6139: コンパイル時のエラーメッセージが重複する。
  • Bugzilla 6289: 定数/不変配列のスライスを変更可能にする(要素は定数/不変のまま)。
  • Bugzilla 6296: ICE(glue.c):is(typeof())でインスタンス化されたテンプレートが無効である。
  • Bugzilla 6352: Regression(2.054) 暗黙的な pure/nothrow/safe がデリゲート配列を混乱させる。
  • Bugzilla 6360: diファイルで@propertyがautoと一緒に使われると2倍になる。
  • Bugzilla 6404: テンプレート制約でauto refパラメータのref-nessをチェックできない。
  • Bugzilla 6488: DMDコンパイラのバグ
  • Bugzilla 6518: switchの中のstatic foreachの中でbreakする。
  • Bugzilla 6529: writeeln(const array of enum)も同様である。
  • Bugzilla 6584: バージョン番号/デバッグ・レベルの大きいICE
  • Bugzilla 6596: extern(C)関数でないとエラーメッセージが出る。
  • Bugzilla 6599: Segfault: イニシャライザ内の式が無効である。
  • Bugzilla 6630: このクラスをネストしたエイリアスを持つクラスにnullを代入すると誤解される。
  • Bugzilla 6656: static alias this が 2.055 で壊れた。
  • Bugzilla 6661: is(typeof())を通してのみインスタンス化されるテンプレートは、エラーを発生させるべきではない。
  • Bugzilla 6665: リグレッション(2.055) ICE(cg87.c): クロージャの中に static double がある。
  • Bugzilla 6672: [CTFE] コンパイル時 std.algorithm.sort での ICE
  • Bugzilla 6674: Regression(2.055) ミックスインと __traits(allMembers) が正しくない結果を生成する
  • Bugzilla 6675: Regression(2.054) ICE(glue.c)のテンプレートパラメータの推論でエラーが発生した
  • Bugzilla 6682: 遅延パラメータを持つテンプレート化された関数は純粋関数として推論されない。
  • Bugzilla 6690: 遅延パラメータは@safeとして推論されるべきである。
  • Bugzilla 6691: テンプレート内の静的コンストラクタは不変のテンプレートメンバを初期化できない。
  • Bugzilla 6693: [CTFE] ネストされたAAに値を設定できない。
  • Bugzilla 6695: typeof(this) はメンバ関数内の const/immutable 属性を考慮しない。
  • Bugzilla 6698: リグレッション(2.053) : 内部関数内のnakedのasmでセグメンテーションフォールトが発生する。
  • Bugzilla 6700: 回帰(2.053) タプルのスライス内部で $ を使用する
  • Bugzilla 6719: パースで "Error: out of memory" が発生する
  • Bugzilla 6721: [CTFE] char[]の先頭へのポインタを取得できない。
  • Bugzilla 6727: [CTFE] ICE(interpret.c): 文字列リテラルからの代入.dup.ptr
  • Bugzilla 6733: リグレッション(2.054) ICE(cod2.c) 副作用パラメータを持つ純粋な nothrow func
  • Bugzilla 6739: [CTFE] 入れ子になったAAの外側のAAに値を設定できない
  • Bugzilla 6746: 静的メソッド呼び出し時に構造体内のstatic this()がスキップされる。
  • Bugzilla 6749: [CTFE] 構造体の配列に関する問題
  • Bugzilla 6751: [CTFE] AA の ref 引数が機能しない
  • Bugzilla 6753: Regression(2.055beta) "Reinterpret" による配列の末尾 const へのキャストが @trusted 内で動作しない。
  • Bugzilla 6759: エイリアスのthisを使ったforeachで初期化が見つからない。
  • Bugzilla 6765: [CTFE]:AAがNULLの時にAA.lengthがコンパイルされない
  • Bugzilla 6769: [CTFE]: AA.keysが-inline使用時にコンパイルされない
  • Bugzilla 6770: inoutはフィールドで許可されている
  • Bugzilla 6773: inout変数は変更可能であってはならない
  • Bugzilla 6775: [CTFE] AA上のforeachがコンパイルに失敗する
  • Bugzilla 6782: 非inout関数内でforeachを型推論で使用すると、inout-correct範囲はイテレートできない。
  • Bugzilla 6813: またしても「フレーム・ポインターを取得できない」エラー
  • Bugzilla 6822: 新しいubuntuのリンクルールがUbuntu 11.10でdmdがプログラムをリンクするのを妨げる
  • Bugzilla 6825: リグレッション(2.055+):テンプレート化されたメソッドのアドレスが正しく取得されない
前バージョン: - 次のバージョン: