[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

@ -7,20 +7,20 @@ input_file: crates/ruff_python_parser/resources/inline/ok/walrus_py38.py
```
Module(
ModModule {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 0..54,
body: [
Expr(
StmtExpr {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 45..53,
value: Named(
ExprNamed {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 46..52,
target: Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 46..47,
id: Name("x"),
ctx: Store,
@ -28,7 +28,7 @@ Module(
),
value: NumberLiteral(
ExprNumberLiteral {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 51..52,
value: Int(
1,