From 76a5a67b6f6cedd94496e3abb695b2e1c4f88f05 Mon Sep 17 00:00:00 2001 From: strawberry Date: Thu, 12 Dec 2024 10:22:30 -0500 Subject: [PATCH] fix a couple rust 2024 lints introduced in rust 1.82.0 Signed-off-by: strawberry --- deps/rust-rocksdb/lib.rs | 114 +++++++++++++++++++-------------------- src/core/alloc/je.rs | 2 +- src/core/mods/macros.rs | 16 +++--- src/main/mods.rs | 2 +- src/router/mod.rs | 6 +-- 5 files changed, 70 insertions(+), 70 deletions(-) diff --git a/deps/rust-rocksdb/lib.rs b/deps/rust-rocksdb/lib.rs index 2e699efb..0551991a 100644 --- a/deps/rust-rocksdb/lib.rs +++ b/deps/rust-rocksdb/lib.rs @@ -2,61 +2,61 @@ pub use rust_rocksdb::*; #[cfg_attr(not(conduit_mods), link(name = "rocksdb"))] #[cfg_attr(conduit_mods, link(name = "rocksdb", kind = "static"))] -extern "C" { - pub fn rocksdb_list_column_families(); - pub fn rocksdb_logger_create_stderr_logger(); - pub fn rocksdb_logger_create_callback_logger(); - pub fn rocksdb_options_set_info_log(); - pub fn rocksdb_get_options_from_string(); - pub fn rocksdb_writebatch_create(); - pub fn rocksdb_writebatch_destroy(); - pub fn rocksdb_writebatch_put_cf(); - pub fn rocksdb_writebatch_delete_cf(); - pub fn rocksdb_iter_value(); - pub fn rocksdb_iter_seek_to_last(); - pub fn rocksdb_iter_seek_for_prev(); - pub fn rocksdb_iter_seek_to_first(); - pub fn rocksdb_iter_next(); - pub fn rocksdb_iter_prev(); - pub fn rocksdb_iter_seek(); - pub fn rocksdb_iter_valid(); - pub fn rocksdb_iter_get_error(); - pub fn rocksdb_iter_key(); - pub fn rocksdb_iter_destroy(); - pub fn rocksdb_livefiles(); - pub fn rocksdb_livefiles_count(); - pub fn rocksdb_livefiles_destroy(); - pub fn rocksdb_livefiles_column_family_name(); - pub fn rocksdb_livefiles_name(); - pub fn rocksdb_livefiles_size(); - pub fn rocksdb_livefiles_level(); - pub fn rocksdb_livefiles_smallestkey(); - pub fn rocksdb_livefiles_largestkey(); - pub fn rocksdb_livefiles_entries(); - pub fn rocksdb_livefiles_deletions(); - pub fn rocksdb_put_cf(); - pub fn rocksdb_delete_cf(); - pub fn rocksdb_get_pinned_cf(); - pub fn rocksdb_create_column_family(); - pub fn rocksdb_get_latest_sequence_number(); - pub fn rocksdb_batched_multi_get_cf(); - pub fn rocksdb_cancel_all_background_work(); - pub fn rocksdb_repair_db(); - pub fn rocksdb_list_column_families_destroy(); - pub fn rocksdb_flush(); - pub fn rocksdb_flush_wal(); - pub fn rocksdb_open_column_families(); - pub fn rocksdb_open_for_read_only_column_families(); - pub fn rocksdb_open_as_secondary_column_families(); - pub fn rocksdb_open_column_families_with_ttl(); - pub fn rocksdb_open(); - pub fn rocksdb_open_for_read_only(); - pub fn rocksdb_open_with_ttl(); - pub fn rocksdb_open_as_secondary(); - pub fn rocksdb_write(); - pub fn rocksdb_create_iterator_cf(); - pub fn rocksdb_backup_engine_create_new_backup_flush(); - pub fn rocksdb_backup_engine_options_create(); - pub fn rocksdb_write_buffer_manager_destroy(); - pub fn rocksdb_options_set_ttl(); +unsafe extern "C" { + pub unsafe fn rocksdb_list_column_families(); + pub unsafe fn rocksdb_logger_create_stderr_logger(); + pub unsafe fn rocksdb_logger_create_callback_logger(); + pub unsafe fn rocksdb_options_set_info_log(); + pub unsafe fn rocksdb_get_options_from_string(); + pub unsafe fn rocksdb_writebatch_create(); + pub unsafe fn rocksdb_writebatch_destroy(); + pub unsafe fn rocksdb_writebatch_put_cf(); + pub unsafe fn rocksdb_writebatch_delete_cf(); + pub unsafe fn rocksdb_iter_value(); + pub unsafe fn rocksdb_iter_seek_to_last(); + pub unsafe fn rocksdb_iter_seek_for_prev(); + pub unsafe fn rocksdb_iter_seek_to_first(); + pub unsafe fn rocksdb_iter_next(); + pub unsafe fn rocksdb_iter_prev(); + pub unsafe fn rocksdb_iter_seek(); + pub unsafe fn rocksdb_iter_valid(); + pub unsafe fn rocksdb_iter_get_error(); + pub unsafe fn rocksdb_iter_key(); + pub unsafe fn rocksdb_iter_destroy(); + pub unsafe fn rocksdb_livefiles(); + pub unsafe fn rocksdb_livefiles_count(); + pub unsafe fn rocksdb_livefiles_destroy(); + pub unsafe fn rocksdb_livefiles_column_family_name(); + pub unsafe fn rocksdb_livefiles_name(); + pub unsafe fn rocksdb_livefiles_size(); + pub unsafe fn rocksdb_livefiles_level(); + pub unsafe fn rocksdb_livefiles_smallestkey(); + pub unsafe fn rocksdb_livefiles_largestkey(); + pub unsafe fn rocksdb_livefiles_entries(); + pub unsafe fn rocksdb_livefiles_deletions(); + pub unsafe fn rocksdb_put_cf(); + pub unsafe fn rocksdb_delete_cf(); + pub unsafe fn rocksdb_get_pinned_cf(); + pub unsafe fn rocksdb_create_column_family(); + pub unsafe fn rocksdb_get_latest_sequence_number(); + pub unsafe fn rocksdb_batched_multi_get_cf(); + pub unsafe fn rocksdb_cancel_all_background_work(); + pub unsafe fn rocksdb_repair_db(); + pub unsafe fn rocksdb_list_column_families_destroy(); + pub unsafe fn rocksdb_flush(); + pub unsafe fn rocksdb_flush_wal(); + pub unsafe fn rocksdb_open_column_families(); + pub unsafe fn rocksdb_open_for_read_only_column_families(); + pub unsafe fn rocksdb_open_as_secondary_column_families(); + pub unsafe fn rocksdb_open_column_families_with_ttl(); + pub unsafe fn rocksdb_open(); + pub unsafe fn rocksdb_open_for_read_only(); + pub unsafe fn rocksdb_open_with_ttl(); + pub unsafe fn rocksdb_open_as_secondary(); + pub unsafe fn rocksdb_write(); + pub unsafe fn rocksdb_create_iterator_cf(); + pub unsafe fn rocksdb_backup_engine_create_new_backup_flush(); + pub unsafe fn rocksdb_backup_engine_options_create(); + pub unsafe fn rocksdb_write_buffer_manager_destroy(); + pub unsafe fn rocksdb_options_set_ttl(); } diff --git a/src/core/alloc/je.rs b/src/core/alloc/je.rs index 7561eb95..a3a7acc0 100644 --- a/src/core/alloc/je.rs +++ b/src/core/alloc/je.rs @@ -59,7 +59,7 @@ pub fn memory_stats() -> Option { Some(format!("
{str}
")) } -extern "C" fn malloc_stats_cb(opaque: *mut c_void, msg: *const c_char) { +unsafe extern "C" fn malloc_stats_cb(opaque: *mut c_void, msg: *const c_char) { // SAFETY: we have to trust the opaque points to our String let res: &mut String = unsafe { opaque.cast::().as_mut().unwrap() }; diff --git a/src/core/mods/macros.rs b/src/core/mods/macros.rs index aa0999c9..1f3b7f5f 100644 --- a/src/core/mods/macros.rs +++ b/src/core/mods/macros.rs @@ -23,11 +23,11 @@ macro_rules! mod_dtor { macro_rules! mod_init { ($body:block) => { #[used] - #[cfg_attr(target_family = "unix", link_section = ".init_array")] - static MOD_INIT: extern "C" fn() = { _mod_init }; + #[cfg_attr(target_family = "unix", unsafe(link_section = ".init_array"))] + static MOD_INIT: unsafe extern "C" fn() = { _mod_init }; - #[cfg_attr(target_family = "unix", link_section = ".text.startup")] - extern "C" fn _mod_init() -> () $body + #[cfg_attr(target_family = "unix", unsafe(link_section = ".text.startup"))] + unsafe extern "C" fn _mod_init() -> () $body }; } @@ -35,10 +35,10 @@ macro_rules! mod_init { macro_rules! mod_fini { ($body:block) => { #[used] - #[cfg_attr(target_family = "unix", link_section = ".fini_array")] - static MOD_FINI: extern "C" fn() = { _mod_fini }; + #[cfg_attr(target_family = "unix", unsafe(link_section = ".fini_array"))] + static MOD_FINI: unsafe extern "C" fn() = { _mod_fini }; - #[cfg_attr(target_family = "unix", link_section = ".text.startup")] - extern "C" fn _mod_fini() -> () $body + #[cfg_attr(target_family = "unix", unsafe(link_section = ".text.startup"))] + unsafe extern "C" fn _mod_fini() -> () $body }; } diff --git a/src/main/mods.rs b/src/main/mods.rs index e377e71c..16d975cc 100644 --- a/src/main/mods.rs +++ b/src/main/mods.rs @@ -1,6 +1,6 @@ #![cfg(conduit_mods)] -#[no_link] +#[unsafe(no_link)] extern crate conduit_service; use std::{ diff --git a/src/router/mod.rs b/src/router/mod.rs index 1580f605..215000cb 100644 --- a/src/router/mod.rs +++ b/src/router/mod.rs @@ -16,7 +16,7 @@ conduit::mod_ctor! {} conduit::mod_dtor! {} conduit::rustc_flags_capture! {} -#[no_mangle] +#[unsafe(no_mangle)] pub extern "Rust" fn start(server: &Arc) -> Pin>> + Send>> { AssertUnwindSafe(run::start(server.clone())) .catch_unwind() @@ -25,7 +25,7 @@ pub extern "Rust" fn start(server: &Arc) -> Pin) -> Pin> + Send>> { AssertUnwindSafe(run::stop(services)) .catch_unwind() @@ -34,7 +34,7 @@ pub extern "Rust" fn stop(services: Arc) -> Pin) -> Pin> + Send>> { AssertUnwindSafe(run::run(services.clone())) .catch_unwind()