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

変更ログ 2.030

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

Download D 2.030
2009年5月11日リリース

新機能/変更点

  • -vtls コンパイラー・スイッチを追加した。
  • クラシック・グローバル・ストレージのデフォルトがTLS(スレッド・ローカル・ストレージ)になった。 これは大きな変更だ。 共有ストレージへの移行を参照のこと。
  • std.algorithm:minPosを追加した。Brad Robertsが提案したSplitterの改良。Splitter が双方向になった。また、Splitterがセパレーターで終わる場合、末尾の要素が1つ追加される。setUnionとsetIntersectionに可変長引数を追加した。setSymmetricDifference と largestPartialIntersection 関数を追加した。BinaryHeapのインターフェイスと実装を改良した。
  • std.array:アペンダーの改良。文字列やその他の不変要素配列で動作するようになり、put()で範囲を受け付けるようになった。
  • std.format: 読み込みに raw 指定子を追加した。
  • std.range:2つの引数を持つiotaを追加。FrontTransversalとTransversalを追加。
  • std.stdio: File.byChunkを追加した。
  • std.トレイト:isImplicitlyConvertibleを追加。
  • std.tuple:Tuple.opCompを追加。
  • Unknown W. Bracketsによるコンパイラの変更を折り込んだ。 によるコンパイラの変更を折り込んだ。
  • ClassInfoに.typeinfoを追加Bugzilla 2836:ClassInfoからTypeInfoへナビゲートする。

バグ修正

  • Linux上の命令スケジューラーのバグを修正した。
  • unlisted:std.numeric.entropyがconst/immutable配列で動作するようにした。
  • スレッド・ローカル・ストレージに関連するいくつかの問題を修正
  • Bugzilla 642: エラー:"static this"を使用できない場所にミックスインする。
  • Bugzilla 713: モジュール演算子"."による循環定数定義がコンパイラのセグメンテーションフォールトを引き起こす。
  • Bugzilla 752: アサーション失敗: 'e->type->ty != Ttuple' on line 4518 in file 'mtype.c'.
  • Bugzilla 858: クラス内の構造体への前方参照がコンパイラをクラッシュさせる。
  • Bugzilla 884: 再帰テンプレートでのセグメンテーション失敗
  • Bugzilla 934: テンプレート内で前方参照のmangleを取るセグメンテーションエラーが発生する。
  • Bugzilla 1011: 不正なインポート宣言はコンパイル時にセグメンテーション・エラーを引き起こす。
  • Bugzilla 1054: リグレッション:循環エイリアスがセグメンテーション・エラーを引き起こす
  • Bugzilla 1061: "asm inc [;" コンパイラーがセグメンテーションフォールトを起こす。
  • Bugzilla 1305: テンプレート化されたopCmpがテンプレート化されたクラスを返すとコンパイラがハングする
  • Bugzilla 1385: 巨大な配列リテラルでスタック・オーバーフロー。
  • Bugzilla 1428: デリゲートとタプルを使ったテンプレートの特殊化でセグメンテーションエラーが発生する
  • Bugzilla 1791: anonクラスと非定数変数initでのanonクラスのセグメンテーションフォールト
  • Bugzilla 1916: 無効な文字列の連結によるセグメンテーション・フォールト
  • Bugzilla 1946: const typedefを暗黙的にnonstにキャストしようとするとコンパイラがクラッシュする。
  • Bugzilla 2048: void-initialized structのメンバ変数への代入を含むCTFEでDMDがクラッシュした。
  • Bugzilla 2061: 複数のインターフェイス継承を伴う誤ったvtable呼び出し
  • Bugzilla 2215: 構造体内で基底型を持つ列挙型を前方参照すると、コンパイラでセグメンテーション・フォールトが発生する。
  • Bugzilla 2309: 可変長テンプレートに未定義のテンプレート識別子を混在させるとクラッシュする。
  • Bugzilla 2346: 型定義されたクラスを比較する際のICE
  • Bugzilla 2580: D2用WinMainのドキュメントが間違っている
  • Bugzilla 2633: object.diのModuleInfo宣言が間違っている
  • Bugzilla 2695: 純粋な関数が純粋でない関数ポインターを呼び出すことができる。
  • Bugzilla 2807: ネストされた関数を "pure"とマークすると、不正なコード生成の原因となる。
  • Bugzilla 2821: 構造体のアライメントがCと矛盾している。
  • Bugzilla 2851: 引数が少なすぎるC言語の構造体イニシャライザを使用した場合のセグメンテーション違反。
  • Bugzilla 2865: RandomCoverはランダムではない
  • Bugzilla 2882: std.random.MersenneTwisterEngineにシードがない
  • Bugzilla 2890: std.stdioのデッドロック
  • Bugzilla 2893: qualified型にUnsigned型がない。
  • Bugzilla 2906: 浮動小数点フォーマットのwritef問題
  • Bugzilla 2914: to!string(構造体)が壊れている。
  • Bugzilla 2920: 再帰テンプレートがコンパイラ・スタックを吹っ飛ばす
  • Bugzilla 2922: 文字列のハッシュ・パフォーマンスがひどく悪い
前のバージョン: - 次のバージョン: