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

Copyright © 1999-2023 by the D Language Foundation | Page generated by Ddoc on Fri Sep 15 21:14:13 2023