Commit 60e0d7a
Fix #23731 - undefined __xopEquals/__xtoHash for instantiated struct
786dc71 stopped emitting the special TypeInfo members alongside the
TypeInfo of a template-instantiated struct whose own codegen was elided,
assuming they are always emitted with the StructDeclaration elsewhere.
That does not hold when `ti.minst` is null (a speculative instance whose
TypeInfo was requested anyway) or a non-root module that is not part of
the compilation: nothing emits `TemplateInstance.toObjFile()`, so the
TypeInfo emitted here is left referencing symbols no object file defines.
Restore emitting them next to the TypeInfo, as before 2.113.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent 2c7448c commit 60e0d7a
3 files changed
Lines changed: 39 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1491 | 1491 | | |
1492 | 1492 | | |
1493 | 1493 | | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
1494 | 1513 | | |
1495 | 1514 | | |
1496 | 1515 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
0 commit comments