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

変更ログ 2.051

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

Download D 2.051
2010年12月21日リリース

新機能/変更点

  • 数学特殊関数を含むstd.mathspecialが追加された。
  • std.base64が追加された:置き換えられた。ブーストライセンス、パフォーマンス向上、範囲サポート。関数のシグネチャが"encode"から"Base64.encode"に変更された。
  • std.math:powのD実装。ほぼ全てのstd.math関数が"@safe pure nothrow"になった。 tgamma、lgamma、erf、erfcはstd.mathspecialに移動した。
  • std.exceptionに移動した:assumeUnique に pure と nothrow を追加した。
  • std.utf:検証用のUtfErrorクラスとtoUTF*ショートカット関数を削除した。pure、nothrow、@safe、@trusted属性を追加した。
  • druntimeとphobosの両方がdmd -m64で正常にビルドできるようになった。まだdmd1より多少遅れている。

バグ修正

  • Bugzilla 603: 文書化されていない動作:caseとdefaultがスコープを作る。
  • Bugzilla 632: 型定義/列挙型プロモーションの仕様が曖昧 - 究極の基本型か最小公倍数型か?
  • Bugzilla 679: ガベージコレクションをコピーするための許容が必要である。
  • Bugzilla 690: ABIが完全に文書化されていない
  • Bugzilla 1351: 言語仕様の矛盾
  • Bugzilla 1466: 仕様では、最大マンチ技法は常に機能するとされている:"1..3"の場合ではない
  • Bugzilla 2080: ICE(mangle.c)のエイリアスが静的変数の型推論を破壊する。
  • Bugzilla 2206: 関数やクラスの中のクラスの無名テンプレート化されたミックスインに不正なクラスインフォメーションやmangleofがある。
  • Bugzilla 2385: linux ではすべての構造体は隠しポインタで返されることになっているが、レジスタを使っている。
  • Bugzilla 2392: 関数ポインタ宣言と関数呼び出しの間の解析のあいまいさ。
  • Bugzilla 2406: 宣言子2の定義エラー
  • Bugzilla 2556: プロパティclassinfoはより良いドキュメントが必要である(RTTI、typeof、typeid、ランタイム型情報)。
  • Bugzilla 2616: 文書化されなかった動作:関数テンプレートの一部明示的、一部暗黙的なインスタンスが受け入れられる
  • Bugzilla 2651: クラス本体宣言の文法が間違っている
  • Bugzilla 2652: DeclDefの文法が間違っている
  • Bugzilla 2734: トークン化のあいまいさ:._を浮動小数点数リテラルとして扱う
  • Bugzilla 2751: const/invariant/immutable静的配列:const(T)[N]とconst(T[N])は同じだが、DMDは異なるものとして扱う。
  • Bugzilla 2954: [tdpl] 連想配列のひどいバグ(D2のみ)
  • Bugzilla 2994: [tdpl]連想配列のひどいバグ(D2のみ) : [tdpl] "Predefined Versions "ドキュメントが不完全である。
  • Bugzilla 3020: "関数"が"nothrow"にならない理由の説明がない。
  • Bugzilla 3112: GCをどのような操作で呼び出すかの指定がない
  • Bugzilla 3276: エイリアステンプレートパラメータで再帰が壊れている
  • Bugzilla 3554: Ddocは対になっていない括弧を持つドキュメントコメントに対して無効な出力を生成する
  • Bugzilla 3864: nothrow関数でDynの配列確保が可能になった。
  • Bugzilla 4059: 不正なC++名のマングリング
  • Bugzilla 4217: テンプレートのインスタンス化された関数のオーバーロードが区別されない。
  • Bugzilla 4254: ICE(mtype.c): const inout パラメータを持つ関数。
  • Bugzilla 4297: nothrow関数は定数動的配列を使用できない。
  • Bugzilla 4384: モジュールの依存性チェックが壊れている
  • Bugzilla 4434: ICE(mtype.c,887)のエイリアスでconst, shared, immutableが指定されている。
  • Bugzilla 4445: roundTo!ubyte(255.0)" throws.
  • Bugzilla 4529: typeid(typeof(functionName))を含むSegfault(typinf.c)
  • Bugzilla 4638: Regression: new writeln は "wstring toString" を認識しない。
  • Bugzilla 4728: 他のモジュールのprotected/privateコンストラクタによるSegfault(toctype.c)
  • Bugzilla 4781: typeofと.initを前方参照するSegfault(mtype.c)
  • Bugzilla 4864: ICE(statement.c) "ミックスイン"内の無効な'if文'ボディでクラッシュする。
  • Bugzilla 4901: std.algorithm.sortがインターフェイス用にコンパイルされない。
  • Bugzilla 4915: auto return type は純粋な関数をエスケープする。
  • Bugzilla 5020: 暗黙のbool変換をエイリアスに転送する
  • Bugzilla 5053: 循環依存のエラーメッセージを改善した。
  • Bugzilla 5054: スプリッターの例が動かない。
  • Bugzilla 5094: "エイリアスプロパティthis"での暗黙の変換ができない。
  • Bugzilla 5107: 定数共有クラス/構造体は共有型として型付けされない。
  • Bugzilla 5110: 構造体やクラスの過剰な属性伝播。
  • Bugzilla 5117: [CTFE] やや複雑なthis: 副次効果を無視したメンバ関数呼び出し。
  • Bugzilla 5120: ICE(mtype.c) void連想配列
  • Bugzilla 5131: Segfault(expression.c) opAssign と連想配列 (AA) が != this 型で壊れている。
  • Bugzilla 5133: dmdがrdmdのビルドに失敗する(startsWithの問題)
  • Bugzilla 5145: Regression(2.050, 1.065) スーパークラスの前方参照でのオーバーライドエラー
  • Bugzilla 5148: 複数の const char* パラメータの C++ での扱いが正しくない。
  • Bugzilla 5154: クラスRangeがwritelnで動作しない
  • Bugzilla 5159: Segfault(interpret.c):CTFEでの静的関数ポインタ変数の呼び出し
  • Bugzilla 5163: void[] に front() を適用すると無意味なエラーメッセージが表示される。
  • Bugzilla 5164: "is(T...)"を使った行番号なしのエラー。
  • Bugzilla 5180: ICE(arrayop.c):互換性のない型に対するインプレース配列操作
  • Bugzilla 5182: ICE(expression.c):"-unittest"を関数から呼び出す。
  • Bugzilla 5191: pureとnothrowの組み合わせは何もしない関数になる。
  • Bugzilla 5194: ddocには、pureやnothrowのようなコンストラクタの修飾子が表示されていない。
  • Bugzilla 5195: 前方参照はconstを無視する
  • Bugzilla 5214: 空の{}の配列でコンパイラがクラッシュする
  • Bugzilla 5218: abc "wからwchar[3]への暗黙の変換ができない。
  • Bugzilla 5220: ConvErrorとConvOverflowErrorをConvExceptionとConvOverflowExceptionで非推奨にした。ConvErrorとConvOverflowErrorをConvExceptionとConvOverflowExceptionで非推奨とした。これらの例外がErrorであったことに依存するコードは壊れてしまうことに注釈:。
  • Bugzilla 5230: Regression(2.041, 1.057) ICE(tocsym.c) out契約を持つメソッドをオーバーライドする。
  • Bugzilla 5238: PATCH: interpret.c で初期化されていない var が返されるのを修正した。
  • Bugzilla 5247: std.utf.stride() は 0xFF を返してはならない。
  • Bugzilla 5275: x86_64関連の隠し関数パラメーターの誤処理
  • Bugzilla 5293: std.math:エラー:-48シフトは範囲0.
  • Bugzilla 5294: ループが壊れる
  • Bugzilla 5321: std.math: FPU制御語コードでX86またはX86_64を仮定する
  • Bugzilla 5322: std.math: バージョン(Sparc)はSPARCであるべきである。
  • Bugzilla 5330: Druntime/Phobos: GDCの特別扱いを削除した。
  • Bugzilla 5331: mach フォーマットの問題
  • Bugzilla 5340: isOutputRange!(Appender!string, int)はfalseでなければならない。
  • Bugzilla 5353: クリア関数がデストラクタを2回呼び出している。
前バージョン: - 次のバージョン: