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.038
Download D 2.038
released Dec 30, 2009
New/Changed Features
- Added core.cpuid in Druntime
 - Bugzilla 3514: opApply should be the first-choice foreach iteration method.
 - Bugzilla 3577: Wrong precedence for opPow
 - Added auto ref functions
 - Added function template auto ref parameters
 - Added isRef, isOut and isLazy to __traits
 - Transporting return type from args to return type, see DIP2
 
Bugs Fixed
- Bugzilla 45: Internal error: cgcod 1594
 - Bugzilla 46: Constant folding with long doubles
 - Bugzilla 282: Bizarre circular import nested name invisibility issue
 - Bugzilla 390: Cannot forward reference enum nested in struct
 - Bugzilla 400: forward reference error; no propety X for type Y (struct within struct)
 - Bugzilla 1160: enums can not be forward referenced
 - Bugzilla 1564: Forward reference error for enum in circular import
 - Bugzilla 2029: Typesafe variadic functions don't work in CTFE
 - Bugzilla 2816: Sudden-death static assert is not very useful
 - Bugzilla 3270: pure functions returning struct
 - Bugzilla 3443: Thread.thread_needLock() should be nothrow
 - Bugzilla 3455: Some Unicode characters not allowed in identifiers
 - Bugzilla 3458: int fsync(int) commented out in core.sys.posix.unistd
 - Bugzilla 3476: C-style initializer for structs must be disallowed for structs with a constructor
 - Bugzilla 3575: CTFE: member structs not initialized correctly
 - Bugzilla 3583: Unsigned right shift works the same as signed right shift.
 - Bugzilla 3584: DeclDef rule is missing entries
 - Bugzilla 3585: Duplicate clauses in EqualExpression and RelExpression rules
 - Bugzilla 3587: Aggregate rule references undefined Tuple
 - Bugzilla 3588: WithStatement rule references unspecified Symbol
 - Bugzilla 3589: BaseClassList and InterfaceClasses rules are incorrect, missing ','
 - Bugzilla 3590: FunctionParameterList rule is missing
 - Bugzilla 3591: TemplateIdentifier rule is misspelled
 - Bugzilla 3592: ClassTemplateDeclaration and FunctionTemplateDeclaration rules are unreferenced
 - Bugzilla 3593: IntegerExpression rule unspecified
 - Bugzilla 3594: AsmPrimaryExp rule references unspecified rules
 - Bugzilla 3595: Several rules are missing ':' after rule name
 - Bugzilla 3596: Need alias for using std.algorithm.remove
 - Bugzilla 3601: Debug and Release builds of DMD produce different object files
 - Bugzilla 3611: Enum forward referencing regression
 - Bugzilla 3612: ExpressionList is undefined
 - Bugzilla 3617: CTFE: wrong code for if(x) where x is int or smaller
 - Bugzilla 3621: implicit conversion to const rules need tightening
 - Bugzilla 3633: Optimizer causes access violation
 - Bugzilla 3641: alias shared T U does not work
 - Bugzilla 3645: manifest constant (enum) crashes dmd
 - Bugzilla 3647: non-function opDispatch crashes dmd