diff --git a/compiler/codegen/src/symboltable.rs b/compiler/codegen/src/symboltable.rs index 3cb2939c3..3182f3d33 100644 --- a/compiler/codegen/src/symboltable.rs +++ b/compiler/codegen/src/symboltable.rs @@ -150,7 +150,7 @@ impl Symbol { } pub fn is_local(&self) -> bool { - self.scope == SymbolScope::Local + matches!(self.scope, SymbolScope::Local | SymbolScope::Cell) } pub fn is_bound(&self) -> bool { diff --git a/vm/src/stdlib/symtable.rs b/vm/src/stdlib/symtable.rs index 4cf924e46..356de12fb 100644 --- a/vm/src/stdlib/symtable.rs +++ b/vm/src/stdlib/symtable.rs @@ -179,7 +179,7 @@ mod symtable { #[pymethod] fn is_local(&self) -> bool { - self.symbol.is_local() + self.symbol.is_local() || (self.is_top_scope && self.symbol.is_bound()) } #[pymethod]