Agenda
Contents
- 1 v2.066 (July 2014)
- 1.1 DMD
- 1.1.1 fix export DIP45
- 1.1.2 complete "Cross-module template overload" feature
- 1.1.3 complete DIP42 feature
- 1.1.4 introduce "uniform construction" syntax
- 1.1.5 Relax syntactic limitations around UDA
- 1.1.6 Allow multidimensional opSlice overloads
- 1.1.7 fix Issue 10985 - function inlining
- 1.1.8 fix Issue 7469 - template mangling depends on instantiation order
- 1.1.9 fix Issue 11171 - Text relocations in Phobos shared library
- 1.1.10 fix Issue 11543 - multiple definition of std.regex with shared library
- 1.2 Druntime
- 1.3 Phobos
- 1.4 Tools
- 1.1 DMD
- 2 v2.067 (Oct 2014)
v2.066 (July 2014)
This release focuses on ???.
DMD
fix export DIP45
Get the DIP approved by Walter. Prototype an implementation to find further issues.
complete "Cross-module template overload" feature
https://github.com/D-Programming-Language/dmd/pull/2417
complete DIP42 feature
- https://github.com/D-Programming-Language/dmd/pull/2467 (Compiler)
- https://github.com/D-Programming-Language/dlang.org/pull/371 (Webpage)
- Related
- https://github.com/D-Programming-Language/dmd/pull/2559
- Allow lazy evaluation in manifest constant initializer.
introduce "uniform construction" syntax
Because it is already approved by Andrei.
https://github.com/D-Programming-Language/dmd/pull/1356
Relax syntactic limitations around UDA
https://github.com/D-Programming-Language/dmd/pull/2924
Allow multidimensional opSlice overloads
https://github.com/D-Programming-Language/dmd/pull/443
Addresses Issue 6798 - Integrate overloadings for multidimentional indexing and slicing
fix Issue 10985 - function inlining
This depends on fixing some codegen bugs
https://github.com/D-Programming-Language/dmd/pull/2561
fix Issue 7469 - template mangling depends on instantiation order
https://github.com/D-Programming-Language/dmd/pull/701
Review initZ and vtblZ relocations
Must avoid copy relocations for ModuleInfos
Druntime
Phobos
Reduce dependency hell, split up huge modules to enable fine-grained imports.
Upgrade std.regex to make use of new std.uni.
The goal is to reuse public APIs and to get rid of the old internal Unicode implementation. This would de-bloat Phobos and put std.uni to some serious performance test.
Split std.datetime so that it's a package rather than a module.
Rework std.variant's Algebraic (ADTs)
- add compile-time checking that all possible types are handled by user code
- allow recursive data types
Tools
v2.067 (Oct 2014)
DMD
Imports and Protection
- Issue 313 – Fully qualified names bypass private imports
- Issue 314 – Static, renamed, and selective imports are always public
- https://github.com/D-Programming-Language/dmd/pull/2256
- DIP22 - private symbol visibility
Faster compilation
Fix Property
- Consolidate DIPs, discussion necessary?
Druntime
Initial work in pull request #617. Need to improve the API of the Library wrapper.
library AA
- Rough plan
- New AssociativeArray implementation by IgorStepanov Pull Request #676
- Add aaInit and aaLiteral to construct AA through them Pull Request #678
- Replace AssociativeArray struct with UFCS methods Pull Request #668
Improve TickDuration
- TickDuration should be phased out in favor a new MonoTime. To obtain a Duration one would need to subtract two MonoTimes. Issue 11989
Better stack traces
- get line number information, replace dynamic symbol table for backtraces