diff options
author | Andrew Clayton <a.clayton@nginx.com> | 2024-07-02 02:49:09 +0100 |
---|---|---|
committer | Andrew Clayton <a.clayton@nginx.com> | 2024-07-02 02:49:09 +0100 |
commit | 2cf492f49cfb05c5083c99a38634c2f40b6d3e84 (patch) | |
tree | 5c3e547eb3fdfc715b03ebff36aa7979e7ba5a6c /examples/rust/echo-request/src/lib.rs | |
parent | 3a751f78ae9ef330c575419f749c903f359a7c80 (diff) | |
download | unit-wasm-2cf492f49cfb05c5083c99a38634c2f40b6d3e84.tar.gz unit-wasm-2cf492f49cfb05c5083c99a38634c2f40b6d3e84.tar.bz2 |
examples/rust: Fix some new rustc warnings
With at least
rustc 1.79.0 (129f3b996 2024-06-10) (Fedora 1.79.0-3.fc40)
We were getting warnings when building the rust examples like
warning: creating a mutable reference to mutable static is discouraged
--> src/lib.rs:75:40
|
75 | let ctx: *mut luw_ctx_t = unsafe { &mut CTX };
| ^^^^^^^^ mutable reference to mutable static
|
= note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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
|
75 | let ctx: *mut luw_ctx_t = unsafe { addr_of_mut!(CTX) };
| ~~~~~~~~~~~~~~~~~
So do like it says and use the addr_of_mut!() macro.
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
Diffstat (limited to 'examples/rust/echo-request/src/lib.rs')
-rw-r--r-- | examples/rust/echo-request/src/lib.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/examples/rust/echo-request/src/lib.rs b/examples/rust/echo-request/src/lib.rs index 674bb05..0fddab7 100644 --- a/examples/rust/echo-request/src/lib.rs +++ b/examples/rust/echo-request/src/lib.rs @@ -11,7 +11,7 @@ use unit_wasm::rusty::*; use std::ffi::CStr; use std::os::raw::c_char; use std::os::raw::c_void; -use std::ptr::null_mut; +use std::ptr::{addr_of_mut, null_mut}; // Buffer of some size to store the copy of the request static mut REQUEST_BUF: *mut u8 = null_mut(); @@ -51,7 +51,7 @@ pub extern "C" fn uwr_request_handler(addr: *mut u8) -> i32 { uwr_init_ctx(ctx, addr, 4096); // Set where we will copy the request into - uwr_set_req_buf(ctx, unsafe { &mut REQUEST_BUF }, LUW_SRB_NONE); + uwr_set_req_buf(ctx, unsafe { addr_of_mut!(REQUEST_BUF) }, LUW_SRB_NONE); // Define the Response Body Text. |