On Fri, 18 Sep 2026 20:09:58 +0200,
Kirill A. Korinsky <[email protected]> wrote:
>
> On Fri, 18 Sep 2026 19:29:23 +0200,
> Kirill A. Korinsky <[email protected]> wrote:
> >
> > ports@,
> >
> > I'd like to remove lang/gdmd.
> >
> > Why? It was broken for years, it is already unlinked and it was merged into
> > GCC already, and gdc ports is available for almost all platforms which is
> > almost the same things.
> >
> > Ok?
> >
>
> Here also broken lang/dmd which is reference compiler for the D.
>
> It is also broken, and need to be at least updated.
>
> Probably it can use gdc as bootstrap compiler...
>
> Shall we drop it as well?
>
I'd liek to withdraw that request.
I spend some times and fixed both ports and now dmd works like this
tmp $ cat test.d
import std.stdio;
import std.range;
import std.algorithm;
import std.concurrency;
import core.thread;
void fiberFunction()
{
10.iota.each!(i => yield(i));
}
void threadFunction()
{
auto fiber = cast()receiveOnly!(shared(Generator!int));
writefln("worker: %(%s %)", fiber.take(5));
}
void main()
{
auto numbers = new Generator!int(&fiberFunction);
auto worker = spawn(&threadFunction);
writefln("main : %(%s %)", numbers.take(2));
worker.send(cast(shared)numbers);
thread_joinAll();
writefln("main : %(%s %)", numbers);
}
tmp $ dmd test.d
tmp $ ./test
main : 0 1
worker: 2 3 4 5 6
main : 7 8 9
tmp $
--
wbr, Kirill