Zig Version
0.17.0-dev.830+1f43e049d
Steps to Reproduce, Observed Behavior, and Expected Behavior
Hi, I found zig fmt spend exponential time on rendering nested array types.
python3 - <<'PY' > nested-array-length-types.zig
N = 24
expr = "0"
for _ in range(N):
expr = f"[{expr}]u8"
print(f"const T = {expr};")
PY
zig fmt nested-array-length-types.zig
| Depth | Length-nested time |
|---|---|
| 16 | 0.164s |
| 18 | 0.515s |
| 20 | 2.067s |
| 22 | 8.178s |
| 24 | 37.245s |
### Zig Version
0.17.0-dev.830+1f43e049d
### Steps to Reproduce, Observed Behavior, and Expected Behavior
Hi, I found `zig fmt` spend exponential time on rendering nested array types.
```sh
python3 - <<'PY' > nested-array-length-types.zig
N = 24
expr = "0"
for _ in range(N):
expr = f"[{expr}]u8"
print(f"const T = {expr};")
PY
zig fmt nested-array-length-types.zig
```
| Depth | Length-nested time |
| ----: | -----------------: |
| 16 | 0.164s |
| 18 | 0.515s |
| 20 | 2.067s |
| 22 | 8.178s |
| 24 | 37.245s |