Skip to content

Commit 93ae215

Browse files
committed
Don't build dummy objects when populating ObTypeLookup
1 parent be9c21c commit 93ae215

File tree

1 file changed

+17
-20
lines changed

1 file changed

+17
-20
lines changed

src/serializers/ob_type.rs

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -59,29 +59,26 @@ pub enum IsType {
5959

6060
impl ObTypeLookup {
6161
fn new(py: Python) -> Self {
62-
let lib_url = url::Url::parse("https://example.com").unwrap();
6362
Self {
6463
none: py.None().as_ref(py).get_type_ptr() as usize,
65-
int: 0i32.into_py(py).as_ref(py).get_type_ptr() as usize,
66-
bool: true.into_py(py).as_ref(py).get_type_ptr() as usize,
67-
float: 0f32.into_py(py).as_ref(py).get_type_ptr() as usize,
68-
list: PyList::empty(py).get_type_ptr() as usize,
69-
dict: PyDict::new(py).get_type_ptr() as usize,
64+
int: PyInt::type_object_raw(py) as usize,
65+
bool: PyBool::type_object_raw(py) as usize,
66+
float: PyFloat::type_object_raw(py) as usize,
67+
list: PyList::type_object_raw(py) as usize,
68+
dict: PyDict::type_object_raw(py) as usize,
7069
decimal_object: py.import("decimal").unwrap().getattr("Decimal").unwrap().to_object(py),
71-
string: PyString::new(py, "s").get_type_ptr() as usize,
72-
bytes: PyBytes::new(py, b"s").get_type_ptr() as usize,
73-
bytearray: PyByteArray::new(py, b"s").get_type_ptr() as usize,
74-
tuple: PyTuple::empty(py).get_type_ptr() as usize,
75-
set: PySet::empty(py).unwrap().get_type_ptr() as usize,
76-
frozenset: PyFrozenSet::empty(py).unwrap().get_type_ptr() as usize,
77-
datetime: PyDateTime::new(py, 2000, 1, 1, 0, 0, 0, 0, None)
78-
.unwrap()
79-
.get_type_ptr() as usize,
80-
date: PyDate::new(py, 2000, 1, 1).unwrap().get_type_ptr() as usize,
81-
time: PyTime::new(py, 0, 0, 0, 0, None).unwrap().get_type_ptr() as usize,
82-
timedelta: PyDelta::new(py, 0, 0, 0, false).unwrap().get_type_ptr() as usize,
83-
url: PyUrl::new(lib_url.clone()).into_py(py).as_ref(py).get_type_ptr() as usize,
84-
multi_host_url: PyMultiHostUrl::new(lib_url, None).into_py(py).as_ref(py).get_type_ptr() as usize,
70+
string: PyString::type_object_raw(py) as usize,
71+
bytes: PyBytes::type_object_raw(py) as usize,
72+
bytearray: PyByteArray::type_object_raw(py) as usize,
73+
tuple: PyTuple::type_object_raw(py) as usize,
74+
set: PySet::type_object_raw(py) as usize,
75+
frozenset: PyFrozenSet::type_object_raw(py) as usize,
76+
datetime: PyDateTime::type_object_raw(py) as usize,
77+
date: PyDate::type_object_raw(py) as usize,
78+
time: PyTime::type_object_raw(py) as usize,
79+
timedelta: PyDelta::type_object_raw(py) as usize,
80+
url: PyUrl::type_object_raw(py) as usize,
81+
multi_host_url: PyMultiHostUrl::type_object_raw(py) as usize,
8582
enum_object: py.import("enum").unwrap().getattr("Enum").unwrap().to_object(py),
8683
generator_object: py
8784
.import("types")

0 commit comments

Comments
 (0)