From b134a09ffab3b918979007cf40f603e5b54ed597 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Fri, 2 May 2025 10:35:49 +0200 Subject: rust: remove offset_of replacement Reviewed-by: Manos Pitsidianakis Signed-off-by: Paolo Bonzini --- rust/qemu-api/build.rs | 7 ------- 1 file changed, 7 deletions(-) (limited to 'rust/qemu-api/build.rs') diff --git a/rust/qemu-api/build.rs b/rust/qemu-api/build.rs index 471e6c633d..470be2a4d5 100644 --- a/rust/qemu-api/build.rs +++ b/rust/qemu-api/build.rs @@ -8,8 +8,6 @@ use std::os::unix::fs::symlink as symlink_file; use std::os::windows::fs::symlink_file; use std::{env, fs::remove_file, io::Result, path::Path}; -use version_check as rustc; - fn main() -> Result<()> { // Placing bindings.inc.rs in the source directory is supported // but not documented or encouraged. @@ -38,11 +36,6 @@ fn main() -> Result<()> { } symlink_file(file, dest_path)?; - // Check for available rustc features - if rustc::is_min_version("1.77.0").unwrap_or(false) { - println!("cargo:rustc-cfg=has_offset_of"); - } - println!("cargo:rerun-if-changed=build.rs"); Ok(()) } -- cgit 1.4.1 From c6b04613bdc9a911c0fbe7c114a421991721f878 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 5 May 2025 12:19:55 +0200 Subject: rust: clippy: enable uninlined_format_args lint Signed-off-by: Paolo Bonzini --- rust/Cargo.toml | 1 + rust/clippy.toml | 1 + rust/qemu-api-macros/src/lib.rs | 16 ++++++++-------- rust/qemu-api/build.rs | 4 ++-- 4 files changed, 12 insertions(+), 10 deletions(-) (limited to 'rust/qemu-api/build.rs') diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 4f6fe17b50..d9faeecb10 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -89,6 +89,7 @@ suspicious_operation_groupings = "deny" transmute_ptr_to_ptr = "deny" transmute_undefined_repr = "deny" type_repetition_in_bounds = "deny" +uninlined_format_args = "deny" used_underscore_binding = "deny" # nice to have, but cannot be enabled yet diff --git a/rust/clippy.toml b/rust/clippy.toml index 933e46a2ff..58a62c0e63 100644 --- a/rust/clippy.toml +++ b/rust/clippy.toml @@ -1,2 +1,3 @@ doc-valid-idents = ["PrimeCell", ".."] +allow-mixed-uninlined-format-args = false msrv = "1.77.0" diff --git a/rust/qemu-api-macros/src/lib.rs b/rust/qemu-api-macros/src/lib.rs index dc14cac4ff..f97449bb30 100644 --- a/rust/qemu-api-macros/src/lib.rs +++ b/rust/qemu-api-macros/src/lib.rs @@ -18,13 +18,13 @@ fn get_fields<'a>( ) -> Result<&'a Punctuated, MacroError> { let Data::Struct(ref s) = &input.data else { return Err(MacroError::Message( - format!("Struct required for {}", msg), + format!("Struct required for {msg}"), input.ident.span(), )); }; let Fields::Named(ref fs) = &s.fields else { return Err(MacroError::Message( - format!("Named fields required for {}", msg), + format!("Named fields required for {msg}"), input.ident.span(), )); }; @@ -34,19 +34,19 @@ fn get_fields<'a>( fn get_unnamed_field<'a>(input: &'a DeriveInput, msg: &str) -> Result<&'a Field, MacroError> { let Data::Struct(ref s) = &input.data else { return Err(MacroError::Message( - format!("Struct required for {}", msg), + format!("Struct required for {msg}"), input.ident.span(), )); }; let Fields::Unnamed(FieldsUnnamed { ref unnamed, .. }) = &s.fields else { return Err(MacroError::Message( - format!("Tuple struct required for {}", msg), + format!("Tuple struct required for {msg}"), s.fields.span(), )); }; if unnamed.len() != 1 { return Err(MacroError::Message( - format!("A single field is required for {}", msg), + format!("A single field is required for {msg}"), s.fields.span(), )); } @@ -60,7 +60,7 @@ fn is_c_repr(input: &DeriveInput, msg: &str) -> Result<(), MacroError> { Ok(()) } else { Err(MacroError::Message( - format!("#[repr(C)] required for {}", msg), + format!("#[repr(C)] required for {msg}"), input.ident.span(), )) } @@ -73,7 +73,7 @@ fn is_transparent_repr(input: &DeriveInput, msg: &str) -> Result<(), MacroError> Ok(()) } else { Err(MacroError::Message( - format!("#[repr(transparent)] required for {}", msg), + format!("#[repr(transparent)] required for {msg}"), input.ident.span(), )) } @@ -168,7 +168,7 @@ fn get_repr_uN(input: &DeriveInput, msg: &str) -> Result { } Err(MacroError::Message( - format!("#[repr(u8/u16/u32/u64) required for {}", msg), + format!("#[repr(u8/u16/u32/u64) required for {msg}"), input.ident.span(), )) } diff --git a/rust/qemu-api/build.rs b/rust/qemu-api/build.rs index 470be2a4d5..1e720641d2 100644 --- a/rust/qemu-api/build.rs +++ b/rust/qemu-api/build.rs @@ -14,7 +14,7 @@ fn main() -> Result<()> { let path = env::var("MESON_BUILD_ROOT") .unwrap_or_else(|_| format!("{}/src", env!("CARGO_MANIFEST_DIR"))); - let file = format!("{}/bindings.inc.rs", path); + let file = format!("{path}/bindings.inc.rs"); let file = Path::new(&file); if !Path::new(&file).exists() { panic!(concat!( @@ -29,7 +29,7 @@ fn main() -> Result<()> { } let out_dir = env::var("OUT_DIR").unwrap(); - let dest_path = format!("{}/bindings.inc.rs", out_dir); + let dest_path = format!("{out_dir}/bindings.inc.rs"); let dest_path = Path::new(&dest_path); if dest_path.symlink_metadata().is_ok() { remove_file(dest_path)?; -- cgit 1.4.1