mirror of
https://github.com/astral-sh/ruff
synced 2026-01-22 14:00:51 -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:
@@ -312,7 +312,7 @@ impl<'src> Parser<'src> {
|
||||
Stmt::Expr(ast::StmtExpr {
|
||||
range: self.node_range(start),
|
||||
value: Box::new(parsed_expr.expr),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -368,7 +368,7 @@ impl<'src> Parser<'src> {
|
||||
ast::StmtDelete {
|
||||
targets,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -417,7 +417,7 @@ impl<'src> Parser<'src> {
|
||||
ast::StmtReturn {
|
||||
range: self.node_range(start),
|
||||
value,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -523,7 +523,7 @@ impl<'src> Parser<'src> {
|
||||
range: self.node_range(start),
|
||||
exc,
|
||||
cause,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -564,7 +564,7 @@ impl<'src> Parser<'src> {
|
||||
ast::StmtImport {
|
||||
range: self.node_range(start),
|
||||
names,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -676,7 +676,7 @@ impl<'src> Parser<'src> {
|
||||
names,
|
||||
level: leading_dots,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -693,11 +693,11 @@ impl<'src> Parser<'src> {
|
||||
name: ast::Identifier {
|
||||
id: Name::new_static("*"),
|
||||
range,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
},
|
||||
asname: None,
|
||||
range,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -730,7 +730,7 @@ impl<'src> Parser<'src> {
|
||||
range: self.node_range(start),
|
||||
name,
|
||||
asname,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -759,7 +759,7 @@ impl<'src> Parser<'src> {
|
||||
ast::Identifier {
|
||||
id: Name::from(dotted_name),
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -775,7 +775,7 @@ impl<'src> Parser<'src> {
|
||||
self.bump(TokenKind::Pass);
|
||||
ast::StmtPass {
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -791,7 +791,7 @@ impl<'src> Parser<'src> {
|
||||
self.bump(TokenKind::Continue);
|
||||
ast::StmtContinue {
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -807,7 +807,7 @@ impl<'src> Parser<'src> {
|
||||
self.bump(TokenKind::Break);
|
||||
ast::StmtBreak {
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -857,7 +857,7 @@ impl<'src> Parser<'src> {
|
||||
test: Box::new(test.expr),
|
||||
msg,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -896,7 +896,7 @@ impl<'src> Parser<'src> {
|
||||
ast::StmtGlobal {
|
||||
range: self.node_range(start),
|
||||
names,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -942,7 +942,7 @@ impl<'src> Parser<'src> {
|
||||
ast::StmtNonlocal {
|
||||
range: self.node_range(start),
|
||||
names,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -995,7 +995,7 @@ impl<'src> Parser<'src> {
|
||||
type_params: type_params.map(Box::new),
|
||||
value: Box::new(value.expr),
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1022,7 +1022,7 @@ impl<'src> Parser<'src> {
|
||||
range,
|
||||
kind,
|
||||
value,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1119,7 +1119,7 @@ impl<'src> Parser<'src> {
|
||||
value: value.into_boxed_str(),
|
||||
kind,
|
||||
range: self.node_range(parsed_expr.start()),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1187,7 +1187,7 @@ impl<'src> Parser<'src> {
|
||||
targets,
|
||||
value: Box::new(value.expr),
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1267,7 +1267,7 @@ impl<'src> Parser<'src> {
|
||||
value,
|
||||
simple,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1322,7 +1322,7 @@ impl<'src> Parser<'src> {
|
||||
op,
|
||||
value: Box::new(value.expr),
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1378,7 +1378,7 @@ impl<'src> Parser<'src> {
|
||||
body,
|
||||
elif_else_clauses,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1422,7 +1422,7 @@ impl<'src> Parser<'src> {
|
||||
test,
|
||||
body,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1572,7 +1572,7 @@ impl<'src> Parser<'src> {
|
||||
finalbody,
|
||||
is_star,
|
||||
range: self.node_range(try_start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1722,7 +1722,7 @@ impl<'src> Parser<'src> {
|
||||
name,
|
||||
body: except_body,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}),
|
||||
block_kind,
|
||||
)
|
||||
@@ -1834,7 +1834,7 @@ impl<'src> Parser<'src> {
|
||||
body,
|
||||
orelse,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1882,7 +1882,7 @@ impl<'src> Parser<'src> {
|
||||
body,
|
||||
orelse,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2012,7 +2012,7 @@ impl<'src> Parser<'src> {
|
||||
is_async: false,
|
||||
returns,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2082,7 +2082,7 @@ impl<'src> Parser<'src> {
|
||||
type_params: type_params.map(Box::new),
|
||||
arguments,
|
||||
body,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2109,7 +2109,7 @@ impl<'src> Parser<'src> {
|
||||
body,
|
||||
is_async: false,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2378,7 +2378,7 @@ impl<'src> Parser<'src> {
|
||||
range: self.node_range(start),
|
||||
context_expr: context_expr.expr,
|
||||
optional_vars,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -2447,7 +2447,7 @@ impl<'src> Parser<'src> {
|
||||
subject: Box::new(subject),
|
||||
cases,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
})
|
||||
}
|
||||
TokenKind::Newline if matches!(self.peek2(), (TokenKind::Indent, TokenKind::Case)) => {
|
||||
@@ -2470,7 +2470,7 @@ impl<'src> Parser<'src> {
|
||||
subject: Box::new(subject),
|
||||
cases,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
})
|
||||
}
|
||||
_ => {
|
||||
@@ -2518,7 +2518,7 @@ impl<'src> Parser<'src> {
|
||||
subject: Box::new(subject),
|
||||
cases,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2697,7 +2697,7 @@ impl<'src> Parser<'src> {
|
||||
guard,
|
||||
body,
|
||||
range: self.node_range(start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2866,7 +2866,7 @@ impl<'src> Parser<'src> {
|
||||
decorators.push(ast::Decorator {
|
||||
expression: parsed_expr.expr,
|
||||
range: self.node_range(decorator_start),
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
});
|
||||
|
||||
// test_err decorator_missing_newline
|
||||
@@ -3080,7 +3080,7 @@ impl<'src> Parser<'src> {
|
||||
range: self.node_range(start),
|
||||
name,
|
||||
annotation,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3130,7 +3130,7 @@ impl<'src> Parser<'src> {
|
||||
range: self.node_range(start),
|
||||
parameter,
|
||||
default,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3448,7 +3448,7 @@ impl<'src> Parser<'src> {
|
||||
ast::TypeParams {
|
||||
range: self.node_range(start),
|
||||
type_params,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3511,7 +3511,7 @@ impl<'src> Parser<'src> {
|
||||
range: self.node_range(start),
|
||||
name,
|
||||
default,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
})
|
||||
|
||||
// test_ok type_param_param_spec
|
||||
@@ -3551,7 +3551,7 @@ impl<'src> Parser<'src> {
|
||||
range: self.node_range(start),
|
||||
name,
|
||||
default,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
})
|
||||
// test_ok type_param_type_var
|
||||
// type X[T] = int
|
||||
@@ -3635,7 +3635,7 @@ impl<'src> Parser<'src> {
|
||||
name,
|
||||
bound,
|
||||
default,
|
||||
node_index: AtomicNodeIndex::dummy(),
|
||||
node_index: AtomicNodeIndex::NONE,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user