Agenda
Contents
- 1 v2.065 (2014)
- 2 v2.066 (19 May 2014)
- 2.1 DMD
- 2.1.1 fix export DIP45
- 2.1.2 complete "Cross-module template overload" feature
- 2.1.3 complete DIP42 feature
- 2.1.4 introduce "uniform construction" syntax
- 2.1.5 Relax syntactic limitations around UDA
- 2.1.6 Allow multidimensional opSlice overloads
- 2.1.7 fix Issue 10985 - function inlining
- 2.1.8 fix Issue 7469 - template mangling depends on instantiation order
- 2.1.9 fix Issue 11171 - Text relocations in Phobos shared library
- 2.1.10 fix Issue 11543 - multiple definition of std.regex with shared library
- 2.2 Druntime
- 2.3 Phobos
- 2.4 Tools
- 2.1 DMD
- 3 v2.067 (11 Aug 2014)
v2.065 (2014)
This release focuses on reducing the ICE list.
DMD
ICEs in Bugzilla
Issue 11406 - binaries linked with ld.gold crash
Druntime
Phobos
Tools
automate release builds
- Nick Sabalausky wrote a release tool.
- Brad Roberts added install targets to the makefiles (dmd, druntime and phobos).
- Nightly builds from the autotesters
- Reusing existing makefiles is preferred
- Package scripts must build from source (see Issue 10710)
- Dejan Lekic made a Fedora SPEC file
- Multi-arch cross-compiler should be optional (more dependencies/bigger size for rarely needed feature)
v2.066 (19 May 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
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
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 (11 Aug 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
Fix Property
- Consolidate DIPs, discussion necessary?
Druntime
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