[ty] Shrink size of AstNodeRef (#20028)

## Summary

Removes the `module_ptr` field from `AstNodeRef` in release mode, and
change `NodeIndex` to a `NonZeroU32` to reduce the size of
`Option<AstNodeRef<_>>` fields.

I believe CI runs in debug mode, so this won't show up in the memory
report, but this reduces memory by ~2% in release mode.
This commit is contained in:
Ibraheem Ahmed 2025-08-22 17:03:22 -04:00 committed by GitHub
parent 886c4e4773
commit 7abc41727b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
648 changed files with 19641 additions and 20364 deletions

View file

@ -196,12 +196,12 @@ mod tests {
fn debug() {
let continue_statement = StmtContinue {
range: TextRange::new(TextSize::new(18), TextSize::new(26)),
node_index: AtomicNodeIndex::dummy(),
node_index: AtomicNodeIndex::NONE,
};
let break_statement = StmtBreak {
range: TextRange::new(TextSize::new(55), TextSize::new(60)),
node_index: AtomicNodeIndex::dummy(),
node_index: AtomicNodeIndex::NONE,
};
let source = r"# leading comment

View file

@ -69,7 +69,7 @@ mod tests {
fn equality() {
let continue_statement = StmtContinue {
range: TextRange::default(),
node_index: AtomicNodeIndex::dummy(),
node_index: AtomicNodeIndex::NONE,
};
let ref_a = NodeRefEqualityKey::from_ref(AnyNodeRef::from(&continue_statement));
@ -83,7 +83,7 @@ mod tests {
fn inequality() {
let continue_statement = StmtContinue {
range: TextRange::default(),
node_index: AtomicNodeIndex::dummy(),
node_index: AtomicNodeIndex::NONE,
};
let boxed = Box::new(continue_statement.clone());