On Sunday, 31 August 2025 at 01:27:57 UTC, Steven Schveighoffer
wrote:
Why would your second iteration make a difference? Purely by
chance! In fact, on my machine, it does not exit in either case.
Welcome to the wonderful world of race conditions and
multithreading!
So this was just 'bad' luck with 'race conditions'.
It is not a failure of the D compiler.
FWIW, given that D supports Message Passing Concurrency, is Data
Sharing Concurrency just there for D completeness, for those that
want to live close to the iron.
It would seem that Message Passing Concurrency should be our
first, second and third choice for concurrency.