Difference between revisions of "DIPs"
(DIP37 has been fully approved and Walter has now implemented it) |
WalterBright (talk | contribs) (add DIP42) |
||
Line 204: | Line 204: | ||
| [[DIP41]] | | [[DIP41]] | ||
| dmd/rdmd command line overhaul. | | dmd/rdmd command line overhaul. | ||
+ | | Draft | ||
+ | | | ||
+ | |- | ||
+ | | [[DIP42]] | ||
+ | | Support enum E(T) = expression; for manifest constants | ||
| Draft | | Draft | ||
| | | | ||
|} | |} |
Revision as of 01:36, 25 June 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 | Superseeded by DIP37 | Improve imports of packages with submodules. | |
DIP16 | Transparently substitute module with package | Superseeded by DIP37 | ||
DIP17 | Sane volatile statement | Superseeded 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 | Approved | 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 | Draft |