Skip to content

Commit d92d6f6

Browse files
MichaelCuevasfacebook-github-bot
authored andcommitted
fix addrOfMut warning
Summary: Fixes the following warning by following the advice given: ``` warning: creating a mutable reference to mutable static is discouraged --> fbcode/eden/scm/lib/cpython-ext/src/bytesobject.rs:37:13 | 37 | &mut PyBytes_Type as *mut PyTypeObject, | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static | = note: for more information, see issue #114447 <rust-lang/rust#114447> = note: this will be a hard error in the 2024 edition = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior = note: `#[warn(static_mut_refs)]` on by default help: use `addr_of_mut!` instead to create a raw pointer | 37 | addr_of_mut!(PyBytes_Type) as *mut PyTypeObject, | ~~~~~~~~~~~~~ + ``` Reviewed By: quark-zju Differential Revision: D65218834 fbshipit-source-id: 8298cdf8089b6d8516e0cb59a811b30465eb1f8c
1 parent 51e3049 commit d92d6f6

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

eden/scm/lib/cpython-ext/src/bytesobject.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77

88
use std::mem;
99
use std::os::raw::c_char;
10+
use std::ptr::addr_of_mut;
1011
use std::slice;
1112

1213
use cpython::PyObject as RustPyObject;
1314
use cpython::Python as RustPythonGILGuard;
1415
use ffi::PyBytes_Type;
1516
use ffi::PyObject;
16-
use ffi::PyTypeObject;
1717
use ffi::PyVarObject;
1818
use ffi::Py_hash_t;
1919
use ffi::Py_ssize_t;
@@ -34,7 +34,7 @@ struct PyBytesObject {
3434
pub fn allocate_pybytes(py: RustPythonGILGuard<'_>, size: usize) -> (RustPyObject, &mut [u8]) {
3535
unsafe {
3636
let ptr: *mut PyVarObject = _PyObject_NewVar(
37-
&mut PyBytes_Type as *mut PyTypeObject,
37+
addr_of_mut!(PyBytes_Type),
3838
(size + mem::size_of::<PyBytesObject>()) as Py_ssize_t,
3939
);
4040
let mut ptr: *mut PyObject = mem::transmute(ptr);

0 commit comments

Comments
 (0)