On 09/16/2010 06:44 PM, Andrei Alexandrescu wrote:
On 9/16/10 9:22 CDT, Max Samukha wrote:
After a good amount of hesitation, we have decided to put the QtD
project on hold. QtD has a potential to become a complete and effective
development platform for D but it is not going to happen soon (unless
people with harder hearts take it over). We have spent half of the day
hunting yet another dmd bug-o-feature and that is the last straw.

We offer our apologies to people who put their hope upon the project.
Please come back in a year or two when the language has a stable
compiler with the features fully specified, implemented and debugged.

Hi Max,

Sorry to hear that. Was this an issue of many small annoyances or a few
big ones?

Thanks,

Andrei

Hi Andrei,

Both, I guess. The recent big one is the unspecified behavior of postblit on const/immutable structs and overloading by rvalue/lvalue. Specifically, we were bending the generator into generating Qt value types as structs and hit two problems:

1. The generated __cpctor (which does the blit and calls the postblit) is always non-const and takes a non-const reference to the original. That means copy-construction of const objects is impossible without casts.

To proceed, we had to hack the compiler so that __cpctor took a const original reference and was called on a mutable target reference. That seemed to work but left us in uncertainty: how it actually should and will work?

2. A bug in the compiler doesn't allow us to overload struct parameters by ref-ness. So we had to generate by-value parameters where Qt has them by reference.

And today we've encountered two other bugs in sequence. One was about the impossibility to access a template instance member from within a struct nested in another struct and the second didn't give any line/file information.

We could probably work around or ignore all these problems but I think it is starting to take more time and nerve than we can afford.

Reply via email to