Skip to content

Commit 130321e

Browse files
Truncate PyType_GetFlags to be always 32 bits
1 parent 8432c17 commit 130321e

1 file changed

Lines changed: 9 additions & 9 deletions

File tree

crates/capi/src/object.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ use core::ffi::{c_int, c_uint, c_ulong};
44
use rustpython_vm::builtins::PyType;
55
use rustpython_vm::{AsObject, Context, Py};
66

7-
const PY_TPFLAGS_LONG_SUBCLASS: u64 = 1 << 24;
8-
const PY_TPFLAGS_LIST_SUBCLASS: u64 = 1 << 25;
9-
const PY_TPFLAGS_TUPLE_SUBCLASS: u64 = 1 << 26;
10-
const PY_TPFLAGS_BYTES_SUBCLASS: u64 = 1 << 27;
11-
const PY_TPFLAGS_UNICODE_SUBCLASS: u64 = 1 << 28;
12-
const PY_TPFLAGS_DICT_SUBCLASS: u64 = 1 << 29;
13-
const PY_TPFLAGS_BASE_EXC_SUBCLASS: u64 = 1 << 30;
14-
const PY_TPFLAGS_TYPE_SUBCLASS: u64 = 1 << 31;
7+
const PY_TPFLAGS_LONG_SUBCLASS: u32 = 1 << 24;
8+
const PY_TPFLAGS_LIST_SUBCLASS: u32 = 1 << 25;
9+
const PY_TPFLAGS_TUPLE_SUBCLASS: u32 = 1 << 26;
10+
const PY_TPFLAGS_BYTES_SUBCLASS: u32 = 1 << 27;
11+
const PY_TPFLAGS_UNICODE_SUBCLASS: u32 = 1 << 28;
12+
const PY_TPFLAGS_DICT_SUBCLASS: u32 = 1 << 29;
13+
const PY_TPFLAGS_BASE_EXC_SUBCLASS: u32 = 1 << 30;
14+
const PY_TPFLAGS_TYPE_SUBCLASS: u32 = 1 << 31;
1515

1616
pub type PyTypeObject = Py<PyType>;
1717

@@ -36,7 +36,7 @@ pub unsafe extern "C" fn PyType_GetFlags(ptr: *const PyTypeObject) -> c_ulong {
3636
let exp_zoo = &ctx.exceptions;
3737

3838
let ty = unsafe { &*ptr };
39-
let mut flags = ty.slots.flags.bits();
39+
let mut flags = ty.slots.flags.bits() as u32;
4040

4141
if ty.is_subtype(zoo.int_type) {
4242
flags |= PY_TPFLAGS_LONG_SUBCLASS;

0 commit comments

Comments
 (0)