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

変更ログ 2.032

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

Download D 2.032
2009年9月2日リリース

新機能/変更点

  • Windows -リリースビルドにおけるassert(0)の例外メッセージを改善。
  • のサポートを追加した:
    a[i].var = e2
    
    および
    a[] = e
    
    をサポートした。(ドン、ありがとう)
  • CTFEでメンバ関数が使えるようになった。
  • CTFE で演算子オーバーロードが使用可能になった。
  • CTFE でネストされた関数が使用できるようになった。
  • CTFE のエラー・メッセージで、コンパイル時に関数を解釈できなかった理由が説明されるようになった。 を説明するようになった。
  • synchronized メンバ関数が暗黙的に shared として型付けされるようになった。
  • std.algorithm:minPosが追加された
  • std.format: 読み込みに raw 指定子を追加した。
  • File.byChunkを追加した。
  • std.algorithm: unittestを追加し、topNに渡されるユーザーベースの比較のチェックを追加した。
  • std.math:std.cをcore.stdcに置き換え、数値や配列だけでなく範囲でも動作するようにapproxEqualを改良。
  • std.range:適切な場合にTake.popBackを定義し、iotaが負の範囲とステップを受け入れるように改善した。

バグ修正

  • Bugzilla 601: statement.html - BNFのフォーマット/マークアップのエラー。
  • Bugzilla 1461: テンプレート・エイリアス・パラメーターとしてのローカル変数がCTFEを壊す。
  • Bugzilla 1600: 1つの配列だけを受け取る関数は、プロパティ構文では呼び出せない。
  • Bugzilla 1604: final構造体の非finalメソッドは制約が多すぎる。
  • Bugzilla 1605: switchでgotoがブレークする。
  • Bugzilla 1616: std/metastrings.d
  • Bugzilla 1940: phobos buildscripts が x86_64 で動作しない。
  • Bugzilla 1948: 配列中の構造体を変異させると CTFE が失敗する
  • Bugzilla 1950: CTFEがrefで渡された構造体に対して正しく動作しない。
  • Bugzilla 1969: ICE(cod1.c)でundefined演算子をconstオペランド1つで使用している
  • Bugzilla 1972: Foreachの範囲文がCTFEを壊す。
  • Bugzilla 2150: const variant から値を取得できない。
  • Bugzilla 2277: 配列オペランドとconst配列は互換性がない
  • Bugzilla 2398: ポインタに対する writef("%x") は常に大文字になる
  • Bugzilla 2560: ICE(cod4.c)でref const構造体をパラメータとするメソッドが起動される。
  • Bugzilla 2564: CTFE:タプルforeachのインデックスが初期化されていない(偽エラー)。
  • Bugzilla 2569: CTFE関数内の静的配列がコンパイルできない。
  • Bugzilla 2575: gdbがコードを表示できない
  • Bugzilla 2587: std.process.shellがwin32で動作しない
  • Bugzilla 2604: DW_TAG_モジュールとGDB
  • Bugzilla 2665: ICE(cod4.c)が特定のconst struct関数の戻り型で動作しない。
  • Bugzilla 2784: インターフェイスは型定義を要求できるべきである("invalid"助言で閉じられる)。
  • Bugzilla 2785: インターフェイスは非メンバー関数を要求できるべきである("invalid"助言で終了)。
  • Bugzilla 2786: インターフェイスはコンストラクターを要求できるべきである("invalid"な助言で閉じた)。
  • Bugzilla 2882: std.random.MersenneTwisterEngine(種なし
  • Bugzilla 2925: デストラクタが呼ばれない
  • Bugzilla 2937: 構造体の配列に対するforeach argでpostblitが呼ばれない。
  • Bugzilla 2940: nullはコンパイル時に評価できない
  • Bugzilla 2976: retreatN を retreat にリネームした
  • Bugzilla 2979: 属性だけのXmlタグが属性なしとして返される ElementParser.parse
  • Bugzilla 2980: writefln( uint ) でコンパイラー・エラーが発生する。
  • Bugzilla 2987: D2 phobos BigInt opMul が正しく動作しない。
  • Bugzilla 2988: チェーンには opIndexAssign が必要だ。
  • Bugzilla 2989: std.typetuple: 任意の静的タプルのサポートを追加した。
  • Bugzilla 2992: ("後で"の助言でクローズされた)
  • Bugzilla 2996: std.typetuple: 任意の静的タプルのサポートを追加した。
  • Bugzilla 3000: iota は浮動小数点数で動くべきだ
  • Bugzilla 3017: std.rangeのdocエラー(Steven Schveighofferに代わって)。
  • Bugzilla 3025: uniform(float,float)は最初にポップし、uniform(int,int)は最後にポップする。
  • Bugzilla 3037: Stride.lengthの1つ違いエラー
  • Bugzilla 3039: vtlsコンパイラー・フラグがmanファイルに記載されていない。
  • Bugzilla 3058: [CTFE]foreachの範囲文から戻れない。
  • Bugzilla 3074: std.conv.to!(string)(int.min)
  • Bugzilla 3077: 3077 結果コードなしで main() を終了するとクラッシュする
  • Bugzilla 3087: std.range.retro.opIndexが範囲外になる
  • Bugzilla 3098: std.algorithm.reduceの例がコンパイルできない。
  • Bugzilla 3100: ICE(cast.c)構造体のメンバが共有されている。
  • Bugzilla 3132: std.string.split は mutable/const/immutable でテンプレート化すべきである。
  • Bugzilla 3148: 不変量を使用した構文エラー
  • Bugzilla 3153: win32.makが存在しないlibフォルダにphobos.lib, gcstub.objをコピーしようとする。
  • Bugzilla 3162: コンパイル時に浮動小数点数をテンプレート・パラメータとして完全に使用できない
  • Bugzilla 3165: Dはどのような整数除算を使うのか?
  • Bugzilla 3166: modulo 演算子の記述で "正" -> "負でない" とする
  • Bugzilla 3169: ulongをintで割るSegfault(cast.c)
  • Bugzilla 3170: 外側のクラスがプレーンでない場合、入れ子になったクラスの前方参照に失敗する
  • Bugzilla 3183: align属性の仕様に改良が必要
  • Bugzilla 3184: std.algorithm.untilは "find"のように動作する必要がある。
  • Bugzilla 3185: osxはディレクトリではない(std/c/osx/socket.dが読めないと文句を言う)
  • Bugzilla 3186: http://www.digitalmars.com/d/2.0/dmd-osx.html の修正
  • Bugzilla 3189: std.conv.to: クラス/構造体のカスタムメソッド のチェックto
  • Bugzilla 3192: anonymous delegateのasmがコンパイラをクラッシュさせる
  • Bugzilla 3195: std.conv pureness("後で"というアドバイスでクローズされた)
  • Bugzilla 3196: Segfault(mtype.c)はデリゲート・リテラルを含むほぼ全てのエラーの後に発生する。
  • Bugzilla 3197: std.トレイトのマイナーな修正と追加。
  • Bugzilla 3199: sort(chain(...))が機能しない場合がある。
  • Bugzilla 3205: CTFE: $はl値では使えない。
  • Bugzilla 3212: エラーメッセージに "mutable"とあるが、"immutable"と言うべきである。
  • Bugzilla 3217: std.functional.binaryFunImplは文字列関数のUDTをサポートしていない。
  • Bugzilla 3218: std.xml.encodeのパフォーマンスを改善する必要がある。
  • Bugzilla 3219: std.conv.to!(numeric)(numeric)のエラーメッセージが不正確である。
  • Bugzilla 3224: std.randomドキュメントのバグ
  • Bugzilla 3229: 関数の最後にreturnやassert(0)がない。
  • Bugzilla 3236: Postblitが呼び出されたが、マッチするデストラクタがない
  • Bugzilla 3239: std.conv.roundToはconst/immutable/sharedを受け付けない
  • Bugzilla 3240: std.numeric.findRootはrealでしか動作しない
  • Bugzilla 3242: splitterが一意な区切り文字からなる入力範囲を正しく扱わない
  • Bugzilla 3245: std.encodingの無効化されたユニットテストコードの簡単なバグフィックスが利用できる。
  • Bugzilla 3246: ICE(init.c)がローカル配列のインデックス付き配列イニシャライザを使用している。
  • Bugzilla 3249: 構造体やクラスの配列の sort や setIntersection が使えない。
  • Bugzilla 3253: 関数ポインタ構造体メンバ初期化で関数リテラルでDMDがクラッシュする。
  • Bugzilla 3255: -wスイッチでfinalスイッチが壊れた
  • Bugzilla 3257: 文字列スイッチの場合のラベルの記述が不明瞭である。
  • Bugzilla 3260: wchar'で'write'をコンパイルすると "Error: undefined identifier backend"が発生する。
  • Bugzilla 3264: -Oで "used before set"エラーになる。
  • Bugzilla 3281: ICE(cod1.c)は返された構造体を配列に追加する。
  • dmdのディレクトリ内のスペースを処理するバグを修正
  • expression.c の 4823 行目の assert エラーを修正
  • samples/d/dhry.dのOSXコンパイルエラーを修正した。
  • std.format:ドキュメントに記載されていないバグを修正
  • std.random:不変のデータを渡された際にuniformが動作しない問題を修正
  • std.range:Take.backの未記載のバグを修正
  • unlisted: const/immutable配列でエントロピーが動作するようにした。
前バージョン: - 次のバージョン: