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

Reply via email to