mirror of
https://github.com/astral-sh/ruff
synced 2026-01-11 08:34:29 -05:00
[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:
@@ -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
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -82,7 +82,7 @@ impl Transformer for Normalizer {
|
||||
value: Box::from(string.value.to_str()),
|
||||
range: string.range,
|
||||
flags: StringLiteralFlags::empty(),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -99,7 +99,7 @@ impl Transformer for Normalizer {
|
||||
value: bytes.value.bytes().collect(),
|
||||
range: bytes.range,
|
||||
flags: BytesLiteralFlags::empty(),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -143,7 +143,7 @@ impl Transformer for Normalizer {
|
||||
InterpolatedStringLiteralElement {
|
||||
range,
|
||||
value: literal.into(),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
},
|
||||
));
|
||||
}
|
||||
@@ -185,7 +185,7 @@ impl Transformer for Normalizer {
|
||||
elements: collector.elements.into(),
|
||||
range: fstring.range,
|
||||
flags: FStringFlags::empty(),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user