D 更新履歴
- D 1.00 での変更点
- D 0.178 での変更点
- D 0.177 での変更点
- D 0.176 での変更点
- D 0.175 での変更点
- D 0.174 での変更点
- D 0.173 での変更点
- D 0.172 での変更点
- D 0.171 での変更点
- D 0.170 での変更点
- D 0.169 での変更点
- D 0.168 での変更点
- D 0.167 での変更点
- D 0.166 での変更点
- D 0.165 での変更点
- D 0.164 での変更点
- D 0.163 での変更点
- D 0.162 での変更点
- D 0.161 での変更点
- D 0.160 での変更点
- D 0.159 での変更点
- D 0.158 での変更点
- D 0.157 での変更点
- D 0.156 での変更点
- D 0.155 での変更点
- D 0.154 での変更点
- D 0.153 での変更点
- D 0.152 での変更点
- D 0.151 での変更点
- D 0.150 での変更点
- D 0.149 での変更点
- D 0.148 での変更点
- D 0.147 での変更点
- D 0.146 での変更点
- D 0.145 での変更点
- D 0.144 での変更点
- D 0.143 での変更点
- D 0.142 での変更点
- D 0.141 での変更点
- D 0.140 での変更点
- さらに古い履歴
- Win32 及び x86 linux 用 D コンパイラ をダウンロード
- テクニカルサポート
D 1.00 での変更点
Jan 2, 2007新しい/変更のあった機能
- -v フラグでimport情報を出力するようにしました
- std.c.linux.pthread 追加
バグ修正
- 修正 Bugzilla 552: Internal error: ..\ztc\cg87.c 1327 on in-function modulo of imaginary number
- 修正 Bugzilla 553: Assertion failure: '0' on line 609 in file 'constfold.c' on modulo of complex number
- 修正 Bugzilla 694: ドキュメントのミス: a == null は a.opCmp(null) ではない
- 修正 Bugzilla 699: 長い可変個引数と "-profile" フラグ
- 修正 Bugzilla 702: インラインアセンブラ: "SMSW r32" がコンパイル失敗
- 修正 Bugzilla 703: SuperExp::scanForNestedRef Assertion
- 修正 Bugzilla 728: 明示的な構造体初期化子を使うとメンバ配列の初期化がおかしくなる
- 修正 Bugzilla 731: テンプレートで正のNaNと負のNaNを使うとリンク衝突
- 修正 Bugzilla 734: 多次元配列の初期化子がおかしい
- 修正 Bugzilla 745: 関数宣言での再帰的 typeof で cc1d がクラッシュ
- 修正 Bugzilla 748: 静的/動的配列の混合で内部エラー
- 修正 Bugzilla 749: Internal error: toir.c 170 with lazy bool and delegate with default argument
- 修正 Bugzilla 750: 関数宣言での再帰的 typeof で DMD がクラッシュ
- 修正 Bugzilla 751: テンプレート展開時にコンパイラがセグメント違反
- 修正 Bugzilla 752: Assertion failure: 'e->type->ty != Ttuple' on line 4518 in file 'mtype.c'
- 修正 Bugzilla 753: クラスの仕様のページのスペルミス
- 修正 Bugzilla 754: 16進文字列を使うと構文エラー表示時にDMDがクラッシュ
- 修正 Bugzilla 757: statement.c にデバッグコードが残っている
- 修正 Bugzilla 760: std.c.stdlib に system(3) がない
- 修正 Bugzilla 763: Linux版でテンプレートコードをコンパイルするとセグメント違反
- 修正 Bugzilla 764: (typeof(o)).classinfo で構文解析エラー
- 修正 Bugzilla 765: ポインタのスライスの代入時に ArrayBoundsError
- 修正 Bugzilla 766: dmd.exe クラッシュ
- 修正 Bugzilla 770: enums と型キャスト
- 修正 Bugzilla 771: 引数リストのタプルや型を伴うdelegateを返すテンプレート関数で、奇妙なエラーメッセージ
- 修正 Bugzilla 772: テンプレート内のstatic if式で比較演算子を使った際に偽のエラー
- 修正 Bugzilla 773: 冗長な "Error: " in std.conv.ConvError
- 修正 Bugzilla 775: 配列リテラルをテンプレート引数として使えない
- 修正 Bugzilla 777: -inline: constでないメッセージをassert()に渡すとコンパイルが通らない
- 修正 Bugzilla 778: -inline: Assertion failure: '!v->csym' on line 450 in file 'glue.c'
- 修正 Bugzilla 779: init.c:103: virtual Expression* VoidInitializer::toExpression(): Assertion `0' failed.
D 0.178 での変更点
Dec 23, 2006新しい/変更のあった機能
- 名前付き戻り値の最適化 を実装
- 配列リテラルの先頭要素が静的配列ならば、 動的配列に変換されるようになりました。
- 条件文の本体に空の ; は禁止することになりました。 Bugzilla 576 参照。
バグ修正
- 修正 Bugzilla 39: 配列メンバと構造体メンバの初期化に関するdmdの挙動が仕様と一貫していない
- 修正 Bugzilla 40: 10進浮動小数の仕様とdmdの挙動が一致していない
- 修正 Bugzilla 238: 連想配列上のforeachループの中でconstフィールドを初期化できない
- 修正 Bugzilla 265: 改名importからの選択importの動作が奇妙
- 修正 Bugzilla 576: version.html - ConditionalStatement の文法がおかしい
- 修正 Bugzilla 577: statement.html - NonEmptyStatement の文法に、未定義の DebugStatement と VersionStatement が並んでいる
- 修正 Bugzilla 612: 仕様と異なり、連想配列が opEquals を使っていない
- 修正 Bugzilla 630: in/out 契約に関係した、あいまいな未実装機能
- 修正 Bugzilla 631: DMD のスペルミス
- 修正 Bugzilla 634: writef が enum に対して動作しない
- 修正 Bugzilla 635: 退行: "Error: outer class Outer 'this' needed to 'new' nested class Inner" の無限ループ
- 修正 Bugzilla 650: Assertion failure: '0' on line 774 in file 'expression.c'
- 修正 Bugzilla 651: Assertion failure: 'global.errors' on line 2622 in file 'template.c'
- 修正 Bugzilla 654: const な文字列メンバの宣言に暗黙の型推論を使うと、ゴミが残る場合がある
- 修正 Bugzilla 661: ゼロ初期化される構造体の.initプロパティを使うとエラー
- 修正 Bugzilla 663: スライス代入が適切に境界チェックをしていないことがある
- 修正 Bugzilla 665: std.c.linux.linux に足りない関数
- 修正 Bugzilla 667: std.socket.SocketShutdown.BOTH の値が正しくない
- 修正 Bugzilla 669: (a == b) の opCmp と opEquals の使い方はを誤っている
- 修正 Bugzilla 672: 内部クラスのオブジェクトでコンパイラが無限ループ
- 修正 Bugzilla 673: ABI のドキュメントが32bit限定になっている。64bitは?
- 修正 Bugzilla 681: 配列 -- 暗黙型変換のドキュメントの更新が必要
- 修正 Bugzilla 682: 可変個引数テンプレートでdmdがセグメント違反
- 修正 Bugzilla 683: New: dmdのsegv。682とは違うバグ
- 修正 Bugzilla 684: dmd はこのコンパイルを通すべき
- 修正 Bugzilla 685: dmd assertion failure
- 修正 Bugzilla 686: [Regression] opCast of a struct or union is called in nonsensical circumstances
- 修正 Bugzilla 687: DDoc が無名enumをドキュメント化しない
- 修正 Bugzilla 688: 暗黙の関数テンプレートマッチがクラスに対して動作しない
- 修正 D.announce/6072
- 修正 D/45058 の、第1,2,4項
- 修正 D.bugs/6300: Assertion failure: '0' on line 704 in file 'expression.c'
- 修正 c++/5355
D 0.177 での変更点
Dec 9, 2006新しい/変更のあった機能
- 値vから構造体Sへのキャストを S(v) と書けるようにしました
- 値vから構造体Sを初期化するのを S(v) と書けるようにしました
- TypeInfo を enum, struct, typedef 全てについて必ず生成するようになりました。 これによって実行時型情報をもっと徹底して使うことができます。
- classinfo.name が完全修飾名を返すようになりました
- -d スイッチを使わない限り配列からポインタへは暗黙変換されなくなりました
- 再コンパイルの必要な変更:
- 浮動小数点定数の名前マングリング規則を改善
- ネスト関数やメンバ関数など 'this' が必要な関数は 'M' をマングリング時につけるよう変更
バグ修正
- ドキュメント修正 Bugzilla 510: 配列とポインタ間の動作しない暗黙変換
- ドキュメント修正 Bugzilla 511: ドキュメントの問題色々
- ドキュメント修正 Bugzilla 567: テンプレートの衝突でコンパイラクラッシュ
- 修正 Bugzilla 607: toString が char[] を扱えていない
- 修正 Bugzilla 628: Assertion failure: '0' on line 91 in file 'init.c'
- 修正 Bugzilla 636: エラーメッセージに余計な "1: "
- 修正 Bugzilla 637: 内部シンボルに先頭のアンダースコアが不足
- 修正 Bugzilla 638: シンボル D_D3std9dateparse9DateParse8classifyFAaZE3std9dateparse9DateParse2DP6DateID6__initZ の最初のDは余計
- 修正 Bugzilla 653: 連想配列が微妙に変
- 修正 Bugzilla 656: main で lazy
D 0.176 での変更点
Dec 2, 2006新しい/変更のあった機能
- std.bind を追加
- 再コンパイルが必要な変更:
- 連想配列のサイズは、ポインタと同じ(ポインタの2倍ではない)となりました
- デストラクタを vtbl[] に格納しなくなりました
- 可変個引数関数への "_arguments" の渡し方を変更
- マングリング規則の改善。D.announce/5791 と D.announce/5759 を参照のこと
バグ修正
- 修正 Bugzilla 221: bool のマングリング規則の非一貫性 ('bit' の名残) [パッチあり]
- 修正 Bugzilla 294: DDoc: 関数テンプレートのドキュメントが重複してしかも不完全
- 修正 Bugzilla 500: 構造体の初期化子とdelegateリテラルが初期化子で衝突
- 修正 Bugzilla 501: テンプレートメソッド内で 'with' と IFTI が競合
- 修正 Bugzilla 503: atan2 の引数名が逆
- 修正 Bugzilla 505: rdmd と dmd が、スペースを含んだ引数をプログラムに正しく引き渡さない
- 修正 Bugzilla 507: Error: 'this' is required, but ... is not a base class of ...
- ドキュメント修正 Bugzilla 508: 配列メンバを全て初期化する必要はない
- ドキュメント修正 Bugzilla 509: [wd]char[1] は [wd]char に変換されない
- ドキュメント修正 Bugzilla 510: 配列・ポインタ間の動作しない暗黙変換
- ドキュメント修正 Bugzilla 511: ドキュメントの色々な問題点
- 修正 Bugzilla 513: 静的配列内の構造体の静的初期化子でコンパイラがクラッシュ
- 修正 Bugzilla 514: static const 初期化のエラーメッセージが不親切
- 修正 Bugzilla 517: std.compiler が古い
- 修正 Bugzilla 521: frontend: mars.h の宣言 error(Loc, const char*, char*) は正しくない
- 修正 Bugzilla 522: frontend: 64-bit 形式の文字列のクリーンアップ
- 修正 Bugzilla 524: コンパイラがクラッシュ
- 修正 Bugzilla 530: 配列リテラルを非配列定数に代入するコードでコンパイラが一般保護違反
- 修正 Bugzilla 534: 連想配列を初期化しようとしてページ違反
- 修正 Bugzilla 550: 多すぎるシフト演算をコンパイラが許可している
- 修正 Bugzilla 554: ゼロ除算エラーが2回出力される
- 修正 Bugzilla 555: 整数irealリテラルが書けない
- 修正 Bugzilla 557: 関数からタプルを返すと内部コンパイラエラー (Assertion failure: '0' on line 694 in file 'glue.c')
- 修正 Bugzilla 560: 可変個引数への参照を外に出せない
- 修正 Bugzilla 562: BOMなしで非ASCII文字で始まるソースがコンパイルできて実行できる
- 修正 Bugzilla 564: 定義済みversionをコマンドラインでも指定するとクラッシュ
- 修正 Bugzilla 567: テンプレートの競合でコンパイラクラッシュ
- 修正 Bugzilla 574: C呼び出し規約の浮動小数複素数を返す関数が、D呼び出し規約でコンパイルされる
- 修正 Bugzilla 585: dmd がセグメント違反でクラッシュ
- 修正 Bugzilla 587: char[][] の初期化をコンパイル中に DMD がクラッシュ
- 修正 Bugzilla 589: std.string.newline は char[2] でなく char[] であるべき
- 修正 Bugzilla 591: version=LittleEndian でコンパイラがクラッシュ
- 修正 Bugzilla 593: 配列リテラルから推論できない
- 修正 Bugzilla 597: std.socket の TcpSocket と UdpSocket が消えた
- 修正 Bugzilla 598: 再入可能 Linux 関数が不足している
- 修正 Bugzilla 610: ドキュメントにない動作: ~ と ~= が配列に要素1個を結合できる
- 修正 Bugzilla 613: エラーメッセージがまだ '===' と '!==' は単に非推奨だと言っている
- 修正 Bugzilla 618: このプログラムで dmd.exe 0.175 がクラッシュ
- 修正 Bugzilla 619: テンプレート構造体のインスタンスへのaliasで0.175がクラッシュ
D 0.175 での変更点
Nov 25, 2006新しい/変更のあった機能
- IsExpression に == super を追加
- scope 宣言されたクラス型の変数は、 スタックに割り当てられるようになりました。
バグ修正
- 修正 Bugzilla 222: Internal error: ..\ztc\cod1.c 1656" with && and ||
- 修正 Bugzilla 228: エラーの後で関数リテラルの返値推論があるとコンパイラがクラッシュ
- 修正 Bugzilla 311: テンプレートインスタンスがたまにオブジェクトファイルに含まれない
- 修正 Bugzilla 331: std.uni.toUniLower / std.uni.toUniUpper のパフォーマンス
- 取り込み Bugzilla 332: std.demangle を型安全可変引数関数と、遅延引数に対応
- 修正 Bugzilla 343: 構造体を含むmixinでのコンパイルエラー
- 修正 Bugzilla 349: enumのからむ関数のマッチングの間違い
- 修正 Bugzilla 352: Assertion failure: expression.c 753 - 別のテンプレートを呼び出すテンプレート内での、文字列の結合
- 修正 Bugzilla 353: char[] テンプレート引数に null を渡して、文字列リテラルと結合すると、定数式でなくなる
- 修正 Bugzilla 354: Internal error: e2ir.c 772 with bad template use
- 修正 Bugzilla 355: enum : 存在しない型、で内部コンパイラエラー
- 取り込み Bugzilla 363 XHTML 対応
- 修正 Bugzilla 364: delegate()[1]... 引数を使った時の謎のアクセス違反
- 修正 Bugzilla 373: TypeInfo の仕様のミス: 間違いと情報不足
- 修正 Bugzilla 378: Assertion failure: '0' on line 216 in file 'init.c'
- 修正 Bugzilla 379: typedefされた構造体のthisポインタ型の間違い
- 修正 Bugzilla 380: staticなところで typeof(*this) を使えない
- 修正 Bugzilla 384: 分割コンパイルすると挙動が変わる
- 修正 Bugzilla 389: std.path.altsep にリンクできない
- 修正 Bugzilla 429: 空と未初期化の動的配列を区別できない
- 修正 Bugzilla 433: 非推奨の、同名のaliasがあるとimportの解決がおかしい
- 修正 Bugzilla 443: return の中で cdouble の代入があると結果が変
- 修正 Bugzilla 444: delegateに対するforeachの中でvoid returnがうまくいかない
- 修正 Bugzilla 446: 無名クラスと、"return without calling constructor"
- 修正 Bugzilla 460: Assertion failure: '!needThis()' on line 143 in file 'tocsym.c'
- 修正 Bugzilla 464: 64bit クリーンな dchar.c
- 修正 Bugzilla 465: static テンプレートメソッドを使おうとするとエラー
- 修正 Bugzilla 466: dmd でリンクできない&コンパイルできない
- 修正 Bugzilla 467: 同じインターフェースからの二重継承
- 修正 Bugzilla 468: テンプレートのインスタンス中で引数が型と間違われる
- 修正 Bugzilla 471: mixinインスタンスの保護属性が間違ったスコープで適用される
- 修正 Bugzilla 475: 再帰可変個引数テンプレートで DMD がセグメント違反
- 修正 Bugzilla 476: Windows で DMD が自分の位置を正しく認識しない
- 修正 Bugzilla 478: 配列リテラルと変数を静的に比較できない
- 修正 Bugzilla 480: 初期化子関係のエラーメッセージで行番号が出ない
- 修正 Bugzilla 486: null オブジェクトの writefln はアクセス違反になるべきでない
- 修正 Bugzilla 488: regression: 再帰的typeofのセグメント違反
- 修正 Bugzilla 490: static属性のない静的な構造体の初期化で dmd が assert で落ちる
- 修正 Bugzilla 525: 型タプルの添え字として配列参照を使えない
- 修正 D.announce/5464
- ForStatement のスコープ定義の問題を修正
D 0.174 での変更点
Nov 14, 2006新しい/変更のあった機能
- std.typetuple を実装
- std.traits を実装
- delegate に .funcptr プロパティを追加
- 構造体とクラスに .tupleof プロパティを追加
- 型タプルのスライスと添字に対応
- 型タプル型の変数を宣言可能になりました。
- Stewart Gordon の協力で文法を整理
- DMD に、D言語1.0互換を保証するためのスイッチ -v1 を追加。
- 非推奨だった === と !== を完全に廃止
- 非推奨だった iftype を完全に廃止
- 非推奨だった on_scope_xxxx を完全に廃止
- 非推奨だった 数値リテラル接尾辞 'l' を完全に廃止
- 非推奨だった if (v; e) を完全に廃止
- 非推奨だった instance を完全に廃止
- RAII宣言には scope が使えるようになりました。 auto は型推論に使います。
バグ修正
- 修正 Bugzilla 462: typeinfo の使い方を間違うとコンパイラがクラッシュ
- 修正 Bugzilla 469: std.date のドキュメントのミス
- 修正 Bugzilla 477: ドキュメント内の URL にタグが混じっていた
- エラーを出すように修正 Bugzilla 483: タプルの .mangleof で内部コンパイラエラー
- 修正 Bugzilla 484: テンプレートのエイリアス引数に可変個引数テンプレートを使うとコンパイラが一般保護違反
- 修正 Bugzilla 489: 完全修飾名をつかうと .classinfo が動作しなかった
- 修正 Bugzilla 491: -Dd と -Hd の時には必要なディレクトリを作成
- 修正 Bugzilla 494: テンプレートの可変個引数部を型として使えない
- 修正 Bugzilla 495: テンプレートの可変個引数を他のテンプレートに渡すと内部コンパイラエラー
- 取り込み Bugzilla 496: utf_decode の 64-bit 対応
- 取り込み Bugzilla 497: sprintf のバッファサイズの 64-bit 対応
- 修正 Bugzilla 498: signal のミックスインがimportを必要としていた
- 修正 Bugzilla 499: signal を使ったときのデストラクタの複数オーバーライド
- 取り込み D/43595 の提案
- 修正 D/43649 クラッシュ
- 修正 D.bugs/8856
- 修正 D.announce/5290
D 0.173 での変更点
Nov 1, 2006新しい/変更のあった機能
- テンプレートのalias引数として、 ローカル変数やネスト関数が指定可能になりました。
- Bugzilla 333 std.c.locale の強化
- シグナル・スロット を実装
- D.announce/5104 を std.cpuid として実装
- 可変個引数テンプレートを実装
バグ修正
- 構造体テンプレートからの推論に関する、暗黙テンプレートインスタンス化のバグを修正
- 修正 - D/43122 クラッシュ
- 修正 - Bugzilla 445: デバッグ用コード: DeclarationExp::scanForNestedRef
- 修正/取り込み - Bugzilla 330: 非ASCII文字列に対する std.string.tolower / std.string.toupper の誤動作
- ドキュメント化 Bugzilla 350: 負の値の剰余は未定義
- Bugzilla 448: フロントエンド: size_t の再定義
- Bugzilla 449: フロントエンド: html.h と complex_t.h が複数回#include対応になっていなかった
- Bugzilla 450: フロントエンド: 移植性をあげるために <stdint.h> を使用
- Bugzilla 451: フロントエンド: 冗長な関数定義
- 修正 - Bugzilla 457: notifyRelease: デバッグ用コード
D 0.172 での変更点
Oct 18, 2006新しい/変更のあった機能
バグ修正
- 再修正 - Bugzilla 440: dmd.170 はfinalメソッドをabstractメソッドの実装として扱えていなかった
- 修正 - Bugzilla 441: mixinされた集成体でforeachがクラッシュ
- 修正 - Bugzilla 442: mixinされた集成体でforeachがクラッシュ
D 0.171 での変更点
Oct 18, 2006新しい/変更のあった機能
バグ修正
- 見落としていた Bugzilla 429 の変更を取り込みました
- 修正 - Bugzilla 440: dmd.170 はfinalメソッドをabstractメソッドの実装として扱えていなかった
D 0.170 での変更点
Oct 17, 2006新しい/変更のあった機能
- foreach_reverse 追加
- delegate を、foreach文で回る対象とできるようになりました
- 他をオーバーライドしていない final メンバ関数については、 _vtbl[] に置かれなくなりました。従って、 そのようなクラスから派生したコードは再コンパイルが必要です。
- null が null ポインタ、delegate、 配列、クラスオブジェクト、等に対する完全マッチ扱いとなりました。
バグ修正
- Bugzilla 407 修正
- Bugzilla 410 修正
- Bugzilla 411 修正
- Bugzilla 412 修正
- Bugzilla 414 修正
- Bugzilla 416 修正
- Bugzilla 417 取り込み
- Bugzilla 418 修正
- Bugzilla 419 修正
- Bugzilla 420 修正
- Bugzilla 422 修正
- Bugzilla 426 修正
- Bugzilla 427 修正
- Bugzilla 428 修正 (ドキュメントの更新)
- Bugzilla 429 取り込み
- Bugzilla 430 修正 (仕様の変更)
- Bugzilla 431 修正
- Bugzilla 436 修正
D 0.169 での変更点
Oct 7, 2006新しい/変更のあった機能
バグ修正
- 組み合わさった div/mod の最適化の改善
- D/42668 修正
- D.announce/4869 修正
- D.bugs/8605 修正
- Bugzilla 351 修正
- Bugzilla 377 修正
- Bugzilla 381 修正
- Bugzilla 382 修正
- Bugzilla 386 修正
- Bugzilla 391 修正
- Bugzilla 394 修正
- Bugzilla 395 修正。ただし std.regexp にはおそらくまだ UTF 周りのバグが残っています。
- Bugzilla 396 修正
- Bugzilla 397 修正
- Bugzilla 402 修正
- Bugzilla 404 修正
- Bugzilla 405 修正
D 0.168 での変更点
Oct 2, 2006新しい/変更のあった機能
- delegate に .ptr プロパティを追加
- 内部クラスのインスタンスに .outer プロパティを追加
- 配列リテラルで変数を初期化できるようにしました
- 配列リテラルから [][] 型へのキャストを可能にしました
- mixinで複数のデストラクタが挿入可能になりました
バグ修正
- D.bugs/8408 修正
- Bugzilla 104 修正
- Bugzilla 291 修正
- Bugzilla 315 修正
- Bugzilla 347 修正
- Bugzilla 356 修正
- Bugzilla 363 取り込み
- Bugzilla 365 修正
- Bugzilla 367 修正
- Bugzilla 368 修正
- Bugzilla 369 修正
- Bugzilla 370 修正
- Bugzilla 371 修正
- Bugzilla 372 修正
- Bugzilla 374 修正
- Bugzilla 385 修正
- Bugzilla 392 修正
D 0.167 での変更点
Sep 18, 2006新しい/変更のあった機能
- Stewart Gordon の提案 D.bugs/3843 を実装
- std.c.windows.stat 追加
- std.file.getTimes() 追加
- new 式での多次元配列の確保に対応
- 配列リテラル を追加
- std.format が、char[] toString() メンバ関数を持つ構造体でも動作するようになりました。
バグ修正
- static変数のvoid初期化でdmdがsegfaultするバグを修正
- D.bugs/8247 修正
- Bugzilla 285 修正
- Bugzilla 289 修正
- Bugzilla 296 修正
- Bugzilla 297 修正
- Bugzilla 303 修正
- Bugzilla 308 修正
- Bugzilla 311 修正
- Bugzilla 324 修正
- Bugzilla 325 修正
- Bugzilla 326 修正
- Bugzilla 328 修正
- Bugzilla 329 修正
- Bugzilla 334 修正
- Bugzilla 335 修正
- Bugzilla 336 修正
- Bugzilla 344 修正
D 0.166 での変更点
Aug 30, 2006新しい/変更のあった機能
- zlib を 1.2.1 から 1.2.3 にアップデート (Bugzilla 286)
- 型安全な可変個引数の場合を除いて、 式からdelegateへの暗黙変換を廃止。
- 代わりに、Tomasz Stachowiak の提案 D/41633 を受けて、lazy 引数を採用
- メンバーテンプレートを使えるようにする Oskar Linde によるパッチを取り込み。
バグ修正
- Bugzilla 295 修正
- Bugzilla 300 修正
- Bugzilla 301 修正
- Bugzilla 304 修正
- Bugzilla 306 修正
D 0.165 での変更点
Aug 20, 2006新しい/変更のあった機能
- 式からdelegateへの 暗黙変換を追加
バグ修正
- Bugzilla 170 修正
- Bugzilla 292 修正
- dstress class_26_A, dstress class_26_B 修正
D 0.164 での変更点
Aug 11, 2006新しい/変更のあった機能
- Ddoc に DDOC_COMMENT マクロを追加
バグ修正
- std.thread に public が抜けていたのを修正。Dave Fladebo による。
- D.bugs/7923 修正 修正
- D.bugs/7928 修正
- D.bugs/8028 修正
- dstress mangleof_16_A 修正
- dstress bug_cgcod_1667_A 修正
- dstress bug_type_308_B 修正
- Bugzilla 256 修正 (意図した動作を反映するようドキュメントを改訂)
- Bugzilla 262 修正 (提案された説明を追加)
- Bugzilla 264 修正 (bind listつき静的importを不正とした)
- Bugzilla 269 修正
- Bugzilla 270 修正
- Bugzilla 272 修正
- Bugzilla 273 修正
- Bugzilla 274 修正
- Bugzilla 276 修正
- Bugzilla 278 修正
- Bugzilla 279 修正
D 0.163 での変更点
Jul 18, 2006新しい/変更のあった機能
- Object.opCmp はエラーを投げるようになりました。 使うときには必ずオーバーライドしてください。これは既存のコードが動作しなくなる可能性がある仕様変更です。
- import のデフォルトを public から private に変更。 これは既存のコードが動作しなくなる可能性がある仕様変更です。
- 静的import、改名import、選択importを追加
バグ修正
- Stewart Gordon の提案 D/21572 をいれてドキュメント追加
- Bugzilla 232 修正
- Bugzilla 236 修正
- Bugzilla 239 修正
- Bugzilla 240 修正
- Bugzilla 241 修正
- Bugzilla 246 修正
- Bugzilla 247 修正
- Bugzilla 248 修正
- Bugzilla 249 修正
- Bugzilla 250 修正
- privateなモジュールメンバが他のモジュールからアクセス付加になるよう修正
D 0.162 での変更点
Jun 22, 2006新しい/変更のあった機能
バグ修正
- D.bugs/7620 修正
- D.bugs/7627 修正
- D.bugs/7630 修正
- Bugzilla 125 修正
- Bugzilla 135 修正
- Bugzilla 138 修正
- Bugzilla 145 修正
- Bugzilla 147 修正
- Bugzilla 154 修正
- Bugzilla 155 修正
- Bugzilla 167 修正
- Bugzilla 172 修正
- Bugzilla 179 修正 (1つめの例はエラーが出て、残りの2つは正しく動作するようになりました)
- Bugzilla 180 修正
- Bugzilla 181 修正 (ドキュメントの変更)
- Bugzilla 184 修正
- Bugzilla 185 修正
- Bugzilla 193 修正
- Bugzilla 197 修正
- Bugzilla 200 修正 (ラベル付き文では ';' を空文として許すよう仕様変更)
- Bugzilla 205 修正
- Bugzilla 210 修正
- Bugzilla 225 修正
D 0.161 での変更点
Jun 19, 2006新しい/変更のあった機能
- 演算子オーバーロード opIn_r を追加
- lambda delegate の関数返値型を自動推論するようになりました。
- delegate は lambda delegate を作る時には省略可能になりました。
- 同名のローカル変数宣言は非推奨となりました。
- 関数テンプレートの新しい構文を導入。
バグ修正
- D.bugs/5957 修正
- D.bugs/5958 修正
- D.bugs/7399 修正
- D.bugs/7509 修正
- D.bugs/7518 修正
- Bugzilla 14 修正 (エラーを説明するドキュメントの追加)
- Bugzilla 29 修正
- Bugzilla 34 修正
- Bugzilla 36 修正 (エラーメッセージ改善)
- Bugzilla 47 修正
- Bruno の解析に基づき Bugzilla 51 修正
- Bugzilla 57 修正
- Bugzilla 59 修正
- Bugzilla 74 修正
- Bugzilla 75 修正
- Bugzilla 76 修正
- Bugzilla 85 修正 (エラーメッセージを出すように)
- Bugzilla 96 修正 (ドキュメント変更)
- Bugzilla 103 修正
- Bugzilla 106 修正
- Bugzilla 113 修正 (Artem Rebrov に感謝)
- Bugzilla 116 修正 (offsetではなくoffsetofを使用)
- Bugzilla 119 修正
- Bugzilla 120 修正
- Bugzilla 123 修正
- Bugzilla 128 修正
- Bugzilla 130 修正
- (再度) Bugzilla 134 修正
- Bugzilla 159 修正 (エラーメッセージ改善)
- Bugzilla 160 修正
- Bugzilla 192 修正
- Bugzilla 202 修正
D 0.160 での変更点
Jun 4, 2006新しい/変更のあった機能
- ドキュメントをかなりスタイルシート化
- AssertExpression の第2引数として、 メッセージ文字列を指定可能となりました。static assert も同様です。
- Expression.NewExpression 式を追加。 内部クラスの初期化をより便利にするためです。
- InExpression の演算子オーバーロードに対応
- Windows版で、sc.ini の探索箇所を拡大:
- カレントディレクトリ
- 環境変数 HOME の指すディレクトリ
- dmd.exe のあるディレクトリ
- Linux版で、dmd.conf の探索箇所を拡大:
- カレントディレクトリ
- 環境変数 HOME の指すディレクトリ
- dmd のあるディレクトリ
- /etc/
バグ修正
- Bugzilla 50 修正。ただし o は o.new Inner の形で使うこと。
- Bugzilla 139 修正
- Bugzilla 148 修正
- Bugzilla 149 修正
- Bugzilla 156 修正
- Bugzilla 158 修正
- Bugzilla 168 修正
- Bugzilla 173 修正
- Artem Rebrov による D.bugs/7345 の修正を取り込み
- インラインアセンブラ部分についてもデバッグ用行番号情報を生成するようになりました。
D 0.159 での変更点
May 26, 2006新しい/変更のあった機能
バグ修正
- Bugzilla 134 (また!)
- D.bugs/7325
D 0.158 での変更点
May 22, 2006新しい/変更のあった機能
- D.bugs/7152 への対応として Ddoc マクロ DDOC_DITTO を追加
- D.bugs/7148 への対応として Ddoc はモジュールの COPYRIGHT マクロをデフォルトで出力するよう変更
- D.bugs/7187 への対応として dmd が -gc スイッチを表示するよう修正
- Bugzilla 77 に関して、dmd は最初の静的assertエラーが発生すると テンプレート展開よりも前に停止するように変更。
バグ修正
- Bugzilla 44 修正
- Bugzilla 54 修正
- Bugzilla 65 (dstress interface_23_D.d を含む) 修正
- Bugzilla 79 修正
- Bugzilla 83 修正
- Bugzilla 89 修正
- Bugzilla 97 修正
- Bugzilla 108 修正
- Bugzilla 110 修正
- Bugzilla 115 修正
- Bugzilla 118 修正
- Bugzilla 121 修正
- Bugzilla 126 修正
- Bugzilla 127 修正
- Bugzilla 132 修正
- Bugzilla 133 修正
- Bugzilla 134 修正
- Bugzilla 141 修正
- Bugzilla 142 修正
- Bugzilla 151 修正
- Bugzilla 153 修正
- D.bugs/7147 修正
- D.bugs/7191 修正
- D.bugs/7204 修正
- D.bugs/7218 修正
- Dstress bug_cg87_2393_A 修正
- D.bugs/7264 に従い Linux版に -m32 追加
D 0.157 での変更点
May 10, 2006新しい/変更のあった機能
- Linux版で、部分的に Dwarf シンボルデバッグ情報を生成するようになりました
- dumpobj の、 Dwarf シンボルデバッグ情報の扱いを改善
バグ修正
- Dave Fladebo による、gc内部のソートの問題の修正を取り込み
D 0.156 での変更点
Apr 28, 2006
バグ修正
- Bugzilla 117 修正
D 0.155 での変更点
Apr 27, 2006
新しい/変更のあった機能
- Microsoft の windbg.exe Win32 デバッガを同梱
- std.recls をphobosから除きました。http://synesis.com.au/software/recls/ を使ってください。
- Dave Fladebo による変更を取り込み:
- std.regexp の高速化
- pauseHandler での、続いてレジュームされるスレッドによって stackTop が上書きされて gcx.mark() がクラッシュするバグを修正。(この修正は、 単に sem_post(&flagSuspend); を sigsuspend loop ループに移動しただけです。)
- Linuxセマフォの宣言を std/c/linux/linux.d に移動
- Linux版の void wait(uint milliseconds){} を、単なる void wait() {} のスタブではなく制限時間付きに変更。 (Win32版の Thread のメソッドと同等の動作になりました。) これは、pthread の mutex と条件変数 で実装されていて、phobos の Thread の初期化に関するオーバーヘッドによって 動作が遅くなることはありません。(Thread, GC や起動の時間には影響していません。)
- 静的配列 allThreads のサイズを Windows と同じにしました。 これと同時にスタックサイズを変更することで、Linux版でも 100 以上のスレッドの作成が可能になり、Win32版との互換性が高まりました。
- コンストラクタのオプション引数として、スタックサイズを指定可能にしました。 stackBottom はスレッド生成時に固定され、stackTop の方がスタックポインタ(Win32 ではコンテキスト)に応じて動的に変化するので、デフォルト以外のスタックサイズで スレッドを作っても、GCの動作に影響はありません。この変更は、 Win32 と Linux の Thread 実装のどちらに対してもほとんどオーバーヘッドになりません。
バグ修正
- D.bugs/7029 修正
- D.bugs/7043 修正
- Bugzilla 10 修正
- Bugzilla 13 修正
- Bugzilla 15 修正
- Bugzilla 23 修正
- Bugzilla 30 修正
- Bugzilla 33 修正
- Bugzilla 35 修正
- Bugzilla 105 修正
D 0.154 での変更点
Apr 11, 2006
新しい/変更のあった機能
- 数値の接尾辞 'l' を非推奨とします。代わりに 'L' を使ってください
- 浮動小数点の接尾辞 'I' を非推奨とします。代わりに 'i' を使ってください
バグ修正
- 例外処理に失敗するようになるので、--gc_sections を廃止しました
D 0.153 での変更点
Apr 7, 2006
新しい/変更のあった機能
- std.date.MakeDate と std.date.MakeTime の引数型を、オーバーフローを起こさないように変更
- D.announce/3400 の提案を受けてarraycatを変更
- コンパイラスイッチ -nofloat を追加(Windows版のみ)。 ライブラリからの参照による __fltused の生成を抑止できます。
- Linux版dmdに、スマートリンク を有効にするための --gc-sections スイッチを追加
- smart linking を効きやすくするため、 ネスト関数はそれ自体独立したセクションに配置するようにしました。
バグ修正
- std.date が浮動小数点に依存しないように修正
- Bugzilla 45 修正
- Bugzilla 84 修正
- Bugzilla 86 修正
- Bugzilla 87 修正
- Bugzilla 90 修正
- Bugzilla 92 修正
- Bugzilla 94 修正
- Bugzilla 95 修正
D 0.152 での変更点
Apr 3, 2006
バグ修正
- phobos.lib のリリースビルド版を入れました
D 0.151 での変更点
Apr 2, 2006
新しい/変更のあった機能
- ハッシュ値の型を uint から hash_t に変更しました。 これは64bit版の実装の向上につながります。
バグ修正
- D/35845 修正
- D.bugs/6662 修正
- D.bugs/6743 修正
- D.bugs/6823 修正
- D.bugs/6838 修正 (コンパイル時にエラーと判定します)
- Bugzilla 55 修正
- Bugzilla 56 修正
- Bugzilla 57 修正
- Bugzilla 58 修正
- Bugzilla 60 は再現できず
- Bugzilla 61 修正
- Bugzilla 62 修正
- Bugzilla 65 修正
- Bugzilla 66 修正
- Bugzilla 67 修正
- Bugzilla 73 修正
D 0.150 での変更点
Mar 18, 2006
新しい/変更のあった機能
- Don Clugston の提案を受けて、 実数型や虚数型から複素数型への暗黙変換を禁止しました
- string.h の関数を std.string から std.c.string に移動
- 共変のインターフェイスメソッド返値に対応
バグ修正
- Ddoc の auto宣言での問題を修正
- Ddoc の extern (C) 関数の整形時の問題を修正
- Internal error: cg87 1297 修正
- D.bugs/6425 修正
- D.bugs/6533 修正
- D.bugs/6547 修正
- Bugzilla 5 修正
- Bugzilla 17 修正
- Bugzilla 19 修正
- Bugzilla 20 修正
- Bugzilla 25 修正
- Bugzilla 26 修正
- Bugzilla 27 修正
D 0.149 での変更点
Mar 7, 2006
新しい/変更のあった機能
- on_scope_exit を scope(exit) へ変更
- on_scope_success を scope(success) へ変更
- on_scope_failure を scope(failure) へ変更
- IfStatement で (auto v = expression), と (type v = expression) の形を使えるように変更
- bool値に対して使える演算子を & | ^ &= |= ^= ! && || ?: 演算子のみに制限しました
- opSliceAssign によってスライスへの代入のオーバーロードが可能になりました
- std.c.fenv 追加
- 暗黙のテンプレートインスタンス化に限定的に対応
バグ修正
- phobos\internal\gc\gcbits.d のbitの問題を修正
- D.bugs/6399 修正
- D.bugs/6419 修正
- bool値以外からbool値への暗黙変換を禁止
- OnScopeGuardStatement のコード生成バグを修正
D 0.148 での変更点
Feb 25, 2006
新しい/変更のあった機能
- Match式 を廃止
- foreach ループ文で、ForeachTypelist 中の型を自動で推論できるようになりました
- IfStatement で、暗黙に宣言されて条件式の値が代入される 追加の変数を指定できるようになりました
- 基本型 bit を廃止
- 基本型 boolを追加
- BitArray 追加
- On Scope 文 追加
バグ修正
- D.bugs/6277 修正
- D.bugs/6280 修正
- D.bugs/6288 修正
- D.bugs/6301 修正
- D.bugs/6302 修正
- D.bugs/6303 修正
- D.bugs/6304 修正
- D.bugs/6305 修正
- D.bugs/6327 修正
- D.bugs/6333 修正
D 0.147 での変更点
Feb 12, 2006
新しい/変更のあった機能
- std.regexp.RegExpError を RegExpException へと改名
- -run スイッチを、 直後にコンパイルするソースファイルを指定する仕様に変更
- Match式 を追加
バグ修正
- Dave Fladebo による、Linux版のstd.process.spawnvp()の修正を取り込み
- D.bugs/6196 修正
- D.bugs/6225 修正
- D.bugs/6231 修正
- D.bugs/6238 修正
- D.bugs/6251 修正
- D.bugs/6252 修正
- D.bugs/6260 修正
- D.bugs/6264 修正
- D/33201 修正
D 0.146 での変更点
Feb 9, 2006
新しい/変更のあった機能
- std.file.listdir() の機能を改良
- 長らく非推奨だった instance キーワードを廃止
- #! で始まる先頭行を無視するように変更: D/32661
- コマンドラインスイッチ -run 追加
- 全ての std.typeinfo にモジュール文を追加。 ライブラリコードの再コンパイルが必要になる可能性があります。
バグ修正
- D/32444 修正
- D.bugs/4829 修正
- D.bugs/5851, D.bugs/2677, D.bugs/2853, D/13127 修正
- D.bugs/6122 修正
- D.bugs/6141 修正
- D.bugs/6150 修正
- D.bugs/6168 修正
- D.bugs/6186 修正
- Linux版の std.math.poly() 修正
- Dave Fladebo からヘッダ生成のバグ報告があった点を修正
D 0.145 での変更点
Jan 29, 2006
新しい/変更のあった機能
バグ修正
- D/32417 を取り込み
- D.bugs/6068 修正
- D.bugs/6079 修正
- D.bugs/6080 修正
- D.bugs/6081 修正
- D.bugs/6082 修正
- D.bugs/6097 修正
- D.bugs/6099 修正
- D.bugs/6105 修正
- -fPIC でのコード生成の問題をいくつか修正
- dstress const_04 の退行を修正
- dstress asm_lea_01_B の退行を修正
- D.announce/2578 修正
- abstractテンプレートクラスの問題を修正
D 0.144 での変更点
Jan 22, 2006
新しい/変更のあった機能
- static if から同じスコープの宣言を参照可能になりました
- 再帰的なテンプレートのインスタンス化の際に先頭の . は不要になりました
バグ修正
- string==string の定数畳み込みが動作するようになりました
- 文字列リテラルの length の定数畳み込みが動作するようになりました
- 文字列リテラルへの文字のappendの定数畳み込みが動作するようになりました
- 文字列リテラルのスライスの定数畳み込みが動作するようになりました
- D.bugs/6003 修正
- D.bugs/6018 修正
- D.bugs/6027 修正
- D.bugs/6049 修正
D 0.143 での変更点
Jan 9, 2006
新しい/変更のあった機能
- D.bugs/5987: Grzegorz Adam Hankiewicz と Thomas Kuehne による std.path.expandTilde() の追加
- Added Don Clugston の std.math への改良 D/31951 を追加
バグ修正
- D.announce/2303 修正
- D.announce/2315 修正
- D.bugs/5910 修正
- D.bugs/5917 修正
- D.bugs/5924 修正
- D.bugs/5937 修正
- D.bugs/5939 修正
- D.bugs/5950 修正
- D.bugs/5970 修正
- D.bugs/5981 修正
- D.bugs/5983 修正
- Grzegorz Adam Hankiewicz の提案 D.bugs/5984 に従い、process.d 内の Windows でしか使われない宣言を version 化しました
D 0.142 での変更点
Dec 28, 2005
新しい/変更のあった機能
- D/31595 の提案にしたがい、AssertError にデストラクタを追加
- Dave Fladebo の協力によって、D interface file に対応
バグ修正
- D.bugs/5749 修正
- D.bugs/5771 修正
- D.bugs/5772 修正
- D.bugs/5773 修正
- D.bugs/5809 修正
- D/31482 修正
D 0.141 での変更点
Dec 4, 2005
新しい/変更のあった機能
- 定義済みバージョン識別子 D_InlineAsm を、 D_InlineAsm_X86 へと変更しました。前者はまだ定義されていますが、 無意味になります。非推奨です。
- D コードカバレッジ解析器 追加
- 型に、mangleされた型名を文字列として返す .mangleof プロパティを追加
バグ修正
- D.bugs/5643 修正
- D.bugs/5668 修正
- D.bugs/5687 修正
- D.bugs/5690 修正
- D.bugs/5673 修正 (OutOfMemoryException を出すようにしました)
- D.bugs/5729 修正
- dstress.run.c.creal_26_A regression 修正
- dstress.run.const_18 regression 修正
D 0.140 での変更点
Nov 23, 2005
新しい/変更のあった機能
- std.string.soundex 追加
- std.string.entab 追加
- std.string.wrap 追加
- std.string.abbrev 追加
- std.windows.charset 追加 (Stewart Gordon に感謝 D/28246)
- D識別子をデマングルする std.demangle 追加
- テンプレート内での名前の昇格を改善
- テンプレートの値引数として、 浮動小数点数と文字列を使用可能にしました
- 上記をサポートするため、テンプレートの名前マングリング規則を変更。 このため、 テンプレートを使った全てのコードは再コンパイルが必要です。
- std.utf.UtfError は廃止されました。替わりは std.utf.UtfException です。
バグ修正
- D.bugs/5299 修正
- D.bugs/5353 修正
- D.bugs/5360 修正
- D.bugs/5391 修正
- D.bugs/5429 修正
- D.bugs/5464 修正
- UTFを扱えるよう std.string.expandtabs を修正