Difference between revisions of "Language design discussions"

From D Wiki
Jump to: navigation, search
(Removed "Inherited Constructors" as there was no discussion supporting it.)
(Re-add constructor inheritance section - and fuck off Verax.)
Line 90: Line 90:
 
* [http://d.puremagic.com/issues/show_bug.cgi?id=9238 Issue Report]
 
* [http://d.puremagic.com/issues/show_bug.cgi?id=9238 Issue Report]
  
 +
== Inherited constructors ==
 +
==== Description ====
 +
When inheriting a class, the new class does not inherit its constructors. Any base class constructors need to be manually forwarded to. A library solution to automatically mix-in forwarding constructors is possible, but a language solution is possible too.
  
 +
Note that C++11 supports [http://en.wikipedia.org/wiki/C++11#Object_construction_improvement this feature].
 +
 +
==== Threads ====
 +
* [http://forum.dlang.org/post/ddjpmg$239v$1@digitaldaemon.com August 2005 Discussion]
 +
* [http://forum.dlang.org/post/op.tocyirzyusumhd@mist February 2007 Discussion]
 +
* [http://forum.dlang.org/post/f3pisd$4vi$3@digitalmars.com June 2007 Discussion]
 +
* [http://forum.dlang.org/post/fqk4jb$n76$1@digitalmars.com March 2008 Discussion]
 +
* [http://forum.dlang.org/post/heuuk9$1nfq$1@digitalmars.com November 2009 Discussion]
 +
* [http://forum.dlang.org/post/i3etqg$1o8s$1@digitalmars.com August 2010 Discussion]
 +
 +
=== Bug reports ===
 +
* [https://issues.dlang.org/show_bug.cgi?id=9066 Issue 9066 -  Add constructor inheritance feature]
  
 
== Automatic Reference Counting (ARC) as an alternative to D's Garbage Collector ==
 
== Automatic Reference Counting (ARC) as an alternative to D's Garbage Collector ==

Revision as of 21:34, 20 April 2014

D is an evolving and complex language. New features are proposed, unexpected interaction in old ones get found, design issues are raised. All this may involve hard debates in D newsgroup and if often forgotten. This page serves as an index for major design discussions and proposals.

Formal improvement proposals can be found on the main DIP index.


Properties

Description

Initial @property design has issues. How can it be changed or even discarded at all?

Thread

Essential moments

Property Discussion Wrap-up

Proposals


Access specifiers and symbol visibility

Description

Currently there is feature like "static global" in C or "unnamed namespace" in C++. Access specifiers for module-level symbols control access, not visibility. Ability to hide symbols needs to be added without breaking current access system.

As a result of discussion, Walter has asked for DIP on this topic.

Essential moments

Thread

Proposal

DIP22


auto ref

Description

Essential moments

Thread


volatile

Threads

Essential Moments

Proposals


final-by-default

Threads

Essential Moments


rvalue references

Threads

Inherited constructors

Description

When inheriting a class, the new class does not inherit its constructors. Any base class constructors need to be manually forwarded to. A library solution to automatically mix-in forwarding constructors is possible, but a language solution is possible too.

Note that C++11 supports this feature.

Threads

Bug reports

Automatic Reference Counting (ARC) as an alternative to D's Garbage Collector

Threads

Essential Moments

  • {Feel free add some}