Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

Change Log: 2.030

previous version: 2.029 – next version: 2.031

Download D 2.030
released May 11, 2009

New/Changed Features

  • added -vtls compiler switch
  • classic global storage now defaults to TLS (Thread Local Storage). This is a big change, see Migrating To Shared.
  • std.algorithm: added minPos. Improvements to Splitter suggested by Brad Roberts. Splitter now is bidirectional. Also Splitter has one extra trailing element if it ends with a separator. Added variadic arguments for setUnion and setIntersection. Added functions setSymmetricDifference and largestPartialIntersection. Improved BinaryHeap's interface and implementation.
  • std.array: Improvements to Appender. Now it works with string and other immutable-element arrays, and accepts ranges in put().
  • std.format: added raw specifier for reading
  • std.range: Added iota with two arguments. Added FrontTransversal and Transversal.
  • std.stdio: added File.byChunk
  • std.traits: Added isImplicitlyConvertible.
  • std.tuple: Added Tuple.opComp.
  • Folded in compiler changes by Unknown W. Brackets to support Solaris.
  • added .typeinfo to ClassInfo Bugzilla 2836: Navigate from ClassInfo to TypeInfo

Bugs Fixed

  • Fix instruction scheduler bug on Linux
  • unlisted: made std.numeric.entropy work on const/immutable arrays
  • Fixed several problems associated with thread local storage
  • Bugzilla 642: error: mixin "static this" into where it cannot be
  • Bugzilla 713: circular const definitions with module operator "." cause the compiler to segfault
  • Bugzilla 752: Assertion failure: 'e->type->ty != Ttuple' on line 4518 in file 'mtype.c'
  • Bugzilla 858: Forward reference to struct inside class crashes the compiler
  • Bugzilla 884: Segfault in recursive template
  • Bugzilla 934: Segfault taking mangleof a forward reference in a template.
  • Bugzilla 1011: illegal import declaration causes compile time segfault
  • Bugzilla 1054: regression: circular aliases cause segfaults
  • Bugzilla 1061: "asm inc [;" segfaults compiler.
  • Bugzilla 1305: Compiler hangs with templated opCmp returning templated class
  • Bugzilla 1385: Stack Overflow with huge array literal.
  • Bugzilla 1428: Segfault on template specialization with delegates and tuples
  • Bugzilla 1791: Segmentation fault with anon class in anon class and non-constant variable init
  • Bugzilla 1916: segfault on invalid string concat
  • Bugzilla 1946: Compiler crashes on attempt to implicit cast const typedef to non-const.
  • Bugzilla 2048: DMD crash on CTFE that involves assigning to member variables of void-initialized struct
  • Bugzilla 2061: wrong vtable call with multiple interface inheritance
  • Bugzilla 2215: Forward reference enum with base type within a struct causes Segmentation Fault in the compiler
  • Bugzilla 2309: Crash on a template mixing in a variadic template with an undefined template identifier
  • Bugzilla 2346: ICE when comparing typedef'd class
  • Bugzilla 2580: Documented WinMain for D2 is wrong
  • Bugzilla 2633: incorrect ModuleInfo declaration in object.di
  • Bugzilla 2695: pure functions can invoke impure function pointers
  • Bugzilla 2807: Marking a nested function as 'pure' may cause bad code generations silently accepted
  • Bugzilla 2821: struct alignment inconsistent with C for { int, long }
  • Bugzilla 2851: Segfault using C-style struct initializer with too few arguments
  • Bugzilla 2865: RandomCover not random
  • Bugzilla 2882: std.random.MersenneTwisterEngine without seed
  • Bugzilla 2890: deadlock in std.stdio
  • Bugzilla 2893: qualified types don't have an Unsigned counterpart
  • Bugzilla 2906: writef problem with formatting floating point
  • Bugzilla 2914: to!string(struct) is broken
  • Bugzilla 2920: recursive templates blow compiler stack
  • Bugzilla 2922: Egregiously bad hashing performance with strings
previous version: 2.029 – next version: 2.031