Fix non_upper_case_globals warning in py_class!() macro.
This commit is contained in:
parent
2b012968ec
commit
2c89f62646
|
@ -137,16 +137,16 @@ base_case = '''
|
||||||
return Ok($class { _unsafe_inner: obj });
|
return Ok($class { _unsafe_inner: obj });
|
||||||
|
|
||||||
// hide statics in create_instance to avoid name conflicts
|
// hide statics in create_instance to avoid name conflicts
|
||||||
static mut type_object : $crate::_detail::ffi::PyTypeObject
|
static mut TYPE_OBJECT : $crate::_detail::ffi::PyTypeObject
|
||||||
= py_class_type_object_static_init!($class, $gc, $slots);
|
= py_class_type_object_static_init!($class, $gc, $slots);
|
||||||
static mut init_active: bool = false;
|
static mut INIT_ACTIVE: bool = false;
|
||||||
|
|
||||||
// trait implementations that need direct access to type_object
|
// trait implementations that need direct access to TYPE_OBJECT
|
||||||
impl $crate::PythonObjectWithTypeObject for $class {
|
impl $crate::PythonObjectWithTypeObject for $class {
|
||||||
fn type_object(py: $crate::Python) -> $crate::PyType {
|
fn type_object(py: $crate::Python) -> $crate::PyType {
|
||||||
unsafe {
|
unsafe {
|
||||||
if $crate::py_class::is_ready(py, &type_object) {
|
if $crate::py_class::is_ready(py, &TYPE_OBJECT) {
|
||||||
$crate::PyType::from_type_ptr(py, &mut type_object)
|
$crate::PyType::from_type_ptr(py, &mut TYPE_OBJECT)
|
||||||
} else {
|
} else {
|
||||||
// automatically initialize the class on-demand
|
// automatically initialize the class on-demand
|
||||||
<$class as $crate::py_class::PythonObjectFromPyClassMacro>::initialize(py)
|
<$class as $crate::py_class::PythonObjectFromPyClassMacro>::initialize(py)
|
||||||
|
@ -159,26 +159,26 @@ base_case = '''
|
||||||
impl $crate::py_class::PythonObjectFromPyClassMacro for $class {
|
impl $crate::py_class::PythonObjectFromPyClassMacro for $class {
|
||||||
fn initialize(py: $crate::Python) -> $crate::PyResult<$crate::PyType> {
|
fn initialize(py: $crate::Python) -> $crate::PyResult<$crate::PyType> {
|
||||||
unsafe {
|
unsafe {
|
||||||
if $crate::py_class::is_ready(py, &type_object) {
|
if $crate::py_class::is_ready(py, &TYPE_OBJECT) {
|
||||||
return Ok($crate::PyType::from_type_ptr(py, &mut type_object));
|
return Ok($crate::PyType::from_type_ptr(py, &mut TYPE_OBJECT));
|
||||||
}
|
}
|
||||||
assert!(!init_active,
|
assert!(!INIT_ACTIVE,
|
||||||
concat!("Reentrancy detected: already initializing class ",
|
concat!("Reentrancy detected: already initializing class ",
|
||||||
stringify!($class)));
|
stringify!($class)));
|
||||||
init_active = true;
|
INIT_ACTIVE = true;
|
||||||
let res = init(py);
|
let res = init(py);
|
||||||
init_active = false;
|
INIT_ACTIVE = false;
|
||||||
res
|
res
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn init($py: $crate::Python) -> $crate::PyResult<$crate::PyType> {
|
fn init($py: $crate::Python) -> $crate::PyResult<$crate::PyType> {
|
||||||
py_class_type_object_dynamic_init!($class, $py, type_object, $slots);
|
py_class_type_object_dynamic_init!($class, $py, TYPE_OBJECT, $slots);
|
||||||
py_class_init_members!($class, $py, type_object, $members);
|
py_class_init_members!($class, $py, TYPE_OBJECT, $members);
|
||||||
unsafe {
|
unsafe {
|
||||||
if $crate::_detail::ffi::PyType_Ready(&mut type_object) == 0 {
|
if $crate::_detail::ffi::PyType_Ready(&mut TYPE_OBJECT) == 0 {
|
||||||
Ok($crate::PyType::from_type_ptr($py, &mut type_object))
|
Ok($crate::PyType::from_type_ptr($py, &mut TYPE_OBJECT))
|
||||||
} else {
|
} else {
|
||||||
Err($crate::PyErr::fetch($py))
|
Err($crate::PyErr::fetch($py))
|
||||||
}
|
}
|
||||||
|
|
|
@ -129,16 +129,16 @@ macro_rules! py_class_impl {
|
||||||
return Ok($class { _unsafe_inner: obj });
|
return Ok($class { _unsafe_inner: obj });
|
||||||
|
|
||||||
// hide statics in create_instance to avoid name conflicts
|
// hide statics in create_instance to avoid name conflicts
|
||||||
static mut type_object : $crate::_detail::ffi::PyTypeObject
|
static mut TYPE_OBJECT : $crate::_detail::ffi::PyTypeObject
|
||||||
= py_class_type_object_static_init!($class, $gc, $slots);
|
= py_class_type_object_static_init!($class, $gc, $slots);
|
||||||
static mut init_active: bool = false;
|
static mut INIT_ACTIVE: bool = false;
|
||||||
|
|
||||||
// trait implementations that need direct access to type_object
|
// trait implementations that need direct access to TYPE_OBJECT
|
||||||
impl $crate::PythonObjectWithTypeObject for $class {
|
impl $crate::PythonObjectWithTypeObject for $class {
|
||||||
fn type_object(py: $crate::Python) -> $crate::PyType {
|
fn type_object(py: $crate::Python) -> $crate::PyType {
|
||||||
unsafe {
|
unsafe {
|
||||||
if $crate::py_class::is_ready(py, &type_object) {
|
if $crate::py_class::is_ready(py, &TYPE_OBJECT) {
|
||||||
$crate::PyType::from_type_ptr(py, &mut type_object)
|
$crate::PyType::from_type_ptr(py, &mut TYPE_OBJECT)
|
||||||
} else {
|
} else {
|
||||||
// automatically initialize the class on-demand
|
// automatically initialize the class on-demand
|
||||||
<$class as $crate::py_class::PythonObjectFromPyClassMacro>::initialize(py)
|
<$class as $crate::py_class::PythonObjectFromPyClassMacro>::initialize(py)
|
||||||
|
@ -151,26 +151,26 @@ macro_rules! py_class_impl {
|
||||||
impl $crate::py_class::PythonObjectFromPyClassMacro for $class {
|
impl $crate::py_class::PythonObjectFromPyClassMacro for $class {
|
||||||
fn initialize(py: $crate::Python) -> $crate::PyResult<$crate::PyType> {
|
fn initialize(py: $crate::Python) -> $crate::PyResult<$crate::PyType> {
|
||||||
unsafe {
|
unsafe {
|
||||||
if $crate::py_class::is_ready(py, &type_object) {
|
if $crate::py_class::is_ready(py, &TYPE_OBJECT) {
|
||||||
return Ok($crate::PyType::from_type_ptr(py, &mut type_object));
|
return Ok($crate::PyType::from_type_ptr(py, &mut TYPE_OBJECT));
|
||||||
}
|
}
|
||||||
assert!(!init_active,
|
assert!(!INIT_ACTIVE,
|
||||||
concat!("Reentrancy detected: already initializing class ",
|
concat!("Reentrancy detected: already initializing class ",
|
||||||
stringify!($class)));
|
stringify!($class)));
|
||||||
init_active = true;
|
INIT_ACTIVE = true;
|
||||||
let res = init(py);
|
let res = init(py);
|
||||||
init_active = false;
|
INIT_ACTIVE = false;
|
||||||
res
|
res
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn init($py: $crate::Python) -> $crate::PyResult<$crate::PyType> {
|
fn init($py: $crate::Python) -> $crate::PyResult<$crate::PyType> {
|
||||||
py_class_type_object_dynamic_init!($class, $py, type_object, $slots);
|
py_class_type_object_dynamic_init!($class, $py, TYPE_OBJECT, $slots);
|
||||||
py_class_init_members!($class, $py, type_object, $members);
|
py_class_init_members!($class, $py, TYPE_OBJECT, $members);
|
||||||
unsafe {
|
unsafe {
|
||||||
if $crate::_detail::ffi::PyType_Ready(&mut type_object) == 0 {
|
if $crate::_detail::ffi::PyType_Ready(&mut TYPE_OBJECT) == 0 {
|
||||||
Ok($crate::PyType::from_type_ptr($py, &mut type_object))
|
Ok($crate::PyType::from_type_ptr($py, &mut TYPE_OBJECT))
|
||||||
} else {
|
} else {
|
||||||
Err($crate::PyErr::fetch($py))
|
Err($crate::PyErr::fetch($py))
|
||||||
}
|
}
|
||||||
|
|
|
@ -129,16 +129,16 @@ macro_rules! py_class_impl {
|
||||||
return Ok($class { _unsafe_inner: obj });
|
return Ok($class { _unsafe_inner: obj });
|
||||||
|
|
||||||
// hide statics in create_instance to avoid name conflicts
|
// hide statics in create_instance to avoid name conflicts
|
||||||
static mut type_object : $crate::_detail::ffi::PyTypeObject
|
static mut TYPE_OBJECT : $crate::_detail::ffi::PyTypeObject
|
||||||
= py_class_type_object_static_init!($class, $gc, $slots);
|
= py_class_type_object_static_init!($class, $gc, $slots);
|
||||||
static mut init_active: bool = false;
|
static mut INIT_ACTIVE: bool = false;
|
||||||
|
|
||||||
// trait implementations that need direct access to type_object
|
// trait implementations that need direct access to TYPE_OBJECT
|
||||||
impl $crate::PythonObjectWithTypeObject for $class {
|
impl $crate::PythonObjectWithTypeObject for $class {
|
||||||
fn type_object(py: $crate::Python) -> $crate::PyType {
|
fn type_object(py: $crate::Python) -> $crate::PyType {
|
||||||
unsafe {
|
unsafe {
|
||||||
if $crate::py_class::is_ready(py, &type_object) {
|
if $crate::py_class::is_ready(py, &TYPE_OBJECT) {
|
||||||
$crate::PyType::from_type_ptr(py, &mut type_object)
|
$crate::PyType::from_type_ptr(py, &mut TYPE_OBJECT)
|
||||||
} else {
|
} else {
|
||||||
// automatically initialize the class on-demand
|
// automatically initialize the class on-demand
|
||||||
<$class as $crate::py_class::PythonObjectFromPyClassMacro>::initialize(py)
|
<$class as $crate::py_class::PythonObjectFromPyClassMacro>::initialize(py)
|
||||||
|
@ -151,26 +151,26 @@ macro_rules! py_class_impl {
|
||||||
impl $crate::py_class::PythonObjectFromPyClassMacro for $class {
|
impl $crate::py_class::PythonObjectFromPyClassMacro for $class {
|
||||||
fn initialize(py: $crate::Python) -> $crate::PyResult<$crate::PyType> {
|
fn initialize(py: $crate::Python) -> $crate::PyResult<$crate::PyType> {
|
||||||
unsafe {
|
unsafe {
|
||||||
if $crate::py_class::is_ready(py, &type_object) {
|
if $crate::py_class::is_ready(py, &TYPE_OBJECT) {
|
||||||
return Ok($crate::PyType::from_type_ptr(py, &mut type_object));
|
return Ok($crate::PyType::from_type_ptr(py, &mut TYPE_OBJECT));
|
||||||
}
|
}
|
||||||
assert!(!init_active,
|
assert!(!INIT_ACTIVE,
|
||||||
concat!("Reentrancy detected: already initializing class ",
|
concat!("Reentrancy detected: already initializing class ",
|
||||||
stringify!($class)));
|
stringify!($class)));
|
||||||
init_active = true;
|
INIT_ACTIVE = true;
|
||||||
let res = init(py);
|
let res = init(py);
|
||||||
init_active = false;
|
INIT_ACTIVE = false;
|
||||||
res
|
res
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn init($py: $crate::Python) -> $crate::PyResult<$crate::PyType> {
|
fn init($py: $crate::Python) -> $crate::PyResult<$crate::PyType> {
|
||||||
py_class_type_object_dynamic_init!($class, $py, type_object, $slots);
|
py_class_type_object_dynamic_init!($class, $py, TYPE_OBJECT, $slots);
|
||||||
py_class_init_members!($class, $py, type_object, $members);
|
py_class_init_members!($class, $py, TYPE_OBJECT, $members);
|
||||||
unsafe {
|
unsafe {
|
||||||
if $crate::_detail::ffi::PyType_Ready(&mut type_object) == 0 {
|
if $crate::_detail::ffi::PyType_Ready(&mut TYPE_OBJECT) == 0 {
|
||||||
Ok($crate::PyType::from_type_ptr($py, &mut type_object))
|
Ok($crate::PyType::from_type_ptr($py, &mut TYPE_OBJECT))
|
||||||
} else {
|
} else {
|
||||||
Err($crate::PyErr::fetch($py))
|
Err($crate::PyErr::fetch($py))
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue