Correct `PyInner<T>` fields order
Because `PyInner<T>` struct follows C langauge's representation,
when passing `impl From<PyRef<T>> for PyObjectRef`,
the unsafe function,  `NonNull::cast`, harms the `slots` fields.
This reorders the fields to make `payload` field go to the last.
@@ -114,9 +114,9 @@ struct PyInner<T> {
typ: PyRwLock<PyTypeRef>, // __class__ member
dict: Option<InstanceDict>,
weak_list: WeakRefList,
+ slots: Box<[PyRwLock<Option<PyObjectRef>>]>,
payload: T,
- slots: Box<[PyRwLock<Option<PyObjectRef>>]>,
}
impl<T: fmt::Debug> fmt::Debug for PyInner<T> {
