On 17.05.2025 01:26, Danny Arends wrote:

Never seen it being a problem, but changing line 94 of lsystem.d from

```
   test.rules[Symbols.Origin] ~= Rule("W.O", 5);
```

To

```
   test.rules[Symbols.Origin] = Rule("W.O", 5);
```

Would fix it, I guess appending might not be allowed when the key doesn't exist yet.


This patch fixed the issue:
```bash
root@1be5cfa937c3:/DImGui#  git diff
diff --git a/src/math/lsystem.d b/src/math/lsystem.d
index 394e902..02c085d 100644
--- a/src/math/lsystem.d
+++ b/src/math/lsystem.d
@@ -91,7 +91,7 @@ struct LSystem {

 LSystem createLSystem() {
   auto test = LSystem([Symbols.Origin]);
-  test.rules[Symbols.Origin] ~= Rule("W.O", 5);
+  test.rules[Symbols.Origin] = Rules([Rule("W.O", 5)]);
   test.rules[Symbols.Origin] ~= Rule("S.O", 5);
   test.rules[Symbols.Origin] ~= Rule("A.O", 5);
   test.rules[Symbols.Origin] ~= Rule("D.O", 5);
```
The demo compiles and works!

Reply via email to