diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py index 29047880f..edf68287a 100644 --- a/Lib/test/test_builtin.py +++ b/Lib/test/test_builtin.py @@ -2939,7 +2939,6 @@ class TestType(unittest.TestCase): A.__qualname__ = b'B' self.assertEqual(A.__qualname__, 'D.E') - @unittest.expectedFailure # TODO: RUSTPYTHON; AssertionError: '__firstlineno__' unexpectedly found in mappingproxy({'__firstlineno__': 42, '__module__': 'testmodule', '__dict__': , '__doc__': None}) def test_type_firstlineno(self): A = type('A', (), {'__firstlineno__': 42}) self.assertEqual(A.__name__, 'A') diff --git a/Lib/test/test_inspect/test_inspect.py b/Lib/test/test_inspect/test_inspect.py index 2eb7e8b4a..456d94534 100644 --- a/Lib/test/test_inspect/test_inspect.py +++ b/Lib/test/test_inspect/test_inspect.py @@ -910,7 +910,6 @@ class TestGetsourceStdlib(unittest.TestCase): self.assertRaises(OSError, inspect.getsource, tomllib.TOMLDecodeError) self.assertRaises(OSError, inspect.getsourcelines, tomllib.TOMLDecodeError) - @unittest.expectedFailure # TODO: RUSTPYTHON; AssertionError: OSError not raised by getsource def test_getsource_stdlib_abc(self): # Pure Python implementation abc = import_helper.import_fresh_module('abc', blocked=['_abc']) diff --git a/crates/vm/src/builtins/type.rs b/crates/vm/src/builtins/type.rs index 3a1cebb9d..5970c30fb 100644 --- a/crates/vm/src/builtins/type.rs +++ b/crates/vm/src/builtins/type.rs @@ -1648,9 +1648,9 @@ impl PyType { #[pygetset(setter)] fn set___module__(&self, value: PyObjectRef, vm: &VirtualMachine) -> PyResult<()> { self.check_set_special_type_attr(identifier!(vm, __module__), vm)?; - self.attributes - .write() - .insert(identifier!(vm, __module__), value); + let mut attributes = self.attributes.write(); + attributes.swap_remove(identifier!(vm, __firstlineno__)); + attributes.insert(identifier!(vm, __module__), value); Ok(()) } diff --git a/crates/vm/src/vm/context.rs b/crates/vm/src/vm/context.rs index 1edb8656e..dc0af9386 100644 --- a/crates/vm/src/vm/context.rs +++ b/crates/vm/src/vm/context.rs @@ -135,6 +135,7 @@ declare_const_name! { __eq__, __exit__, __file__, + __firstlineno__, __float__, __floor__, __floordiv__,