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.053
Download D 2.053
released May 12, 2011
New/Changed Features
- Added 64 bit tools to Linux
 - Added FreeBSD support
 - Renamed linux/bin to linux/bin32, added linux/bin64
 - osx/lib32 renamed back to osx/lib
 - Added some gc benchmark apps
 - Move std.intrinsic to core.intrinsic
 - Implemented exception chaining, as described in TDPL for Posix.
 - Added parent to __traits for QtD support
 - Allow impure code inside debug conditionals
 - Added cmpxchg16b, 64 bit bswap and movq instructions to internal assembler
 - Added bindings for libcurl: etc.c.curl
 - Added std.net.isemail
 - Added std.parallelism
 - Added support for positional parameter intervals, e.g. %1:3$s prints the first three parameters using the 's' format specifier
 - Added findSplit, findSplitBefore, findSplitAfter to std.algorithm; improved walkLength
 - Improved online documentation for std.algorithm
 - Added roundRobin, takeOne, and takeNone to std.range; improved stride
 - Added unsigned to std.traits
 - Removed std.iterator. Use either std.range.ElementType or std.range.ElementEncodingType depending on what you're trying to do.
 - Bugzilla 2656: Remove octal literals
 - Bugzilla 4097: Error: can only declare type aliases within static if conditionals
 - Bugzilla 4360: Allow intrinsics in core.bitop to operate as intrinsics
 - Bugzilla 4833: dmd -od doesn't make it to optlink's command line for map files
 
Druntime Bugs Fixed
- Bugzilla 5612: core.cpuid not implemented on 64
 - Bugzilla 1001: print stack trace (in debug mode) when program die
 - Bugzilla 5847: Threads started by core.thread should have same floating point state as main thread
 
Library Bugs Fixed
- Bugzilla 4644: assertExceptionThrown to assert that a particular exception was thrown
 - Bugzilla 4944: Missing tzname even though we have tzset
 - Bugzilla 5451: Three ideas for RedBlackTree
 - Bugzilla 5474: unaryFun byRef is borked for custom parameter name
 - Bugzilla 5485: TLS sections handled incorrectly in FreeBSD
 - Bugzilla 5616: std.datetime: not cross-platform
 - Bugzilla 5654: BigInt returns ZERO with strings of single digit number with leading zeros
 - Bugzilla 5661: std.algorithm.move does not work on elaborate struct
 - Bugzilla 5731: std.datetime.SysTime prints UTC offsets backwards
 - Bugzilla 5761: std.datetime: Date.this(int day) conversion fails for Dec 30 of leap years
 - Bugzilla 5780: [patch] std.traits.hasIndirections incorrectly handles static arrays
 - Bugzilla 5781: std.datetime: On Windows, times off by one hour in some years due to DST rule changes
 - Bugzilla 5794: std.datetime StopWatch (and perhaps benchmark) examples need a small fix
 - Bugzilla 5928: Bigint modulo problem -- critical wrong-code bug
 
DMD Bugs Fixed
- Note: Although temporaries are destroyed now, they are not destroyed when exceptions are thrown. This is scheduled to be fixed.
 - Bugzilla 2436: Unexpected OPTLINK termination EIP = 00425303 with /co
 - Bugzilla 3372: optlink silently mistreats object files with more than 16384 symbols
 - Bugzilla 4275: Unexpected optlink termination when 'export' attribute is missing
 - Bugzilla 4808: UNEXPECTED OPTLINK TERMINATION AT EIP=0042787B
 - Bugzilla 5670: Optlink 8.00.11 crash
 - Bugzilla 937: C-style variadic functions broken
 - Bugzilla 1330: Array slicing does not work the same way in CTFE as at runtime
 - Bugzilla 1336: Inconsistent __traits usage
 - Bugzilla 1389: Can't use mixin expressions when start of a statement.
 - Bugzilla 1880: templates instantiated with non-constants should fail sooner
 - Bugzilla 2257: Template value parameters behave like alias parameters
 - Bugzilla 2414: enum is dynamically evaluated, yum
 - Bugzilla 2526: non-const initializer to constant accepted inside template
 - Bugzilla 2706: invalid template instantiation (and declaration?) is not rejected
 - Bugzilla 2733: Unclear semantics of template value parameters
 - Bugzilla 2841: char[] incorrectly accepted as a template value argument in D2
 - Bugzilla 2850: bad codegen for struct static initializers
 - Bugzilla 2990: TypeInfo.init() returns invalid array
 - Bugzilla 3086: TypeInfo opEquals returns incorrect results
 - Bugzilla 3214: Incorrect DWARF line number debugging information on Linux
 - Bugzilla 3271: Struct initializers silently fail
 - Bugzilla 3516: Destructor not called on temporaries
 - Bugzilla 3792: Regression(1.053) "non-constant expression" for a template inside a struct using a struct initializer
 - Bugzilla 3779: ["123"][0][$-1] causes __dollar unresolved in compile-time
 - Bugzilla 3801: CTFE: this.arr[i] cannot be evaluated at compile time for structs
 - Bugzilla 3835: ref foreach does not work in CTFE
 - Bugzilla 4033: Error: base class is forward referenced
 - Bugzilla 4050: [CTFE] array struct member slice update
 - Bugzilla 4051: [CTFE] array struct member item update
 - Bugzilla 4097: Error: can only declare type aliases within static if conditionals
 - Bugzilla 4140: Error: non-constant expression "hello"[1u..__dollar]
 - Bugzilla 4298: Constant array translated to unnecessary array literal creation
 - Bugzilla 4322: "void initializer has no value" on struct/union members initialized to "void"
 - Bugzilla 4329: Do not show error messages that refer to __error
 - Bugzilla 4360: Allow intrinsics in core.bitop to operate as intrinsics
 - Bugzilla 4437: copy construction bug with "return this;"
 - Bugzilla 4499: calls to @disabled postblit are emitted
 - Bugzilla 4543: Regression(1.054, 2.038) typedef causes circular definition and segfault
 - Bugzilla 4750: fail_compilation/fail225.d causes dmd to segv
 - Bugzilla 4815: CodeView: Global and Static symbols should have unmangled names
 - Bugzilla 4817: CodeView: Enum members should have simple names
 - Bugzilla 4833: dmd -od doesn't make it to optlink's command line for map files
 - Bugzilla 4917: Symbol conflict error message refers to aliased symbol instead of the alias
 - Bugzilla 5147: [CTFE] Return fixed-size matrix
 - Bugzilla 5268: Outdated windows GUI sample in Samples folder
 - Bugzilla 5362: checking $ in bracket is broken
 - Bugzilla 5482: Crash with align(0)
 - Bugzilla 5485: TLS sections handled incorrectly
 - Bugzilla 5524: [CTFE] Trouble with typesafe variadic function
 - Bugzilla 5647: [64-bit] Valgrind complains about illegal instruction
 - Bugzilla 5649: std.conv.parse faulty for floating point with -O -m32
 - Bugzilla 5657: Temporary object destruction
 - Bugzilla 5664: Cannot compile static synchronized member function.
 - Bugzilla 5694: va_arg doesn't work with idouble and ifloat
 - Bugzilla 5671: CTFE string concat problem
 - Bugzilla 5672: ICE(cod2.c): incorrect optimization of (long &1) == 1
 - Bugzilla 5678: new enum struct re-allocated at compile time
 - Bugzilla 5694: va_arg doesn't work with idouble and ifloat
 - Bugzilla 5706: Incorrect opcode prefix generated for x86_64 inline assembly
 - Bugzilla 5708: Incorrect string constant folding with -inline
 - Bugzilla 5717: 1.067 regression: appending Unicode char to string broken
 - Bugzilla 5722: Regression(2.052): Appending code-unit from multi-unit code-point at compile-time gives wrong result
 - Bugzilla 5735: non-scalar types implicitly converted to boolean
 - Bugzilla 5740: Unable to use this pointer in inline assembly
 - Bugzilla 5741: Add the SYSCALL and SYSRET opcodes to the inline assembler
 - Bugzilla 5798: Weakly pure function calls skipped inside a comma expression
 - Bugzilla 5812: Added constant fold optimisations for ^^ expressions
 - Bugzilla 5840: Cannot assign to an array member of struct in CTFE
 - Bugzilla 5852: CTFE: wrong code for string[] ~= const(string)
 - Bugzilla 5858: Import doesn't accept const string as argument
 - Bugzilla 5865: __dollar cannot be read at compile time
 - Bugzilla 5890: ICE and wrong scope problem for 2nd argument in static assert with DMD on git master
 - Bugzilla 5916: DMD: bad message for incorrect operands error
 - Bugzilla 5938: ICE ztc\symbol.c 1043
 - Bugzilla 5940: Cannot create arrays of std.algorithm.map
 - Bugzilla 5965: [2.053 beta] map rejects a predicate with anon-func and nested func
 - Bugzilla 5966: [2.053 beta][CTFE] Stack overflow on trivial func
 - Bugzilla 5972: CTFE: Can't assign to elements of arrays of slices
 - Bugzilla 5975: [2.053 beta][CTFE] ICE: 'global.errors' on line 1416 in file 'constfold.c'
 - Bugzilla 5976: "variable used before set" with foreach with ref + scope(failure) + structure method + -O -inline
 - Bugzilla 5982: [2.053 beta] std.iterator gone, but no mention of the change
 - Bugzilla 5987: mydll sample doesn't compile
 - Clarify tuple index out of bounds error message
 - Add 64 version of xchg and jmp to inline assembler. Fixed 64 bit LEA
 - CTFE: Generate error messages for accessing null arrays
 - Fix optimizer bug with to!float("123e2")
 - Fix spelling of cmpxchgb8
 
Copyright © 1999-2018 by the D Language Foundation | Page generated by
Ddoc on (no date time)