Future of D 2.x as stable/bug fix, and what's next for D 3.x
geod24 at gmail.com
Tue Sep 1 15:17:03 UTC 2020
On Sunday, 30 August 2020 at 17:32:32 UTC, Eljay wrote:
> What is left to do for D 2.x for it to be declared "done" and
> in stable/bugfix mode only?
> I haven't seen a Vision/20xxHy for a while.
> What features (and breaking changes) are on the horizon for
> when the next generation D 3.x begins?
> Thoughts? Plans? Roadmap?
Once again: I don't see D3 happening. There are plenty of bugs to
fix, and we can do it gradually. We are doing it gradually, in
Everyone has their own agenda, but as mentioned by Ali, we need
people to do the job. So while I don't know what other people
have in mind, here's my TODO list:
1) `in` parameters: Will be in v2.094.0
I started to adapt libraries so everyone can "just" use it as
soon as it's released.
If things work fine (no bug), and it has the adoption I hope,
then I'll push to have it enabled after 10 to 15 releases
(perhaps more). At a cadence of 1 release / 2 months, that puts
at release 2.104 in May 2022, or 2.109 in January 2023.
2) `inout`-style attributes for functions accepting delegates:
Essentially the invert of DIP1032. I strongly believe that we
need a way to have a non-templated function which attributes are
dependent on one or more delegate it accepts. This is an
essential piece to make OOP and attributes work together. It
would also solve so many pain points with `opApply`. It needs a
proper DIP and a proper implementation. That's the next language
change I plan to tackle once `in` parameters are "done" (aka
don't need my attention, not necessarily enabled by default).
3) Moving from Bugzilla to Github: I started working on this, but
due to various conflict in schedule / discussions, it was put on
hold, and is now in a weird lingering stage. I'd like to resume
this, eventually, but it requires a lot of tedious work, so
that's not something that will be completed anytime soon
Those are the main 3 big items I see myself working on for the
foreseeable future, aside from the other maintenance work.
I left this as a draft for a while, to see where the conversation
went. One thing you can check, if you want to see where the
language is going, are the `-preview` switches. Next release,
`-preview=markdown` is going to be enabled by default. Someone is
working on enabling `-preview=dtorfields`. And obviously, the
elephant in the room, `-preview=dip1000`.
Aside from that, the DIP queue is also a good source of
More information about the Digitalmars-d