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