-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Open
Labels
Area-CompilersConcept-Design DebtEngineering Debt, Design Debt, or poor product code qualityEngineering Debt, Design Debt, or poor product code qualityFeature - Source GeneratorsSource GeneratorsSource Generators
Milestone
Description
Originally posted by @chsienki in #66992 (comment).
There should probably be an invariant that the table size going in is the same as what comes out, before compaction. In practice this isn't true today, as we implicitly track empty slots, meaning tables can (and do) get shorter. We might want to think about changing that, as I think it's probably been the root cause of a lot of these removal bugs.
Related:
SyntaxNodeProvidershould keep track of removed items #67633- Track state table removal due to input separately from removal due to selection #66643
- [17.6] Cache source generator node tables only if their state counts match #66992
- Preserve empty NodeStateTable entries #66963
- Fix inserting new values with source generators #68451
heartacker
Metadata
Metadata
Assignees
Labels
Area-CompilersConcept-Design DebtEngineering Debt, Design Debt, or poor product code qualityEngineering Debt, Design Debt, or poor product code qualityFeature - Source GeneratorsSource GeneratorsSource Generators