diff --git a/src/impl_/pyclass.rs b/src/impl_/pyclass.rs index e9839a987e3..75289b60c10 100644 --- a/src/impl_/pyclass.rs +++ b/src/impl_/pyclass.rs @@ -1497,10 +1497,16 @@ mod tests { assert_eq!(def.name, c"my_field"); assert_eq!(def.doc, c"My field doc"); - assert_eq!( - def.meth as usize, - pyo3_get_value_into_pyobject_ref:: as usize - ); + + #[cfg(fn_ptr_eq)] + { + use crate::impl_::pymethods::Getter; + + assert!(std::ptr::fn_addr_eq( + def.meth, + pyo3_get_value_into_pyobject_ref:: as Getter + )); + } // generate for a field via `IntoPyObject` + `Clone` // SAFETY: offset is correct @@ -1512,10 +1518,16 @@ mod tests { }; assert_eq!(def.name, c"my_field"); assert_eq!(def.doc, c"My field doc"); - assert_eq!( - def.meth as usize, - pyo3_get_value_into_pyobject:: as usize - ); + + #[cfg(fn_ptr_eq)] + { + use crate::impl_::pymethods::Getter; + + assert!(std::ptr::fn_addr_eq( + def.meth, + pyo3_get_value_into_pyobject:: as Getter + )); + } } #[test] @@ -1563,9 +1575,15 @@ mod tests { }; assert_eq!(def.name, c"my_field"); assert_eq!(def.doc, c"My field doc"); - assert_eq!( - def.meth as usize, - pyo3_get_value_into_pyobject_ref::, FIELD_OFFSET> as usize - ); + + #[cfg(fn_ptr_eq)] + { + use crate::impl_::pymethods::Getter; + + assert!(std::ptr::fn_addr_eq( + def.meth, + pyo3_get_value_into_pyobject_ref::, FIELD_OFFSET> as Getter + )); + } } }