Difference between revisions of "DIPs"

From D Wiki
Jump to: navigation, search
Line 194: Line 194:
 
| [[DIP39]]
 
| [[DIP39]]
 
| Safe rvalue references: backwards compatible, safe against ref/nonref code evolution, compatible with UFCS and DIP38.
 
| Safe rvalue references: backwards compatible, safe against ref/nonref code evolution, compatible with UFCS and DIP38.
 +
| Draft
 +
|
 +
| [[DIP40]]
 +
| Template parameter deduction for constructors.
 
| Draft
 
| Draft
 
|
 
|
 
|}
 
|}

Revision as of 01:19, 13 May 2013

ID Title Status Description
DIP1 Template DIP Draft This is a DIP template that can be used as a model to start a new proposal.
DIP2 Const code bloat Approved proposed solution for bug 1961.
DIP3 Remove inheritance protection Approved non-public inheritance in a single inheritance language that has a single root object hierarchy makes little sense.
DIP4 Properties Superseded an alternate usage/definition syntax for properties.
DIP5 Properties 2 Superseded a variant of DIP4.
DIP6 Annotations Approved extend the D programming language with annotations.
DIP7 Operator overloading Approved Revamped operator overloading.
DIP8 Improving Runtime Type Info Draft Templating RTTI.
DIP9 Redo toString API Draft Replace inefficient aggregate toString API with efficient delegate-based version that supports formatting.
DIP10 Qualified constructors and destructors for structs Draft
DIP11 Automatic downloading of imports Draft Support automatically downloading imported files via new import path specifications or pragmas.
DIP12 C API Headers Approved Collection of D headers for common C libraries.
DIP13 Import path binding Draft Allow to bind an import path to a package.
DIP14 Import path binding in source code Draft Allow to bind an import path to a package from within sources.
DIP15 Import of packages Draft Improve imports of packages with submodules.
DIP16 Transparently substitute module with package Draft
DIP17 Sane volatile statement Superseeded
DIP18 Non-GC Threads Draft
DIP20 Volatile read/write intrinsics Draft Intrinsics to perform C-style volatile loads/stores from/to memory.
DIP21 Fixing property Draft
DIP22 Private symbol visibility Draft Modification of private & Co symbol rules to reduce name clashes. Add internal linkage storage class.
DIP23 Fixing property redux Draft Initial
DIP24 Fixing properties and optional parens. Draft Fixing properties and optional parens. Only those. In a general and straightforward way. (counter proposal to DIP23)
DIP25 Sealed references Draft
DIP26 Properties the other way round Draft
DIP27 Function definition Draft
DIP28 Property definition Draft
DIP29 Unique pointers Draft Unique pointers can be implicitly cast to/from immutable and shared.
DIP30 Delegate definition Draft
DIP31 Defined compile time paradox resolution Draft
DIP32 Uniform tuple syntax Draft
DIP33 A standard exception hierarchy Draft
DIP34 Static array literals Draft
DIP35 Sealed References Amendment Draft
DIP36 Rvalue References Rejected
DIP37 Importing Packages as if They Were Modules Verbally approved by Walter and Andrei at dconf 2013, but some details may need to be ironed out if anyone comes up with issues with it. Allow for packages to be imported as if they were modules by providing a package.d file.
DIP38 Safe references without runtime checks Draft
DIP39 Safe rvalue references: backwards compatible, safe against ref/nonref code evolution, compatible with UFCS and DIP38. Draft DIP40 Template parameter deduction for constructors. Draft