Difference between revisions of "DIPs"

From D Wiki
Jump to: navigation, search
(add DIP46)
Line 223: Line 223:
 
|-
 
|-
 
| [[DIP45]]
 
| [[DIP45]]
| export(identifier)
+
| making export an attribute
 
| Draft
 
| Draft
| Adds a identifier to the export protection level to make it usable for dll import/export on windows.
+
| Turn export into an attribute and fix various shortcomings of its current implementation.
 
|-
 
|-
 
| [[DIP46]]
 
| [[DIP46]]

Revision as of 15:49, 30 August 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 by DIP6 an alternate usage/definition syntax for properties.
DIP5 Properties 2 Superseded by DIP6 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 Superseded by DIP37 Improve imports of packages with submodules.
DIP16 Transparently substitute module with package Superseded by DIP37
DIP17 Sane volatile statement Superseded by DIP20
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 Implemented 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
DIP41 dmd/rdmd command line overhaul. Draft
DIP42 Support enum E(T) = expression; for manifest constants Implemented
DIP43 D/Objective-C Draft Adds language extensions to make D ABI compatible with Objective-C.
DIP44 scope(this) Draft Extends scope guards to class / struct lifetime.
DIP45 making export an attribute Draft Turn export into an attribute and fix various shortcomings of its current implementation.
DIP46 region based storage allocation Draft Library addition to GC to allow for region based allocation strategies