D 更新履歴
- D 1.033 での変更点
- D 1.032 での変更点
- D 1.031 での変更点
- D 1.030 での変更点
- D 1.029 での変更点
- D 1.028 での変更点
- D 1.027 での変更点
- D 1.026 での変更点
- D 1.025 での変更点
- D 1.024 での変更点
- D 1.023 での変更点
- D 1.022 での変更点
- D 1.021 での変更点
- D 1.020 での変更点
- D 1.019 での変更点
- D 1.018 での変更点
- D 1.017 での変更点
- D 1.016 での変更点
- D 1.015 での変更点
- D 1.014 での変更点
- D 1.013 での変更点
- D 1.012 での変更点
- D 1.011 での変更点
- D 1.010 での変更点
- D 1.009 での変更点
- D 1.007 での変更点
- D 1.006 での変更点
- D 1.005 での変更点
- D 1.004 での変更点
- D 1.003 での変更点
- D 1.002 での変更点
- D 1.001 での変更点
- D 2.0 の更新履歴
- 古い履歴
- さらに古い履歴
- テクニカルサポート
D 1.033 での変更点
Jul 11, 2008新しい/変更のあった機能
バグ修正
- Bugzilla 2207: deprecateとオーバーロード解決
- Bugzilla 2208: deprecateな関数宣言でdeprecateな型を使えない
- Bugzilla 2209: offsetofのドキュメントでtypo
- Bugzilla 2212: phobos自身は -w スイッチonでもコンパイル通るべき
D 1.032 での変更点
Jul 9, 2008新しい/変更のあった機能
- ランタイムライブラリ内での使用のために、プロパティ .__vptr と .__monitor をクラスオブジェクトに追加。
バグ修正
- D.announce/12322: mixin の退行
- Bugzilla 203: std.format.doFormat() がUnicode文字列に対してパディングがおかしい
- Bugzilla 211: mixin引数や無名メソッドをaliasしたときのリンクエラー
- Bugzilla 224: 正しくない警告 "no return at end of function"
- Bugzilla 252: -w と switch の return で不適切な "no return at end of function" 警告
- Bugzilla 253: 不正な <dl> タグが Ddoc で生成される
- Bugzilla 294: DDoc: 関数テンプレートで不完全なドキュメントが二重生成される
- Bugzilla 398: 二重に再帰したmixinでコンパイルが止まらない
- Bugzilla 423: dmd が空のコマンドライン引数を無視する
- Bugzilla 515: .offsetof の適用可能な式についてドキュメントがおかしい
- Bugzilla 520: invariant から public 関数が呼べてしまう
- Bugzilla 542: deprecated な型(クラス以外)が関数引数に使われていても警告されない
- Bugzilla 543: deprecated な型が返値型に使われていても警告されない
- Bugzilla 544: deprecated な型(クラス以外)の変数が警告されない
- Bugzilla 545: deprecated な構造体、共用体、列挙体やtypedefの組み込みstaticプロパティへのアクセスが警告されない
- Bugzilla 547: deprecated なメンバ変数への明示的なオブジェクト参照を通したアクセスが警告されない
- Bugzilla 548: deprecated な enum へのアクセスが警告されない
- Bugzilla 566: テンプレートで非staticメンバや関数をクラスに追加してもエラーにならない
- Bugzilla 570: おかしな再帰的mixinエラー
- Bugzilla 571: クラスインスタンスメンバテンプレートが奇妙な値を返す
- Bugzilla 572: typeofでテンプレートインスタンスを使うと構文解析エラー
- Bugzilla 581: ドットでインスタンス化したテンプレートで行番号無しエラー表示
- Bugzilla 617: IFTI 時に非テンプレート引数に対して通常の promotion 規則が適用されていない
- Bugzilla 870: テンプレートに対する矛盾したエラーメッセージ
- Bugzilla 951: 行番号無しエラー: デフォルトコンストラクタのないクラスから派生したクラスにコンストラクタがない
- Bugzilla 1097: 行番号無しエラー: 要素型のサイズの違う配列間のキャスト
- Bugzilla 1158: 行番号無しエラー: 関数スコープの外での不正なmixin
- Bugzilla 1176: 行番号無しエラー
- Bugzilla 1187: 二段階mixinの構文エラーでSEGV
- Bugzilla 1194: fcmov* のコード生成がおかしい
- Bugzilla 1207: デストラクタに関するドキュメントが混乱を招く
- Bugzilla 1341: typeof(int) はおそらく正当?
- Bugzilla 1601: shr と shl のエラーメッセージに行番号が無い
- Bugzilla 1612: インラインアセンブリでの無名ラベルで行番号無しエラー
- Bugzilla 1907: 行番号無しエラー
- Bugzilla 1912: 行番号無しエラー (不正な値引数のタプル)
- Bugzilla 1936: 行番号無しエラー (配列の次元溢れ)
- Bugzilla 2161: コンパイラを、_adEq と _adCmp に要素の TypeInfo ではなく配列の TypeInfo を渡させる変更
- Bugzilla 2166: さらに Phobos でコンパイルできない物達
- Bugzilla 2178: 行番号無しエラー3つ: typeof
D 1.031 での変更点
Jun 17, 2008新しい/変更のあった機能
- -fPIC スイッチが指定されたことを示す バージョン識別子 D_PIC を追加
バグ修正
- Bugzilla 1383: 関数テンプレート暗黙インスタンス化 と 型安全可変個引数delegate の組み合わせがうまくいかない
- Bugzilla 1559: version 文の外のコードが消える
- Bugzilla 1675: OMF オブジェクトファイルで "Identifier too long" エラー
- Bugzilla 1963: -H で壊れたヘッダができる
- Bugzilla 2111: 基底クラスの tupleof にアクセスするときアクセス保護が正しく解決されていない
- Bugzilla 2118: ドキュメントで string と invariant(char[]) の使い方が一貫していない
- Bugzilla 2123: 無名クラスがクラッシュ
- Bugzilla 2132: CTFE: ~= がコンパイル時評価できない, D2のみ
- Bugzilla 2136: typeof(super(...)) がコンストラクタ呼び出しとしてカウントされている
- Bugzilla 2140: 中身の無い static if を最後の文にすると他の部分がスキップされる
- Bugzilla 2143: ミックスインで導入された識別子が static if に認識されない
- Bugzilla 2144: 'is' がクラスと配列以外では '==' と同じとされているが opEquals が呼ばれない
- Bugzilla 2146: テンプレート内で定義された 'static this' が複数回実行される
- Bugzilla 2149: -H オプションでできる di ファイルでは auto 変数宣言から "auto" が抜けている
D 1.030 での変更点
May 16, 2008新しい/変更のあった機能
- ライブラリ生成用の -lib スイッチ追加。
- マニュアル閲覧用の -man スイッチ追加
- 実行ファイルの生成時には、 1モジュール1オブジェクトファイルではなく、 全モジュールを含んだオブジェクトファイルを生成するように変更
バグ修正
- Bugzilla 2031: Documentation: テンプレートの値引数
- Bugzilla 2032: スタックをクラス上に作る場合に関数ドキュメントが直感的でない
- Bugzilla 2033: -g + 循環参照 => dmdのハング
- Bugzilla 2039: -ignore スイッチがドキュメントから抜けている
- Bugzilla 2044: -g で DMD がハング
- Bugzilla 2055: (ICE) 構造体初期化子が多すぎるとコンパイラがクラッシュ
- Bugzilla 2058: クラスのメンバ関数に渡される隠し引数について触れるべき
- Bugzilla 2067: 無名クラスからの呼び出しでアクセス違反
- Bugzilla 2071: 仕様では、二つのポインタに関する算術演算について触れられていない
- Bugzilla 2075: 仕様では、配列リテラルの格納方法について触れられていない
- Bugzilla 2084: ?: 演算子が最も狭い型を計算していない
- Bugzilla 2086: string と char[] の関係を明示すべき
- Bugzilla 2089: CTFE とタプル添え字の問題
- Bugzilla 2090: タプルのメンバになっているテンプレートインスタンスをaliasできない
D 1.029 での変更点
Apr 23, 2008新しい/変更のあった機能
- 未対応のpragmaを無視する -ignore スイッチ追加
- 未対応プラグマを -v スイッチで表示するようになりました
- Benjamin Shropshire によるドキュメントの修正を取り込み
バグ修正
- Bugzilla 1712: インターフェイスの vtbl[0] が対応する Interface* になっていない
- Bugzilla 1741: 静的配列を添字型とする連想配列でクラッシュ
- Bugzilla 1905: foreach のドキュメントに一貫性がない
- Bugzilla 1906: foreach が巨大な配列で使えない
- Bugzilla 1908: closure14.d 修正
- Bugzilla 1935: DMD の .zip 内の std.recls のサンプルは古い
- Bugzilla 1967: getDirName が windows で altsep を使っていない
- Bugzilla 1978: 間違った vtable 呼び出し
- Bugzilla 1991: Dmd がハング
- Bugzilla 2019: 一要素の配列リテラルの結合がうまくいかない
D 1.028 での変更点
Mar 6, 2008新しい/変更のあった機能
- クラス型と null の演算子比較をコンパイル時エラーとしました
バグ修正
- dwarf の DT_AT_upper_bound に関するバグを修正
- Bugzilla 756: タプルに対する IFTI がタプルが最後の引数の時しか働かない
- Bugzilla 1454: alias引数があると IFTI が正しく推論しない
- Bugzilla 1661: 整数パラメタのあるテンプレートを特殊化できない
- Bugzilla 1809: template.c:2600
- Bugzilla 1810: MmFile の無名ファイルマッピングが win32 で動作しない
- Bugzilla 1819: synchronized のあとに retun 文が無いという無駄な警告
- Bugzilla 1828: スレッド周りの問題幾つか
- Bugzilla 1833: std.c.windows.windows は定数にenumを使うか、もっと選択的に extern(Windows) を使うべき
- Bugzilla 1836: インラインアセンブラでenum値をパラメタとして使えない
- Bugzilla 1837: dmdが渡されたパラメタファイルの中身を延々表示してコンソールを溢れさせるのをやめて
- Bugzilla 1843: 構造体の前方参照時に、行番号無しの嘘の到達不可能文警告がでる
- Bugzilla 1850: コンパイラが小文字のレジスタ名を受け入れる
- Bugzilla 1852: 構造体にキャストしたときopCallが見失われる
- Bugzilla 1853: opCmp のドキュメントには例が必要
- Bugzilla 1857: プロファイル時に実行時SEGV - 不正なアドレスにジャンプ
- Bugzilla 1862: asm: [ESI+1*EAX] は正しいアドレッシングモードなはず
- Bugzilla 1864: finalクラステンプレートで変数が間違ってfinal宣言される
- Bugzilla 1865: エスケープシーケンスが変
- Bugzilla 1877: std.math.atan2 のドキュメントに間違い
- Bugzilla 1879: 'scope' と 'static if' でコンパイラがセグメント違反
- Bugzilla 1882: Internal error: ..\ztc\cod1.c 2529
D 1.027 での変更点
Feb 18, 2008新しい/変更のあった機能
- auto interface を再度有効にしました
バグ修正
- aliasされたテンプレート引数のddocでの表示を改善
- Bugzilla 1072: CTFE: 増分式が空のfor文でクラッシュ
- Bugzilla 1435: DDoc: DDOC_PSYMBOL をそこかしこに適用しすぎ
- Bugzilla 1825: ローカルなインスタンス化と関数のネスト
- Bugzilla 1837: dmd が渡されたパラメタファイルの内容を表示してコンソールを溢れさせるのをやめる
- Bugzilla 1842: Linuxでのコンパイル時に、意味のないリンカコマンドが出力される
D 1.026 での変更点
Jan 20, 2008新しい/変更のあった機能
- WinMain と DllMain をテンプレートのmixinで定義可能になりました
バグ修正
- Bugzilla 1697: -O スイッチで Internal error: ..\ztc\cgcod.c 2322
- Bugzilla 1707: is式のテンプレート引数リスト内で '==' を使うとsegfault
- Bugzilla 1711: delegate リテラルのtypeofがテンプレート引数として使えない
- Bugzilla 1718: 終了コード 5 でおかしな終了
- Bugzilla 1719: スコープつきのinterfaceのインスタンスでコンパイラがクラッシュ、あるいは不安定なコードを生成
- Bugzilla 1724: Internal error: toir.c 177
- Bugzilla 1725: std.stream.BufferedFile.create は FileMode.OutNew を使うべき
- Bugzilla 1767: 正しいコードが通らない
- Bugzilla 1769: 例外に関するページにtypo
- Bugzilla 1773: 巨大すぎる整数リテラル
- Bugzilla 1779: 2個以上の型引数の推論でコンパイラがクラッシュ
- Bugzilla 1783: DMD 1.025 が構造体、テンプレート、aliasに関するコードでassertで停止
- Bugzilla 1788: dmd が情報を出さずにsegfault
D 1.025 での変更点
Jan 1, 2008新しい/変更のあった機能
バグ修正
- Bugzilla 1111: 同じenum内の別のメンバを初期化子で参照していると、そのenumの型でなく基底型として扱われる
- Bugzilla 1720: std.math.NotImplemented のメッセージにスペースが足りない
- Bugzilla 1738: 構造体に関するエラーで行番号が出ない
- Bugzilla 1742: CTFEがうまくいかないテンプレート関数がある
- Bugzilla 1743: CTFEのコードで interpret.c:1421 assertion failure
- Bugzilla 1744: CTFE: voidを返す関数を変数に代入するとクラッシュ
- Bugzilla 1749: std.socket が strerror のせいでスレッド安全でない
- Bugzilla 1753: 再帰的CTFE関数で文字列が壊れる
D 1.024 での変更点
Nov 27, 2007新しい/変更のあった機能
- カバレッジ解析の方法を変更して、 モジュール感の依存順序に影響を受けないようにしました。
バグ修正
- Bugzilla 70: valgrind: Conditional jump or move depends on uninitialised value(s) in elf_findstr
- Bugzilla 71: valgrind: Invalid read of size 4 in elf_renumbersyms
- Bugzilla 204: abstractクラスをインスタンス化しようとした時のエラーメッセージは改善すべき
- Bugzilla 1508: dmd/linux テンプレートシンボルの問題
- Bugzilla 1656: 不正な宣言が通ってしまう
- Bugzilla 1664: (1.23).stringof が拙いコードを生成
- Bugzilla 1665: Internal error: ..\ztc\cod2.c 411
D 1.023 での変更点
Oct 31, 2007新しい/変更のあった機能
- サイズ 16 バイト以下の static data segment のデータは paragraph align されるようになりました
バグ修正
- Bugzilla 318: wait が Linux でスレッドリソースを解放しない
- Bugzilla 322: メモリの割り当て/解放を行うスレッドを実行すると、GCでスレッド停止エラーが起こりうる
- Bugzilla 645: std.thread.Thread.pauseAll でのスレッド間競合
- Bugzilla 689: 仕様書のサンプルからprintfを取り除こう!
- Bugzilla 697: アセンブラの db, dw 等で定数畳み込みが動作していない
- Bugzilla 706: 関数内の配列リテラルに関する型推論が正しくない
- Bugzilla 708: インラインアセンブラ: "CVTPS2PI mm, xmm/m128" がコンパイルできない
- Bugzilla 709: インラインアセンブラ: "CVTPD2PI mm, xmm/m128" がコンパイルできない
- Bugzilla 718: Internal error: ../ztc/cgcod.c 562
- Bugzilla 723: クラス定義を関数レベルでmixinする不正なコードで: func.c:535: virtual void FuncDeclaration::semantic3(Scope*): Assertion `0' failed
- Bugzilla 725: expression.c:6516: virtual Expression* MinAssignExp::semantic(Scope*): Assertion `e2->type->isfloating()' failed.
- Bugzilla 726: "override" を mixin するとエラー行番号が変
- Bugzilla 729: SwitchBody に scope(...) 文を書くとコンパイラがsegv
- Bugzilla 733: std.conv.toFloat がエラーをcatchしない
- Bugzilla 1258: 配列結合時にガベージコレクタがメモリを見失う
- Bugzilla 1478: libcのネットワークAPIのスレッド安全性問題
- Bugzilla 1480: std.stream がいたるところで新しく追加されたoverrideの警告を出す
- Bugzilla 1483: スレッド内でのエラー出力がstderrになっていない
- Bugzilla 1491: 死んだソケットにデータを送ったときのSIGPIPEを抑制
- Bugzilla 1557: std.zlib がメモリを ubyte[] でなく void[] で割り当てているためメモリリーク
- Bugzilla 1562: テンプレートalias引数の推論失敗
- Bugzilla 1575: タプルの代入ができない
- Bugzilla 1593: ICE: 関数内の空のreturn文でコンパイラがクラッシュ
- Bugzilla 1613: DMD が構文エラーでハング
- Bugzilla 1618: std\system.d に typo
D 1.022 での変更点
Oct 1, 2007新しい/変更のあった機能
バグ修正
- std.boxer の Object のボックス化 (単体テスト失敗) を修正
- std.demangle を、隠しパラメータ (thisと、delegateのコンテキストポインタ) を表示しないように修正
- Bugzilla 217: internal/object.d で typeof が正常動作していない
- Bugzilla 218: 古いビット配列のコードを削除
- Bugzilla 223: 未初期化変数に関するエラーメッセージがエラー箇所を表示しない
- Bugzilla 278: dmd.conf の検索パスが動作しない
- Bugzilla 479: 配列リテラルと文字列をコンパイル時比較できない
- Bugzilla 549: deprecatedクラスからの派生が検出されない
- Bugzilla 550: 型のサイズを超える量のシフトが許されている
- Bugzilla 551: 剰余演算子虚数や複素数に対しても動いている
- Bugzilla 556: is (Type Identifier : TypeSpecialization) が期待されるとおりに動かない
- Bugzilla 668: *.di ファイルを使うとモジュールコンストラクタの実行順序が変
- Bugzilla 1125: asmでサイズ指定なしにタプルを使うとsegv
- Bugzilla 1437: dmdのクラッシュ: "Internal error: ..\ztc\cod4.c 357"
- Bugzilla 1474: 退行: 初期化子つきの const struct がテンプレートのalias引数として認識されない
- Bugzilla 1484: enumの前方参照でDMDがクラッシュ
- Bugzilla 1488: asm内でタプルを使うとおかしなコードが生成される
- Bugzilla 1510: ICE: Assertion failure: 'ad' on line 925 in file 'func.c'
- Bugzilla 1523: 構造体リテラルとtypedefを合わせて使えない
- Bugzilla 1531: typedefされたクラスのフィールドにアクセスできない
- Bugzilla 1537: Internal error: ..\ztc\cgcod.c 1521
- Bugzilla 1609: TypeInfo_Typedef の next() の実装が正しくない
D 1.021 での変更点
Sep 5, 2007新しい/変更のあった機能
- コマンドラインスイッチ -defaultlib と -debuglib を追加
- Bugzilla 1445: デフォルトライブラリオプションの sc.ini / dmd.conf への追加
- trace_term() を object.d に追加。(Bugzilla 971 の修正: アプリケーションがexitで終了するとプロファイル結果が生成されない)
- モジュールの静的コンストラクタ/デストラクタを複数定義可能にしました
バグ修正
- Bugzilla 961: std.windows.registry のスタック破壊
- Bugzilla 1315: CTFE が構造体配列をデフォルト初期化しない
- Bugzilla 1363: for文内の構造体に関するコンパイル時実行の問題
- Bugzilla 1375: CTFE がnull配列でエラー
- Bugzilla 1378: 配列リテラル内での価数呼び出しでコンパイラがクラッシュ
- Bugzilla 1384: opCallメンバのない構造体を関数のように呼び出すとコンパイラがSEGV
- Bugzilla 1388: 複数の静的コンストラクタがモジュールに定義できる
- Bugzilla 1414: コンパイラが構造体関係のCTFEでクラッシュ
- Bugzilla 1423: Registry: 値が壊れる
- Bugzilla 1436: std.date.getLocalTZA() がWindowsで夏時間の時に間違った値を返す
- Bugzilla 1447: CTFE がクラスの静的関数で動作しない
- Bugzilla 1448: コンソールへの UTF-8 が全く動かない
- Bugzilla 1450: Registry: invalid UTF-8 sequence
- Bugzilla 1460: 正しいコードでコンパイラがクラッシュ
- Bugzilla 1464: "static" foreach でCTFEが動かなくなる
D 1.020 での変更点
Jul 23, 2007新しい/変更のあった機能
バグ修正
- extern (System) の修正
D 1.019 での変更点
Jul 21, 2007新しい/変更のあった機能
- 型 dchar を Codeview 拡張で 0x78 と表現するよう変更
- extern (System) を追加
- Bugzilla 345: std.uni.isUniAlpha の Unicode 5.0.0 対応
バグ修正
- Bugzilla 46: 同梱されているmanファイルが更新されていない
- Bugzilla 268: SocketSet とクラスのバグ
- Bugzilla 406: std.loader が Linux で動かない
- Bugzilla 561: インターフェースのインスタンスを作ろうとするとおかしなエラーがダブる
- Bugzilla 588: std.demangleの、ネストしたシンボルとLazy引数対応
- Bugzilla 668: *.di ファイルを使うと静的コンストラクタの実行順がおかしい
- Bugzilla 1110: std.format.doFormat + toString()のない構造体 == クラッシュ
- Bugzilla 1199: コンパイル時に空の配列や文字列を添え字参照すると奇妙なメッセージがでる
- Bugzilla 1300: コンパイル時関数内での構造体に問題
- Bugzilla 1306: extern (Windows) は、変数に対する extern (C) と同じように動作すべき
- Bugzilla 1331: ヘッダファイル生成で、pragmaに ";" の代わりに ":" が出力されている
- Bugzilla 1332: Internal error: ../ztc/cod4.c 357
- Bugzilla 1333: -inline ICE: 配列の要素をクラス/構造体内のネスト関数内で内部クラスのコンストラクタに渡すと発生
- Bugzilla 1336: unittest内で宣言されたクラスをテンプレートクラスから構築しようとすると内部エラー
D 1.018 での変更点
Jul 1, 2007新しい/変更のあった機能
バグ修正
- Bugzilla 540: ネストしたテンプレートメンバ関数のエラー - "function expected before ()"
- Bugzilla 559: メソッドのfinalが効果がない
- Bugzilla 627: 文字列を文字列の配列に ~ で結合すると壊れる
- Bugzilla 629: エラーメッセージが変 "Can only append to dynamic arrays"
- Bugzilla 639: タプル引数でdmdがICE
- Bugzilla 641: テンプレート引数で複雑な文字列処理をするとdmdがICE
- Bugzilla 657: version() が無視される
- Bugzilla 689: 仕様書からprintfをなくそう!
- Bugzilla 1103: metastrings.ToString が long > 0xFFFF_FFFF で動かない
- Bugzilla 1107: CodeView: bool に対して間違った CV 型
- Bugzilla 1118: switch 文の邪悪な動作
- Bugzilla 1186: bind にちょっと修正が必要
- Bugzilla 1199: 空配列や文字列をコンパイル時に添え字参照すると奇妙なエラーメッセージ
- Bugzilla 1200: DMDのクラッシュ: 偽の ConditionalStatement のみを含む文で時々
- Bugzilla 1203: ループ内で無名クラスを作れない
- Bugzilla 1204: コンパイル時実行中に構造体を使うとsegv
- Bugzilla 1206: 構造体を前方参照するメソッドのあとでthis()を定義するとコンパイラが死ぬ
- Bugzilla 1207: デストラクタの仕様が混乱を招く
- Bugzilla 1211: mixin("__LINE__") が間違った値になる
- Bugzilla 1212: dmd が変な行番号を生成
- Bugzilla 1216: コンパイル時実行の外で結合を行うと 'non-constant expression'
- Bugzilla 1217: ドル ($) が文字配列の[]以外の箇所では非定数と見なされる
- Bugzilla 1219: long.max.stringof が壊れている
- Bugzilla 1224: CTFE中のassertでコンパイルが止まらない
- Bugzilla 1228: クラス不変条件はオブジェクトが完全に構築されるまでは呼ばれるべきでない
- Bugzilla 1233: std.string.ifind(char[] s, char[] sub) がASCII外の文字列で失敗することがある
- Bugzilla 1234: "Occurrence" のスペルミス
- Bugzilla 1235: std.string.tolower() がutf8文字列で失敗することがある
- Bugzilla 1236: 浮動小数点数の文法が不完全
- Bugzilla 1239: 空のタプルが可変個引数テンプレート関数に渡されるとICE
- Bugzilla 1242: DMD AV
- Bugzilla 1244: 配列のlengthの型が未定義
- Bugzilla 1247: インドのタイムゾーン重宝がない
- Bugzilla 1285: 例外のtypedefがcatchで区別されない
- Bugzilla 1287: タプルの配列上をループすると "glue.c:710: virtual unsigned int Type::totym(): Assertion `0' failed."
- Bugzilla 1290: real, imaginary, ? :, += を使ったときのICE
- Bugzilla 1291: テンプレートから返されたクラスの .stringof が動作しない
- Bugzilla 1292: テンプレート引数推論が動作しない
- Bugzilla 1294: 引数で渡された構造体配列のフィールドアクセスで正しくないコードが生成される
- Bugzilla 1295: 字句解析の文法にいくつか細かい間違い
D 1.017 での変更点
Jun 25, 2007新しい/変更のあった機能
- __VENDOR__ と __VERSION__ を追加
- 変数の .init プロパティはその変数を初期化した値ではなく、 その型のデフォルト値を返すようになりました
バグ修正
- std.compiler は自動更新されるように修正
- CTFE時 e++ と e-- のバグを修正
- Bugzilla 1254: void初期化された引数をコンパイル時関数に渡すと動作しない
- Bugzilla 1256: シンボルを渡す "with" 文
- Bugzilla 1259: inline ビルドで不正なエラーメッセージ "Error: S() is not an lvalue" が出現
- Bugzilla 1260: またタプルのバグ
- Bugzilla 1261: 過剰なエラーメッセージからの退行
- Bugzilla 1262: リテラルで初期化された構造体変数を.initと比較すると再初期化されてしまう
- Bugzilla 1263: テンプレート関数のオーバーロードが、テンプレートとそうでないクラスの両方に対してなされていると失敗する
- Bugzilla 1268: 構造体リテラルで静的配列を初期化しようとするとおかしな結果になる
- Bugzilla 1269: void初期化された配列への代入でCTFE時にコンパイラがクラッシュ
- Bugzilla 1270: -inline で ICE
- Bugzilla 1272: 新しい 1.0 セクションの問題点
- Bugzilla 1276: static assert のメッセージがエスケープされた文字で表示される
- Bugzilla 1283: writefln: 以下の変数にフォーマッタが適用される
D 1.016 での変更点
Jun 14, 2007新しい/変更のあった機能
- コンパイラの変更はありません
- D 2.0 との互換性のため、alias string, wstring, dstring を追加
バグ修正
D 1.015 での変更点
Jun 5, 2007新しい/変更のあった機能
バグ修正
- 標準エラー出力に出る例外のメッセージに\nが抜けていたのを追加
- コンパイル時関数実行の際の構造体のデフォルト初期化バグ修正
- Bugzilla 1226: 構造体リテラルでICE
- GCのメモリ破壊問題を修正
D 1.014 での変更点
Apr 26, 2007新しい/変更のあった機能
- 連想配列リテラル 追加
- 構造体リテラル 追加
- CTFE時に配列の要素への代入が可能になりました
バグ修正
- Bugzilla 1000: writefln がネストした配列でエラー
- Bugzilla 1143: Assertion failure: '0' on line 850 in 'template.c' - IFTIテンプレート引数の特殊化で
- Bugzilla 1144: template mixin で DMD がクラッシュ
- Bugzilla 1146: mixin + assert() でコンパイラがクラッシュ
- Bugzilla 1153: dmd が assert 失敗
- Bugzilla 1159: いろいろな mixin で "CompileExp::semantic" メッセージがでる。時々DMDがクラッシュ
- Bugzilla 1174: 非ゼロ初期化子を持つenumの配列を作るとプログラムがハング
- Bugzilla 1177: CTFE関数の中で動作しない
- Bugzilla 1180: 巨大な割り当て要求でGCが失敗
- Bugzilla 1189: Webページのタイトルを逆に
D 1.013 での変更点
Apr 19, 2007新しい/変更のあった機能
バグ修正
- std.format で静的配列を扱うとクラッシュする問題を修正
- Bugzilla 582: 混合タプルをスライスできない
- Bugzilla 594: 配列リテラルのチェックを静的にできない
- Bugzilla 595: 配列/配列リテラル に静的に要素追加できない
- Bugzilla 997: [退行] 構造体を返す関数で、条件に応じて他の関数の結果をそのまま返すものが正しく動かない (NRVOのバグ?)
- Bugzilla 1090: attributeの仕様: "}" と "end of scope"
- Bugzilla 1091: クリティカルセクションに割り当てられたメモリサイズが変
- Bugzilla 1094: switchのバグ
- Bugzilla 1096: toUTCString + UTCtoLocalTime + d_time_nan で妙なハング
- Bugzilla 1098: d/dmd/expression.c で math.h と port.h にシンボル衝突
- Bugzilla 1119: Internal error: ../ztc/cgcod.c 2190 (template instantiation)
- Bugzilla 1121: テンプレート関数でコード生成がassert
- Bugzilla 1132: DMDがリンカをコマンドラインで呼び出している
- Bugzilla 1134: 不正な呼び出し規約が使われている
- Bugzilla 1135: 予約語 invariant の構文解析が大変なことに
- Bugzilla 1147: phobos/std/file.d の typo: 4069 じゃなくて 4096
- Bugzilla 1148: 構造体を返す関数で問題
- Bugzilla 1150: コンパイラが間違ったコードを生成
- Bugzilla 1156: インストール済みライブラリは違った順序で渡す必要がある
- Bugzilla 1163: 複数の変数をvoid初期化できない
D 1.012 での変更点
Apr 12, 2007新しい/変更のあった機能
バグ修正
- D.announce/8190 が -v1 で動くようにしました
- D.announce/8193
- Bugzilla 532: ローカル変数のaliasをテンプレート引数にしたときのマングリング名が間違っている
- Bugzilla 1068: mixinと関数テンプレートでスタック破壊
- Bugzilla 1089: TypeInfo_Pointer.compareに安全でないポインタ比較
- Bugzilla 1127: -v1 でも予約語ref, macroが無効にならない
D 1.011 での変更点
Apr 11, 2007新しい/変更のあった機能
- Codeview シンボルデバッグ情報の出力として、LF_OEM タイプを出すように拡張
- Dwarf シンボルデバッグ情報の出力として、DW_TAG_darray_type DW_TAG_aarray_type, DW_TAG_delegate 型を出力するように拡張
- 予約語 ref と macro を追加
- final と宣言すると派生できないクラスとなるようにしました
- 変数に対する final 宣言が動作するようになりました
- inout の代わりに ref が使えるようになりました
- 型省略宣言で、 auto a=1,c=2; のように複数の変数を宣言できるようになりました
バグ修正
- 同じテンプレート引数を持つが、 関数引数が違う関数テンプレートの オーバーロードの問題を修正
- テンプレートのインスタンスに対するテンプレート特殊化の、 型推論の問題を修正
- assert template.c(2956) s->parent 修正
- typeofに対して .property が動くようにしました
- Linuxのバージョンによって DW_AT_comp_dir の出力にバグがあったのを修正
- D.announce/8027
- D.announce/8047
- D/51800
- Bugzilla 1028: インラインアセンブラでタプルを使うとsegv
- Bugzilla 1052: DMD 1.009 - aliasing functions from superclasses may result in incorrect conflicts
- Bugzilla 1080: std.windows.registry でリンク失敗
- Bugzilla 1081: -O オプション付きで real を使うとdmdがバグったコードを出す
- Bugzilla 1082: .offsetof の型がsigned intだかsize_tの方が適切
- Bugzilla 1086: CodeView: 文字列スイッチに行番号がない
- Bugzilla 1092: compiler crash in ..\ztc\cod1.c 2528
- Bugzilla 1102: switch case にテンプレート引数が使えない
- Bugzilla 1108: int配列の要素がコンパイル時実行で取り出せない
- Bugzilla 1122: dmd が出すエラーメッセージの行番号が変
D 1.010 での変更点
Mar 24, 2007新しい/変更のあった機能
- 複数のパラメタによる テンプレートの部分特殊化に対応
- 文字列からクラスオブジェクトを生成する Object.factory(char[] classname) メソッドを追加
- std.gc.malloc(), std.gc.extend(), std.gc.capacity() を追加
- std.string.isEmail() と std.string.isURL() を追加
- std.stdio.readln() を追加
- 配列のリサイズと追加の際の gc のパフォーマンス向上
- Bugzilla 64: catchされなかったエラーの出力は標準エラー出力にされるべき
- Ddocの定義済みマクロ DOCFILENAME を追加
バグ修正
- http://digitalmars.com/d/comparison.html のリンク切れ を修正
- CTFE と配列リテラルの問題を修正
- Bugzilla 931: D Strings vs C++ Strings のページに間違い
- Bugzilla 935: extern グローバル C 変数
- Bugzilla 948: operatoroverloading.html - Rationale の部分が古いし情報不足
- Bugzilla 950: ファイル名と行番号がない: conflict between implicit length in [...] and explicit length declared in the scope
- Bugzilla 959: ddoc のちょっとした問題
- Bugzilla 1056: CTFE内で pragma(msg) するとSEGV
- Bugzilla 1062: typedefされたクラスをcatchできない
- Bugzilla 1074: std.c.locale ページへのデッドリンク
D 1.009 での変更点
Mar 10, 2007新しい/変更のあった機能
バグ修正
- D/49928 1
- D.announce 7563
- Bugzilla 146: テンプレートのDWARFデバッグ情報のファイル名が変
- Bugzilla 992: static ifでCTFE失敗
- Bugzilla 993: float引数についてABIのドキュメントが間違っている
- Bugzilla 995: タプル/const配列の要素をreturnするコンパイル時間数
- Bugzilla 1005: dmd: tocsym.c:343: virtual Symbol* FuncDeclaration::toSymbol(): Assertion `0' failed.
- Bugzilla 1009: CodeView: out/inout 引数が void* になる
- Bugzilla 1014: -Hでヘッダを生成すると文字リテラルのエスケープがおかしい
- Bugzilla 1016: 再帰関数でCTFE失敗
- Bugzilla 1017: CTFEが (string == string)をサポートしていない
- Bugzilla 1018: regression: Error: divide by 0
- Bugzilla 1019: regression:ファイル名と行番号がない: Error: array index X is out of bounds [0 .. Y]
- Bugzilla 1020: regression: mov EAX, func
- Bugzilla 1021: CTFE と void 関数
- Bugzilla 1022: CodeView: typeleaf と datasymbol で union が長さゼロになっている
- Bugzilla 1026: 長さゼロのタプルの長さを調べるとdmdがSEGV
- Bugzilla 1030: 1行でICE; delegate内の構造体
- Bugzilla 1038: 明示的クラスキャストが1.007で変になっている
D 1.007 での変更点
Feb 20, 2007新しい/変更のあった機能
- 比較演算子は左右に結合しなくなりました; 比較, 同値, 同一, in 演算子は全て同じ優先順位となります
- out と inout 引数をコンパイル時関数実行で使用可能になりました
- .dup プロパティが コンパイル時関数実行で使用可能になりました
- lib を更新し、 シンボルテーブルに COMDAT を挿入するようにしました
- クラス参照は暗黙に void* へと変換できなくなりました
バグ修正
- D/48806 クラッシュ
- D/48811
- D/48845
- D/48869
- D/48917
- D/48953
- D/48990
- D/49033
- D.announce/7496
- Bugzilla 968: コンパイル時実行で内部コンパイラエラー
- Bugzilla 974: コンパイル時実行の括弧のバグ
- Bugzilla 975: コンパイル時のconst配列でdmdがクラッシュ
- Bugzilla 980: 空配列に文字を結合しようとすると、dmdがコンパイル時実行できないと判断する
- Bugzilla 981: templateの外で引数なし関数を呼ぶ形でコンパイル時関数実行ができない
- Bugzilla 986: Internal error: e2ir.c 1098
D 1.006 での変更点
Feb 15, 2007新しい/変更のあった機能
- -Jpath スイッチを追加。 今後、テキストファイルを import するにはこのスイッチが必要です。
- -v の出力に実際のファイル名を含めるよう拡張
- TypeInfo_Struct の名前文字列を、 TypeInfo_Struct の comdat に含めるようになりました。
- 関数の コンパイル時実行
バグ修正
- Bugzilla 960: DMD 1.0 が future.html にある
- クラスの Codeview デバッグ情報が正しく LF_CLASS となりました
D 1.005 での変更点
Feb 5, 2007新しい/変更のあった機能
- -v オプションが pragma library 文と import されたファイル名を出力するようになった
- 非推奨だった === と !== の廃止
- 配列添え字内の length が他の length の宣言を隠すことは無くなりました
- MixinStatement, MixinExpression, MixinDeclaration を追加
- ImportExpression を追加
- std.metastrings を追加
バグ修正
- Bugzilla 761: std.format.doFormat が、%s を含む char[][] の要素で失敗
- Bugzilla 784: 退行: [Issue 402] mixinと前方参照でコンパイラクラッシュ
- Bugzilla 787: std.ctype.isprint のドキュメントが誤っている
- Bugzilla 788: Compiler rejects hex floats in the format: HexPrefix HexDigits . HexDigits(opt) with binary-exponent-part required
- Bugzilla 789: 転送コンストラクタでconstメンバの初期化ができない
- Bugzilla 791: dhry.d の例は少し変更しないと 1.0 でコンパイルできない
- Bugzilla 794: std.math.exp2(0) が 1 ではなく 0 になる
- Bugzilla 800: 連想配列を writefln() すると失敗する
- Bugzilla 821: 文字列コピーでセグメント違反; ドキュメントの間違ったサンプル
- Bugzilla 831: 警告!! 文字列リテラルはプラットフォームによっては読み取り専用
- Bugzilla 832: NRVO: foreach内からのreturnの値が壊れる
- Bugzilla 835: 大文字小文字を無視するモードで、RegExp.test が間違ったマッチを返す
- Bugzilla 846: Error 42: Symbol Undefined _D1a7__arrayZ
- Bugzilla 848: C のソートの例でtypo
- Bugzilla 862: 存在しない識別子を選択importすると変な間違ったエラーメッセージになる
- Bugzilla 872: ネストしたクラスで "this.outer" の typeof をとると expression.c で Assertion に引っかかる
- Bugzilla 875: glue.c line 700 でクラッシュ
- Bugzilla 886: std.zlib の展開ルーチンが、結果バッファをポインタを含まない領域としてマークしない
- Bugzilla 887: TypeInfo は opCmp, toHash を正しくオーバーライドしていない
- Bugzilla 888: -cov と _ModuleInfo のリンクのバグ
- Bugzilla 890: char[4] をreturn して char[] に代入すると期待と違う結果
- Bugzilla 891: このコードをコンパイルするとクラッシュ (1.0, 1.001, 1.002 で確認)
- Bugzilla 893: プロファイルフラグが Linux x86 64 で動かない模様
- Bugzilla 894: 実装のあるabstractメソッドの問題
- Bugzilla 897: デフォルトの dmd.conf ファイルの集成
- Bugzilla 898: std.conv.toInt が ConvOverflowError を投げない
- Bugzilla 901: 配列リテラルの比較がエラーとなる
- Bugzilla 903: printfと文字列リテラルの例がクラッシュ
- Bugzilla 908: テンプレート内で、staticメソッドを非staticメソッドとしてインライン展開しようとしてコンパイラ死亡
- Bugzilla 910: 予約語 "this" と "super" の説明の間違い
- Bugzilla 913: 非推奨のトークンがまだリストアップされている
- Bugzilla 915: invariant 関数に対して dmd が誤ったreturn(retn 4)を生成
- Bugzilla 916: 退行: Internal error: ../ztc/gloop.c 1305
- Bugzilla 917: 退行: 循環typedefでセグメント違反
- Bugzilla 924: GC が有効なオブジェクトを回収してしまう
- D.announce/6983
D 1.004 での変更点
Jan 26, 2007新しい/変更のあった機能
バグ修正
- Bugzilla 892: 新GCの別のバグ - mixin内のポインタ
D 1.003 での変更点
Jan 26, 2007新しい/変更のあった機能
バグ修正
D 1.002 での変更点
Jan 24, 2007新しい/変更のあった機能
バグ修正
- D.announce/6893: ClassInfo.flags が正しくない
- D.announce/6906: 末尾再帰の微妙なケース: 第1項, 第2項
D 1.001 での変更点
Jan 23, 2007新しい/変更のあった機能
- 末尾再帰が再び動作するようになった
- 型情報を使う GC
バグ修正
- Bugzilla 621: ループ内で、tryブロックからbreakするとfinallyが実行されない
- Bugzilla 804: Linux 関数の不足
- Bugzilla 815: whileループの継続にcontinueを使ったとき scope(exit) が実行されない
- Bugzilla 817: const char[] = string_literal - string_literal が各参照につき1個ずつ含まれてしまう
- Bugzilla 819: コマンドラインの使い方の中でレスポンスファイルについて触れるべき
- Bugzilla 820: GCはポインタの含まれる型に対してのみポインタ走査をすべき
- Bugzilla 823: frontend: mars.h の verror の宣言が正しくない
- Bugzilla 824: "mov EAX, func;" と "lea EAX, func;" の生成するコードが間違っている
- Bugzilla 825: 巨大なchar[]をテンプレート引数にするとdmdがセグメント違反
- Bugzilla 826: ICE: is式内での不正なテンプレートインスタンス化
