Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Calendar
  - Forums
  - IRC
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - 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.036

Download D 2.036
released Nov 5, 2009

#### New/Changed Features

- Static arrays are now passed by value to functions rather than by reference
- std.algorithm: Add hasLength requirement to topN; implemented topN for two non-adjacent ranges; added replaceTop function to BinaryHeap; changed BinaryHeap.top to return ref.
- std.ctype: Add pure to isalnum, isalpha, iscntrl, isdigit, islower, ispunct, isspace, isxdigit, isgraph, isprint, isascii, toupper.
- std.date: Implementation change and unittest for isLeapYear and daysInYear. Made both pure as well.
- std.encoding: Added function count().
- std.md5: Added explicit pass-by-ref for fixed-size buffers.
- std.numeric: Added gcd.
- std.random: Added static checks for the parameters of the linear congruential generator.
- std.range: Reinstated some unittests; fixed Cycle to work with the new fixed-size arrays.
- std.typecons: Added alias 'expand' for Tuple.field.
- std:utf: Added count function and changed the encode function to take fixed-size array by reference.
- Bugzilla 3446: Rename float.min to float.min_normal

#### Bugs Fixed

- std.range: Fixed unlisted bug in Transposed.
- Problem with complicated array op expressions
- Bugzilla 195: DDoc generates bad output when example contains "protected" attribute
- Bugzilla 424: Unexpected OPTLINK Termination at EIP=0044C37B (too many fixups)
- Bugzilla 1117: ddoc generates corrupted docs if code examples contain attributes with colons
- Bugzilla 1812: DDOC - Unicode identifiers are not correctly marked.
- Bugzilla 2694: alias pure nothrow XXX; is not pure nothrow!
- Bugzilla 2862: ICE(template.c) using type tuple as function argument
- Bugzilla 3035: cannot have const/invariant out parameter of type shared
- Bugzilla 3102: Incorrectly matching type as shared (two cases with is expressions)
- Bugzilla 3269: pure functions silently become nothrow
- Bugzilla 3292: ICE(todt.c) when using a named mixin with an initializer as template alias parameter
- Bugzilla 3349: typeid(shared(T)) generates wrong value
- Bugzilla 3367: Regression: struct initialization no longer supports ctor overloads
- Bugzilla 3397: Unintended function call to static opCall
- Bugzilla 3401: Compiler crash on invariant + method overload
- Bugzilla 3422: ICE(cgcod.c) Structs with default initializers bigger than register size cannot be default parameters
- Bugzilla 3423: Destructor and postblit don't get copied to the header file when using -H
- Bugzilla 3426: ICE(optimize.c): struct literal with cast, as function default parameter.
- Bugzilla 3429: Core dump on passing template literal to member function.
- Bugzilla 3432: ICE(e2ir.c): casting template expression

Copyright © 1999-2018 by the D Language Foundation | Page generated by Ddoc on Tue Jul 10 18:59:56 2018