Repository navigation
Commit 2671928
fix(module_loader): memoise transitive flattening; assert field-not-found
Review follow-up (CodeRabbit on #777): a module shared by several import
paths (a diamond) was re-flattened once per path, which grows
exponentially with depth; completed flattened programs are now cached for
the duration of one flatten_imports call (the cycle guard is unchanged).
The imported-struct negative test now asserts the specific
"Field 'z' not found" diagnostic. dune main 562 OK; Bun-ESM 39/39; WASM 38/38.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>1 parent 7eddd39 commit 2671928
2 files changed
Lines changed: 18 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
277 | 277 | | |
278 | 278 | | |
279 | 279 | | |
280 | | - | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
281 | 283 | | |
282 | 284 | | |
283 | 285 | | |
| |||
318 | 320 | | |
319 | 321 | | |
320 | 322 | | |
321 | | - | |
322 | | - | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
323 | 335 | | |
324 | 336 | | |
325 | 337 | | |
| |||
512 | 524 | | |
513 | 525 | | |
514 | 526 | | |
515 | | - | |
| 527 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
| 95 | + | |
| 96 | + | |
96 | 97 | | |
97 | 98 | | |
98 | 99 | | |
| |||
0 commit comments