Skip to content

Commit ae018d5

Browse files
committed
Implement suggestion from clippy.
1 parent 215308d commit ae018d5

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

compiler/src/symboltable.rs

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use rustpython_parser::location::Location;
1313
use std::collections::HashMap;
1414

1515
pub fn make_symbol_table(program: &ast::Program) -> Result<SymbolScope, SymbolTableError> {
16-
let mut builder = SymbolTableBuilder::new();
16+
let mut builder: SymbolTableBuilder = Default::default();
1717
builder.enter_scope();
1818
builder.scan_program(program)?;
1919
assert_eq!(builder.scopes.len(), 1);
@@ -26,7 +26,7 @@ pub fn make_symbol_table(program: &ast::Program) -> Result<SymbolScope, SymbolTa
2626
pub fn statements_to_symbol_table(
2727
statements: &[ast::LocatedStatement],
2828
) -> Result<SymbolScope, SymbolTableError> {
29-
let mut builder = SymbolTableBuilder::new();
29+
let mut builder: SymbolTableBuilder = Default::default();
3030
builder.enter_scope();
3131
builder.scan_statements(statements)?;
3232
assert_eq!(builder.scopes.len(), 1);
@@ -73,16 +73,18 @@ impl From<SymbolTableError> for CompileError {
7373
type SymbolTableResult = Result<(), SymbolTableError>;
7474

7575
impl SymbolScope {
76-
pub fn new() -> Self {
76+
pub fn lookup(&self, name: &str) -> Option<&SymbolRole> {
77+
self.symbols.get(name)
78+
}
79+
}
80+
81+
impl Default for SymbolScope {
82+
fn default() -> Self {
7783
SymbolScope {
7884
symbols: HashMap::new(),
7985
sub_scopes: vec![],
8086
}
8187
}
82-
83-
pub fn lookup(&self, name: &str) -> Option<&SymbolRole> {
84-
self.symbols.get(name)
85-
}
8688
}
8789

8890
impl std::fmt::Debug for SymbolScope {
@@ -153,13 +155,15 @@ pub struct SymbolTableBuilder {
153155
pub scopes: Vec<SymbolScope>,
154156
}
155157

156-
impl SymbolTableBuilder {
157-
pub fn new() -> Self {
158+
impl Default for SymbolTableBuilder {
159+
fn default() -> Self {
158160
SymbolTableBuilder { scopes: vec![] }
159161
}
162+
}
160163

164+
impl SymbolTableBuilder {
161165
pub fn enter_scope(&mut self) {
162-
let scope = SymbolScope::new();
166+
let scope = Default::default();
163167
self.scopes.push(scope);
164168
}
165169

0 commit comments

Comments
 (0)