pub(crate) unsafe fn from_raw(
        ptr: *mut physx_sys::PxRigidStatic,
        user_data: S,
    ) -> Option<Owner<Self>> {
        let actor = (ptr as *mut Self).as_mut();
        Owner::from_raw(actor?.init_user_data(user_data))
    }
/// Safety: Calling this twice on the same pointer may result in a double-free or other use-after-free.
/// FFI calls that return a *mut PxRigidStatic should be wrapped in this to avoid working with raw pointers.
Calling this twice on the same pointer may result in a double-free or other use-after-free.
FFI calls that return a *mut PxRigidStatic should be wrapped in this to avoid working with raw pointers.
Calling this twice on the same pointer may result in a double - free or other use - after - free . FFI calls that return a * mut PxRigidStatic should be wrapped in this to avoid working with raw pointers .
pub(crate) unsafe fn from_raw(
        ptr: *mut physx_sys::PxRigidStatic,
        user_data: S,
    ) -> Option<Owner<Self>> {
        let actor = (ptr as *mut Self).as_mut();
        Owner::from_raw(actor?.init_user_data(user_data))
    }
pub ( crate ) unsafe fn from_raw ( ptr : * mut physx_sys :: PxRigidStatic , user_data : S , ) -> Option < Owner < Self > > { let actor = ( ptr as * mut Self ) . as_mut ( ) ; Owner :: from_raw ( actor ? . init_user_data ( user_data ) ) }
Safety: Calling this twice on the same pointer may result in a double-free or other use-after-free.
Safety : Calling this twice on the same pointer may result in a double - free or other use - after - free .
ptr
*mut physx_sys::PxRigidStatic
user_data
S