Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion Lib/test/test_descr.py
Original file line number Diff line number Diff line change
Expand Up @@ -4987,7 +4987,6 @@ class Inside:
self.assertEqual(Y.__qualname__, 'Y')
self.assertEqual(Y.Inside.__qualname__, 'Y.Inside')

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_qualname_dict(self):
ns = {'__qualname__': 'some.name'}
tp = type('Foo', (), ns)
Expand Down
6 changes: 3 additions & 3 deletions crates/vm/src/builtins/type.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1867,15 +1867,15 @@ impl Constructor for PyType {
(metatype, base.to_owned(), bases, base_is_type)
};

let qualname = dict
.pop_item(identifier!(vm, __qualname__).as_object(), vm)?
let mut attributes = dict.to_attributes(vm);
let qualname = attributes
.shift_remove(identifier!(vm, __qualname__))
.map(|obj| downcast_qualname(obj, vm))
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
.transpose()?
.unwrap_or_else(|| {
// If __qualname__ is not provided, we can use the name as default
name.clone().into_wtf8()
});
let mut attributes = dict.to_attributes(vm);

// Check __doc__ for surrogates - raises UnicodeEncodeError during type creation
if let Some(doc) = attributes.get(identifier!(vm, __doc__))
Expand Down