Difference between revisions of "Differences With TDPL"

From D Wiki
Jump to: navigation, search
(add lambda syntax link, add new alias syntax subsection)
Line 8: Line 8:
  
 
=== New Lambda Syntax ===
 
=== New Lambda Syntax ===
 +
http://dlang.org/expression.html#Lambda
 +
 +
=== New Alias Syntax, Alias Templates ===
 +
http://dlang.org/declaration.html#AliasDeclaration
  
 
=== Attribute Inference for Templates and Delegates ===
 
=== Attribute Inference for Templates and Delegates ===

Revision as of 15:32, 27 February 2014

The following is a list of differences between D2 and The D Programming Language book by Andrei Alexandrescu.

These need to be verified. This list was simply gathered from a post by Jonathan M. Davis on the NG to get this page started.

New Features

Weak vs Strong Purity

New Lambda Syntax

http://dlang.org/expression.html#Lambda

New Alias Syntax, Alias Templates

http://dlang.org/declaration.html#AliasDeclaration

Attribute Inference for Templates and Delegates

(or at least delegate literals - I'm not sure exactly when delegates get their attributes inferred)

IFTI now uses the tail-const type of arrays and pointers

Unimplemented Features

Multiple alias this

You can only have one subtyping member currently.

Shared

Not all of shared's guarantees are implemented yet.

SafeD

@safe (and therefore SafeD) isn't fully implemented. So, it doesn't necessarily work quite like it's supposed to yet.

Differences

Overriding private methods

According to TDPL, you can override private, but right now only public and protected functions are virtual. I'm not sure that it's 100% clear whether the compiler will be changed to match or whether TDPL is going to have to be changed. You can look at http://d.puremagic.com/issues/show_bug.cgi?id=4542 for details.