July 20, 2011
Well now I can't even compile the example which used to crash at runtime: http://codepad.org/Dh9fjQKG

This is while trying to compile the project in the attachment in this ticket: http://www.dsource.org/projects/qtd/ticket/85
July 20, 2011
Btw that's using 2.054 on XP32.
July 21, 2011
Also I don't understand this, see changeset 411:

> hg log -r :

changeset:   411:6fe37cbd9510
user:        David Nadlinger <code@klickverbot.at>
date:        Mon Apr 18 00:16:33 2011 +0200
summary:     Octal literals have been deprecated, fix build.

changeset:   412:4189f1d51a7d
user:        Max Samukha <maxsamukha@gmail.com>
date:        Thu May 05 20:11:26 2011 +0300
summary:     support for new dmd naming

changeset:   413:bdc08c8391ad
user:        Max Samukha <maxsamukha@gmail.com>
date:        Thu May 05 22:32:50 2011 +0300
summary:     removed unnecessary regex grouping

changeset:   414:b2a803c73b89
tag:         tip
user:        David Nadlinger <code@klickverbot.at>
date:        Fri May 06 13:39:49 2011 +0200
summary:     Declare tabArray const.

So now I'm at 414, and when I try to build: D:\dev\projects\qtd\examples\desktop\systray>build

D:\dev\projects\qtd\examples\desktop\systray>..\..\..\tools\drcc\drcc systray.qrc  1>qrc_systray.d

D:\dev\projects\qtd\examples\desktop\systray>dmd -unittest
-version=QtdUnittest -ID:\dev\lib\D\qtd\build_dir\build
-ID:\dev\lib\D\qtd\d2 ..\..\..\build_dir\build\lib\qtdcore.lib
..\..\..\build_dir\build\lib\qtdgui.lib qrc_systray.d
window.d main.d -ofsystray
D:\dev\lib\D\qtd\d2\qtd\ctfe\Integer.d(157): octal literals 0123 are
deprecated, use std.conv.octal!123 instead
D:\dev\lib\D\qtd\d2\qtd\ctfe\Integer.d(164): octal literals 0123 are
deprecated, use std.conv.octal!123 instead

Are you only testing *D1* versions of QtD? Because that could explain why you're apps are running while mine are not. :)
July 21, 2011
s/you're/your
July 21, 2011
Wait wait wait. Sorry this is completely my fault the build script copied old directories. Sorry for the noise!
July 21, 2011
Ok, but the other CTFE issues are still there:

D:\dev\projects\qtd\examples\desktop\systray>dmd -unittest
-version=QtdUnittest -I..\..\..\build_dir\build -I..\..\..\d2
..\..\..\build_dir\build\lib\qtdcore.lib
..\..\..\build_dir\build\lib\qtdgui.lib qrc_systray.d window.d main.d
-ofsystray
..\..\..\d2\qtd\MOC.d(271): Error: gen.output ~= format_ctfe("\x0a //
content:\x0a") cannot be evaluated
at compile time
..\..\..\d2\qtd\MOC.d(272): Error: cannot evaluate format_ctfe("
${},       // revision\x0a",2) at compile time
..\..\..\d2\qtd\MOC.d(484): Error: cannot evaluate generateCode(gen)
at compile time
..\..\..\d2\qtd\MOC.d(513): Error: cannot evaluate generateMetaInfo()
at compile time
..\..\..\d2\qtd\MOC.d(513): Error: argument to mixin must be a string,
not (generateMetaInfo())
July 21, 2011
On 7/21/11 2:14 AM, Andrej Mitrovic wrote:
> Ok, but the other CTFE issues are still there:
>
> D:\dev\projects\qtd\examples\desktop\systray>dmd -unittest
> -version=QtdUnittest -I..\..\..\build_dir\build -I..\..\..\d2
> ..\..\..\build_dir\build\lib\qtdcore.lib
> ..\..\..\build_dir\build\lib\qtdgui.lib qrc_systray.d window.d main.d
> -ofsystray
> ..\..\..\d2\qtd\MOC.d(271): Error: gen.output ~= format_ctfe("\x0a //
> content:\x0a") cannot be evaluated
> at compile time
> ..\..\..\d2\qtd\MOC.d(272): Error: cannot evaluate format_ctfe("
> ${},       // revision\x0a",2) at compile time
> ..\..\..\d2\qtd\MOC.d(484): Error: cannot evaluate generateCode(gen)
> at compile time
> ..\..\..\d2\qtd\MOC.d(513): Error: cannot evaluate generateMetaInfo()
> at compile time
> ..\..\..\d2\qtd\MOC.d(513): Error: argument to mixin must be a string,
> not (generateMetaInfo())

Well, seems like I never built one of my applications since the CTFE overhaul was merged into master… ;) It would be great if you could have a short look at what actually got broken. qtd.MOC is hand-written, so tracking that CTFE regression [1] down without going insane should be possible. By the way, pretty much all of my QtD code is D2.

If you don't have time for it, I will definitely have a look at it at some point in the future, but after my Thrift project, updating LDC 2 is currently on top of my todo list.

Thanks,
David


[1] From a DMD development perspective, it might be that this isn't a regressions because the feature might not have worked correctly before, but it certainly did the job. If I were to make a wild guess, I'd try manually setting gen.output to [] if it should be null at that point, because I had a similar problem after the overhaul with strings, but as this is supposed to be fixed, it's probably something else.
1 2
Next ›   Last »