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.023

previous version: 2.022 – next version: 2.025

Download D 2.023
released Jan 2, 2009

New/Changed Features

  • Improved speed of long division.
  • Optimizer now takes advantage of immutable and pure.
  • Added predefined version D_Ddoc which is predefined when -D switch is thrown.
  • the type of a string literal is now invariant(char)[] rather than invariant(char)[length_of_string]. It is still implicitly convertible to the latter. This is intended to reduce template instantiation bloat.
  • Undid fix for Bugzilla 2500, as the fix was arguably worse than the bug.

Bugs Fixed

  • Bugzilla 1078: Frontend uses of 'auto' where 'scope' should be used
  • Bugzilla 2517: DDoc omits abstract on classes
  • Bugzilla 2518: scope(success) not execuate and RAII variable destructor is not called
  • Bugzilla 2519: Segfault when >> used in an invalid slice
  • Bugzilla 2527: Alias Template Params Are Always Same Type As First Instantiation (according to typeof(x).stringof)
  • Bugzilla 2531: DDoc not generated correctly for struct methods inside static if
  • Bugzilla 2533: compiler falls with "assertion failed" message on wrong code
  • Bugzilla 2534: dmd.conf is wrong
  • Bugzilla 2537: compiler crashes on this code:
  • Bugzilla 2541: cannot use aliased type for decl of foreach variable
  • Bugzilla 2542: array casts behave differently at compile and runtime
previous version: 2.022 – next version: 2.025