Skip to content

Commit 31061b0

Browse files
committed
Optimize code
1 parent 7e69e5e commit 31061b0

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

vm/src/stdlib/symtable.rs

+12-10
Original file line numberDiff line numberDiff line change
@@ -136,23 +136,25 @@ impl PySymbolTable {
136136

137137
#[pymethod(name = "get_symbols")]
138138
fn get_symbols(&self, vm: &VirtualMachine) -> PyResult {
139-
let mut symbols: Vec<PyObjectRef> = vec![];
140-
for symbol in self.symtable.symbols.values() {
141-
symbols.push(
142-
PySymbol {
143-
symbol: symbol.clone(),
139+
let symbols = self
140+
.symtable
141+
.symbols
142+
.values()
143+
.map(|s| {
144+
(PySymbol {
145+
symbol: s.clone(),
144146
namespaces: self
145147
.symtable
146148
.sub_tables
147149
.iter()
148-
.filter(|&table| table.name == symbol.name)
150+
.filter(|&table| table.name == s.name)
149151
.cloned()
150152
.collect(),
151-
}
153+
})
152154
.into_ref(vm)
153-
.into_object(),
154-
)
155-
}
155+
.into_object()
156+
})
157+
.collect();
156158
Ok(vm.ctx.new_list(symbols))
157159
}
158160

0 commit comments

Comments
 (0)