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

変更ログ 2.020

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

Download D 2.020
2008年10月20日リリース

新機能/変更点

  • リハッシュ時にツリーのバランスを調整することで、AAのパフォーマンスを改善した。
  • immutableが実装された。
  • Bugzilla 2344: 配列関数のルックアップを2つ間違えた。
  • Bugzilla 2345: 参照で返す 参照による 許容される
  • Posix はLinuxでコンパイルする際に定義済みの識別子になった。
  • Sean Kelly氏の努力により、phobosは2つのライブラリに分割された。 druntime.libとphobos.libの2つのライブラリに分割された。これにより Tangoとのより良い統合が可能になる。 ソースコードの変更点は以下の通り:
    から から
    bit bool
    _d_OutOfMemory() onOutOfMemoryError()
    import std.asserterror; import core.exception;
    import std.hiddenfunc; import core.exception;
    import std.switcherr; import core.exception;
    import std.array; import core.exception;
    import std.outofmemory; import core.exception;
    import std.gc; import core.memory;
    import std.thread; import core.thread;
    SwitchError SwitchException
    AssertError AssertException
    HiddenFuncError HiddenFuncException
    ArrayBoundsError ArrayBoundsException
    std.gc.fullCollect() GC.collect()
    std.gc.*() memory.gc_*()
    _moduleUnitTests() import runtime; runModuleUnitTests()
    printf 追加import std.c.stdio;
    スレッドの変更
    • スレッドハンドルはユーザーには公開されない。 このハンドルは、スレッド内から適切なOSコールを使って常に取得できる。
    • Thread.pause()とThread.resume()に相当するdruntimeはない。 最も近いのはthread_suspendAll()とthread_resumeAll()--GCが使用するための外部(C)コールである。
    • Thread.wait()はThread.join()に改名された。
    • スリープ機能はThread.sleep(double)として利用可能で、パラメータはスリープする秒数を表す(端数値も当然受け付ける)。
    これは大きな変更である。 これは大きな変更である。

バグの修正

  • Bugzilla 1229: リンカーがディスクを埋める
  • Bugzilla 2332: 定数または不変ハッシュの初期化で不具合が発生する
  • Bugzilla 2333: ハッシュのイニシャライザーが動作しない
  • Bugzilla 2336: 存在しないstd_array.htmlへのリンク
  • Bugzilla 2340: テンプレートのプロパティが機能しない
  • Bugzilla 2341: コピーを挟まない二重破壊
  • Bugzilla 2362: 変更可能な不変要素のエイリアス」の説明が混乱している?
  • Bugzilla 2363: 配列の前に()を付けると、関数名の後に()が必要になる。
  • Bugzilla 2366: constメンバ関数の構文が抜けている。
  • Bugzilla 2368: 他の関数のアドレスで関数を呼び出し、返されたオブジェクトを呼び出すと拒否される。
  • Bugzilla 2373: freebsd select が 999,999 以上の値を受け付けない。
  • Bugzilla 2376: 文字の配列リテラルでCTFEに失敗する。
  • Bugzilla 2380: 静的構造体イニシャライザが非静的イニシャライザとして受け入れられたが、ドキュメント化されていない。
  • Bugzilla 2383: デフォルトの引数は、呼び出し先では見えないプライベートなグローバル変数に暗黙的にアクセスできる。
  • Bugzilla 2385: linux ではすべての構造体は隠しポインタで返されると書かれているが、レジスタを使用している。
  • Bugzilla 2390: intからcharへの変換に関する警告がない
前バージョン: - 次のバージョン: