Differences With TDPL

From D Wiki
Revision as of 18:18, 29 November 2017 by NickTreleaven (talk | contribs) (Remove SafeD - this is pretty much implemented)
Jump to: navigation, search

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


New Alias Syntax, Alias Templates


Attribute Inference for Templates and Function Literals


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

For example code, see: http://forum.dlang.org/post/mfjmysleuwfohoxcslpf@forum.dlang.org

DIP25 - return ref


DIP1000 - scoped pointers


Unimplemented Features

Multiple alias this

You can only have one subtyping member currently.


Not all of shared's guarantees are implemented yet.


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.