Thread overview
2.068 Regression in EnumMembers?
Aug 16, 2015
Nordlöw
Aug 16, 2015
Nordlöw
Aug 16, 2015
Nordlöw
Aug 16, 2015
anonymous
August 16, 2015
I tried rebuilding my knowledge graph project at

https://github.com/nordlow/justd/tree/master/knet

with DMD 2.068 and it seems like we have a regression in std.traits: EnumMembers:

/usr/include/dmd/phobos/std/traits.d(3432,21): Error: template instance std.traits.EnumMembers!(Lang).WithIdentifier!"fortran" recursive expansion
scons: *** [knet/traversal.o] Error 1
/usr/include/dmd/phobos/std/traits.d(3432,21): Error: template instance std.traits.EnumMembers!(Lang).WithIdentifier!"firstAcademic" recursive expansion
scons: *** [knet/base.o] Error 1
/usr/include/dmd/phobos/std/traits.d(3432,21): Error: template instance std.traits.EnumMembers!(const(Lang)).WithIdentifier!"physics" recursive expansion
scons: *** [knet/io.o] Error 1
/usr/include/dmd/phobos/std/traits.d(3432,21): Error: template instance std.traits.EnumMembers!(Lang).WithIdentifier!"modelica" recursive expansion
scons: *** [knet/tests.o] Error 1

Sadly the diagnositcs give no help whatsoever on what's wrong. What happened to the instantiation stack trace here?

Try cloning https://github.com/nordlow/justd/tree

and building for instance

    scons knet/base.o

provided that SCons has been installed (on Ubuntu as `sudo apt-get install scons`)

It builds without errors nor warnings on 2.067.

Help, please.
August 16, 2015
On Sunday, 16 August 2015 at 11:25:48 UTC, Nordlöw wrote:
> I tried rebuilding my knowledge graph project at
>
> https://github.com/nordlow/justd/tree/master/knet

Should be, https://github.com/nordlow/justd.
August 16, 2015
On Sunday, 16 August 2015 at 11:25:48 UTC, Nordlöw wrote:
> Try cloning https://github.com/nordlow/justd/tree

Should be:

git clone https://github.com/nordlow/justd
August 16, 2015
On Sunday, 16 August 2015 at 11:25:48 UTC, Nordlöw wrote:
> I tried rebuilding my knowledge graph project at
>
> https://github.com/nordlow/justd/tree/master/knet
>
> with DMD 2.068 and it seems like we have a regression in std.traits: EnumMembers:
>
> [...]
>
> It builds without errors nor warnings on 2.067.
>
> Help, please.

Did it still work in 2.068a ?
If so then it's possible that the resolution of issue 14844, which changed the traits allMembers, is the cause.

Because if you look at std.traits 'blame' on GH
(https://github.com/D-Programming-Language/phobos/blame/master/std/traits.d , around line 3412) that's clear that the template EnumMembers hasn't changed since February 2014. So it must be one of the call inside...

Just an idea.