mirror of
				https://github.com/astral-sh/ruff.git
				synced 2025-11-03 21:24:29 +00:00 
			
		
		
		
	## 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.
		
			
				
	
	
		
			66 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
---
 | 
						|
source: crates/ruff_python_parser/tests/fixtures.rs
 | 
						|
input_file: crates/ruff_python_parser/resources/valid/other/atom.py
 | 
						|
---
 | 
						|
## AST
 | 
						|
 | 
						|
```
 | 
						|
Module(
 | 
						|
    ModModule {
 | 
						|
        node_index: NodeIndex(None),
 | 
						|
        range: 0..73,
 | 
						|
        body: [
 | 
						|
            Expr(
 | 
						|
                StmtExpr {
 | 
						|
                    node_index: NodeIndex(None),
 | 
						|
                    range: 0..3,
 | 
						|
                    value: EllipsisLiteral(
 | 
						|
                        ExprEllipsisLiteral {
 | 
						|
                            node_index: NodeIndex(None),
 | 
						|
                            range: 0..3,
 | 
						|
                        },
 | 
						|
                    ),
 | 
						|
                },
 | 
						|
            ),
 | 
						|
            Expr(
 | 
						|
                StmtExpr {
 | 
						|
                    node_index: NodeIndex(None),
 | 
						|
                    range: 4..8,
 | 
						|
                    value: BooleanLiteral(
 | 
						|
                        ExprBooleanLiteral {
 | 
						|
                            node_index: NodeIndex(None),
 | 
						|
                            range: 4..8,
 | 
						|
                            value: true,
 | 
						|
                        },
 | 
						|
                    ),
 | 
						|
                },
 | 
						|
            ),
 | 
						|
            Expr(
 | 
						|
                StmtExpr {
 | 
						|
                    node_index: NodeIndex(None),
 | 
						|
                    range: 9..14,
 | 
						|
                    value: BooleanLiteral(
 | 
						|
                        ExprBooleanLiteral {
 | 
						|
                            node_index: NodeIndex(None),
 | 
						|
                            range: 9..14,
 | 
						|
                            value: false,
 | 
						|
                        },
 | 
						|
                    ),
 | 
						|
                },
 | 
						|
            ),
 | 
						|
            Expr(
 | 
						|
                StmtExpr {
 | 
						|
                    node_index: NodeIndex(None),
 | 
						|
                    range: 15..19,
 | 
						|
                    value: NoneLiteral(
 | 
						|
                        ExprNoneLiteral {
 | 
						|
                            node_index: NodeIndex(None),
 | 
						|
                            range: 15..19,
 | 
						|
                        },
 | 
						|
                    ),
 | 
						|
                },
 | 
						|
            ),
 | 
						|
        ],
 | 
						|
    },
 | 
						|
)
 | 
						|
```
 |