Skip to content

Commit 8405693

Browse files
committed
Always load __debug__ as a const.
1 parent 547d752 commit 8405693

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

Lib/test/test_compile.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ def test_other_newlines(self):
3131
compile("hi\r\nstuff\r\ndef f():\n pass\r", "<test>", "exec")
3232
compile("this_is\rreally_old_mac\rdef f():\n pass", "<test>", "exec")
3333

34-
# TODO: RUSTPYTHON
35-
@unittest.expectedFailure
3634
def test_debug_assignment(self):
3735
# catch assignments to __debug__
3836
self.assertRaises(SyntaxError, compile, '__debug__ = 1', '?', 'single')

compiler/codegen/src/compile.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,14 @@ impl Compiler {
500500
// // TODO: is this right?
501501
// SymbolScope::Unknown => NameOpType::Global,
502502
};
503+
504+
if NameUsage::Load == usage && name == "__debug__" {
505+
self.emit_constant(ConstantData::Boolean {
506+
value: self.opts.optimize == 0,
507+
});
508+
return Ok(());
509+
}
510+
503511
let mut idx = cache
504512
.get_index_of(name.as_ref())
505513
.unwrap_or_else(|| cache.insert_full(name.into_owned()).0);

0 commit comments

Comments
 (0)