Rob, your original code:
On Thursday, 8 November 2012 at 15:19:56 UTC, Dmitry Olshansky wrote:I don't have a nested struct, the struct definition defines the type only, and the nodes are allocated as pointers from a new operation when the list is composed. The node struct has a member var that may or may not be a struct type, it does not matter, and C++ will allow a member data type to be a struct just fine.
Naturally C++ doesn't have nested struct definitions.
I tried moving the node struct outside the d_list struct, but no luck, and I think it should not matter anyway since I can get it to work in that way without a template.
I also want to template the recursive structure itself to specify the
value type, ie struct R(T){ T value; d_list!R Rlist; }, but I left that
out to keep the example more simple.
I've been stuck on this problem all day, so any help is appreciated!
See if it helps.
The solution so far is to do it the C++ way, using pointers, which sucks.
I think in this case the D template should work just fine, and the problem is either a bug or a design flaw with how templates are evaluated.
I'll wait a bit longer for more comments before filing a bug report.
--rt