On 09.07.2024 06:54, Steven Schveighoffer wrote:
On Monday, 8 July 2024 at 08:56:51 UTC, drug007 wrote:
How can I "break" this recursion or some other work around to fix it?
A few ideas:
1. If it's immediately recursive (that is, contains a pointer to
itself), just use the type itself somehow. You may not be able to do
this with recursive templates.
2. If the data itself is static, and not actually containing different
things, defer the construction of the Meta members until needed. In
other words, make them structs with a member which accesses the meta
when requested.
3. In a project I have which constructs a parallel type on existing
types, I use `opDispatch` to defer instantiation of the members until
later. This may or may not work for you depending on the use case (you
can't introspect `opDispatch`).
-Steve
Decided to use untyped array (like void[]) and then a decorator to make
it typed one. It seems to be working, testing in progress.