Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Forums
  - IRC
  - Community Discord
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - Security Team
  - Donate
  - Sponsors
- Resources
  - Tour
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - run.dlang.io
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
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.026

Download D 2.026
released Mar 3, 2009

#### New/Changed Features

- Escape string literals deprecated, see Bugzilla 2658
- Tripled speed of exp, expm1, and exp2. std.math is now less dependent on the C standard library.
- Added nested structs.
- Added buildable dmd source.
- Many changes to std.math for speed, accuracy, and Tango compatibility:
  - Improved accuracy of exp, expm1, exp2, sinh, cosh, tanh on Mac OSX, and tripled speed on all platforms.
  - Now using IEEE754-2008 camelCase names for isNaN, isFinite, isNormal, isSubnormal, isInfinity. Aliases for the old names have been retained.
  - The non-functional nan(char[]) is replaced with NaN, getNaNpayload.

#### Bugs Fixed

- Bugzilla 1603: String literals bind to pointer types
- Bugzilla 1629: Link error: Previous Definition Different: blablah__initZ
- Bugzilla 1662: Falls back to libphobos if -debuglib isn't used when -g is
- Bugzilla 1681: cast(real) ulong.max == 0
- Bugzilla 2416: Slice of typedef'ed array should preserve the typedef'ed type
- Bugzilla 2597: auto return doesn't work for a variety of cases
- Bugzilla 2612: immutable not accepted wherever invariant is
- Bugzilla 2619: Locally-instantiated structs are not instantiated locally
- Bugzilla 2621: ref binds to rvalues of user-defined types
- Bugzilla 2622: ref returns not allowed in complex template
- Bugzilla 2623: Function type drops ref spec
- Bugzilla 2670: std.file.read() should read files of 0 length
- Bugzilla 2673: Static constructors sometimes do not run when compiling with -lib
- Bugzilla 2675: cannot foreach structs with copy constructor
- Bugzilla 2676: alias parameters not matched in concept if clause
- Bugzilla 2677: Alias type parameters not visible in concept-if clauses
- Bugzilla 2678: for loops are already assumed to terminate
- Bugzilla 2679: Spurious "warning - " messages and erratic behaviour with is(typeof({void function}()))
- Bugzilla 2684: Associative arrays have wrong opIndex signatures
- Bugzilla 2690: DMD aborts with MALLOC_CHECK_ set

Copyright © 1999-2023 by the D Language Foundation | Page generated by Ddoc on Wed Feb 1 17:27:17 2023