diff --git a/compiler/codegen/src/compile.rs b/compiler/codegen/src/compile.rs index ebfd454a543..555eb1adf87 100644 --- a/compiler/codegen/src/compile.rs +++ b/compiler/codegen/src/compile.rs @@ -2118,15 +2118,16 @@ impl Compiler { Name { id, .. } => self.load_name(id)?, Lambda { args, body } => { let prev_ctx = self.ctx; + + let name = "".to_owned(); + let mut funcflags = self.enter_function(&name, args)?; + self.ctx = CompileContext { loop_data: Option::None, in_class: prev_ctx.in_class, func: FunctionContext::Function, }; - let name = "".to_owned(); - let mut funcflags = self.enter_function(&name, args)?; - self.current_codeinfo() .constants .insert_full(ConstantData::None); diff --git a/extra_tests/snippets/scope_lambda.py b/extra_tests/snippets/scope_lambda.py new file mode 100644 index 00000000000..b72a38c5fb9 --- /dev/null +++ b/extra_tests/snippets/scope_lambda.py @@ -0,0 +1,3 @@ +class X: + v = 10 + f = lambda x=v: x