Influenced by the news group discussion "I wish I could use D for everything". The idea is to build a factual list of the delta complexity between D1 and D2. Ideas may come from D 2.0 Enhancements, but this should cover more of the significance of the enhancements.
The first place to look for precise information is the D official documentation. Most of the following links actually send you there.
- Introduction of const
- optional and doesn't affect callers of api's that declare const params
- Introduction of immutable
- less optional since it's not as coercible, but also less frequently
- Introduction of pure functions. See also Purity in D
- optional, will not affect callers of apis
- Introduction of nothrow functions
- optional, simple, will not affect callers of apis
- Template if clause
- Template alias parameters
- ref returns
- alias this
- template literals
- struct ctors and dtors