Skip to content

Commit d3e7b31

Browse files
committed
inherit basicsize from the base type
1 parent d6c4744 commit d3e7b31

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

vm/src/builtins/type.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,9 @@ impl PyType {
205205
if base.slots.flags.has_feature(PyTypeFlags::HAS_DICT) {
206206
slots.flags |= PyTypeFlags::HAS_DICT
207207
}
208+
if slots.basicsize == 0 {
209+
slots.basicsize = base.slots.basicsize;
210+
}
208211

209212
if let Some(qualname) = attrs.get(identifier!(ctx, __qualname__)) {
210213
if !qualname.fast_isinstance(ctx.types.str_type) {
@@ -253,6 +256,9 @@ impl PyType {
253256
if base.slots.flags.has_feature(PyTypeFlags::HAS_DICT) {
254257
slots.flags |= PyTypeFlags::HAS_DICT
255258
}
259+
if slots.basicsize == 0 {
260+
slots.basicsize = base.slots.basicsize;
261+
}
256262

257263
let bases = vec![base.clone()];
258264
let mro = base.iter_mro().map(|x| x.to_owned()).collect();

0 commit comments

Comments
 (0)