Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix clippy warnings and other improvements to code quality #1416

Merged
merged 2 commits into from
Jul 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ when upgrading from a version of rust-sdl2 to another.

### Next

[PR #1416](https://github.com/Rust-SDL2/rust-sdl2/pull/1416) Apply clippy fixes, fix deprecations and other code quality improvements.

[PR #1408](https://github.com/Rust-SDL2/rust-sdl2/pull/1408) Allow comparing `Version`s, add constant with the version the bindings were compiled with.

[PR #1407](https://github.com/Rust-SDL2/rust-sdl2/pull/1407) Add new use_ios_framework for linking to SDL2.framework on iOS
Expand Down
6 changes: 3 additions & 3 deletions examples/animation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,13 @@ fn main() -> Result<(), String> {

// set the current frame for time
source_rect_0.set_x(32 * ((ticks / 100) % frames_per_anim));
dest_rect_0.set_x(1 * ((ticks / 14) % 768) - 128);
dest_rect_0.set_x(((ticks / 14) % 768) - 128);

source_rect_1.set_x(32 * ((ticks / 100) % frames_per_anim));
dest_rect_1.set_x((1 * ((ticks / 12) % 768) - 672) * -1);
dest_rect_1.set_x(-(((ticks / 12) % 768) - 672));

source_rect_2.set_x(32 * ((ticks / 100) % frames_per_anim));
dest_rect_2.set_x(1 * ((ticks / 10) % 768) - 128);
dest_rect_2.set_x(((ticks / 10) % 768) - 128);

canvas.clear();
// copy the frame to the canvas
Expand Down
1 change: 0 additions & 1 deletion examples/audio-capture-and-replay.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ extern crate sdl2;

use sdl2::audio::{AudioCallback, AudioSpecDesired};
use sdl2::AudioSubsystem;
use std::i16;
use std::sync::mpsc;
use std::time::Duration;

Expand Down
2 changes: 1 addition & 1 deletion examples/audio-wav.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ fn main() -> Result<(), String> {

// initialize the audio callback
Sound {
data: data,
data,
volume: 0.25,
pos: 0,
}
Expand Down
2 changes: 1 addition & 1 deletion examples/audio-whitenoise.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ fn main() -> Result<(), String> {
{
// Acquire a lock. This lets us read and modify callback data.
let mut lock = device.lock();
(*lock).volume = 0.25;
lock.volume = 0.25;
// Lock guard is dropped here
}

Expand Down
23 changes: 14 additions & 9 deletions examples/game-of-life.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ mod game_of_life {
}

GameOfLife {
playground: playground,
playground,
state: State::Paused,
}
}
Expand Down Expand Up @@ -90,13 +90,18 @@ mod game_of_life {
}
}
}
if count > 3 || count < 2 {
*square = false;
} else if count == 3 {
*square = true;
} else if count == 2 {
*square = *square;
}
match count {
..=1 => {
*square = false;
}
2 => {}
3 => {
*square = true;
}
4.. => {
*square = false;
}
};
}
self.playground = new_playground;
}
Expand Down Expand Up @@ -127,7 +132,7 @@ fn dummy_texture<'a>(
.map_err(|e| e.to_string())?;
// let's change the textures we just created
{
let textures = vec![
let textures = [
(&mut square_texture1, TextureColor::Yellow),
(&mut square_texture2, TextureColor::White),
];
Expand Down
6 changes: 3 additions & 3 deletions examples/haptic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ fn main() -> Result<(), String> {

// Iterate over all available joysticks and stop once we manage to open one.
let joystick_index = (0..available)
.find_map(|id| match joystick_subsystem.open(id) {
.find(|&id| match joystick_subsystem.open(id) {
Ok(c) => {
println!("Success: opened \"{}\"", c.name());
Some(id)
true
}
Err(e) => {
println!("failed: {:?}", e);
None
false
}
})
.expect("Couldn't open any joystick");
Expand Down
10 changes: 5 additions & 5 deletions examples/mixer-demo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ fn main() -> Result<(), String> {
if args.len() < 2 {
println!("Usage: ./demo music.[mp3|wav|ogg] [sound-effect.[mp3|wav|ogg]]")
} else {
let sound_file = args.get(2).map(|sound_file| Path::new(sound_file));
let sound_file = args.get(2).map(Path::new);
demo(Path::new(&args[1]), sound_file)?;
}

Expand All @@ -23,7 +23,7 @@ fn demo(music_file: &Path, sound_file: Option<&Path>) -> Result<(), String> {

let sdl = sdl2::init()?;
let _audio = sdl.audio()?;
let mut timer = sdl.timer()?;
let timer = sdl.timer()?;

let frequency = 44_100;
let format = AUDIO_S16LSB; // signed 16 bit samples, in little-endian byte order
Expand Down Expand Up @@ -77,9 +77,9 @@ fn demo(music_file: &Path, sound_file: Option<&Path>) -> Result<(), String> {
// (played at half the volume to save people's ears).
let buffer = (0..frequency)
.map(|i| {
(0.1 * i16::max_value() as f32
* (2.0 * 3.14 * 500.0 * (i as f32 / frequency as f32)).sin())
as i16
(0.1 * i16::MAX as f32
* (2.0 * std::f32::consts::PI * 500.0 * (i as f32 / frequency as f32))
.sin()) as i16
})
.collect();
sdl2::mixer::Chunk::from_raw_buffer(buffer)
Expand Down
2 changes: 1 addition & 1 deletion examples/resource-manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ where
pub fn new(loader: &'l L) -> Self {
ResourceManager {
cache: HashMap::new(),
loader: loader,
loader,
}
}

Expand Down
21 changes: 8 additions & 13 deletions src/sdl2/event.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
/*!
Event Handling
*/
//! Event Handling

use std::borrow::ToOwned;
use std::collections::HashMap;
Expand Down Expand Up @@ -2359,25 +2357,22 @@ impl Event {
// FIXME: Use a constant from sdl2-sys when bindgen will be fixed (see https://github.com/Rust-SDL2/rust-sdl2/issues/1265)
const SDL_TOUCH_MOUSEID: u32 = 0xFFFFFFFF;

match self {
matches!(
self,
Self::MouseMotion {
which: SDL_TOUCH_MOUSEID,
..
}
| Self::MouseButtonDown {
} | Self::MouseButtonDown {
which: SDL_TOUCH_MOUSEID,
..
}
| Self::MouseButtonUp {
} | Self::MouseButtonUp {
which: SDL_TOUCH_MOUSEID,
..
}
| Self::MouseWheel {
} | Self::MouseWheel {
which: SDL_TOUCH_MOUSEID,
..
} => true,
_ => false,
}
}
)
}

/// Returns `true` if this is a controller event.
Expand Down
8 changes: 4 additions & 4 deletions src/sdl2/image/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ bitflags! {
/// InitFlags are passed to init() to control which subsystem
/// functionality to load.
pub struct InitFlag : u32 {
const JPG = image::IMG_InitFlags_IMG_INIT_JPG as u32;
const PNG = image::IMG_InitFlags_IMG_INIT_PNG as u32;
const TIF = image::IMG_InitFlags_IMG_INIT_TIF as u32;
const WEBP = image::IMG_InitFlags_IMG_INIT_WEBP as u32;
const JPG = image::IMG_InitFlags_IMG_INIT_JPG;
const PNG = image::IMG_InitFlags_IMG_INIT_PNG;
const TIF = image::IMG_InitFlags_IMG_INIT_TIF;
const WEBP = image::IMG_InitFlags_IMG_INIT_WEBP;
}
}

Expand Down
17 changes: 9 additions & 8 deletions src/sdl2/keyboard/keycode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -439,14 +439,15 @@ impl Keycode {

impl Keycode {
pub fn into_i32(&self) -> i32 {
return self.0;
self.0
}

pub fn from_i32(n: i32) -> Option<Keycode> {
if n != 0 {
return Some(Keycode(n));
Some(Keycode(n))
} else {
None
}
return None;
}
}

Expand All @@ -468,9 +469,9 @@ impl Deref for Keycode {
}
}

impl Into<i32> for Keycode {
fn into(self) -> i32 {
self.into_i32()
impl From<Keycode> for i32 {
fn from(val: Keycode) -> Self {
val.into_i32()
}
}

Expand All @@ -485,7 +486,7 @@ impl Keycode {
match sys::SDL_GetKeyFromScancode(transmute::<u32, sys::SDL_Scancode>(scancode as u32))
{
UNKNOWN => None,
keycode_id => Keycode::from_i32(keycode_id as i32),
keycode_id => Keycode::from_i32(keycode_id),
}
}
}
Expand All @@ -497,7 +498,7 @@ impl Keycode {
match CString::new(name) {
Ok(name) => match sys::SDL_GetKeyFromName(name.as_ptr() as *const c_char) {
UNKNOWN => None,
keycode_id => Some(Keycode::from_i32(keycode_id as i32).unwrap()),
keycode_id => Some(Keycode::from_i32(keycode_id).unwrap()),
},
// string contains a nul byte - it won't match anything.
Err(_) => None,
Expand Down
40 changes: 10 additions & 30 deletions src/sdl2/mixer/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -97,37 +97,18 @@ pub fn get_linked_version() -> Version {

bitflags!(
pub struct InitFlag : u32 {
const FLAC = mixer::MIX_InitFlags_MIX_INIT_FLAC as u32;
const MOD = mixer::MIX_InitFlags_MIX_INIT_MOD as u32;
const MP3 = mixer::MIX_InitFlags_MIX_INIT_MP3 as u32;
const OGG = mixer::MIX_InitFlags_MIX_INIT_OGG as u32;
const MID = mixer::MIX_InitFlags_MIX_INIT_MID as u32;
const OPUS = mixer::MIX_InitFlags_MIX_INIT_OPUS as u32;
const FLAC = mixer::MIX_InitFlags_MIX_INIT_FLAC;
const MOD = mixer::MIX_InitFlags_MIX_INIT_MOD;
const MP3 = mixer::MIX_InitFlags_MIX_INIT_MP3;
const OGG = mixer::MIX_InitFlags_MIX_INIT_OGG;
const MID = mixer::MIX_InitFlags_MIX_INIT_MID;
const OPUS = mixer::MIX_InitFlags_MIX_INIT_OPUS;
}
);

impl ToString for InitFlag {
fn to_string(&self) -> String {
let mut string = "".to_string();
if self.contains(InitFlag::FLAC) {
string = string + &"INIT_FLAC ".to_string();
}
if self.contains(InitFlag::MOD) {
string = string + &"INIT_MOD ".to_string();
}
if self.contains(InitFlag::MP3) {
string = string + &"INIT_MP3 ".to_string();
}
if self.contains(InitFlag::OGG) {
string = string + &"INIT_OGG ".to_string();
}
if self.contains(InitFlag::MID) {
string = string + &"INIT_MID ".to_string();
}
if self.contains(InitFlag::OPUS) {
string = string + &"INIT_OPUS ".to_string();
}
string
impl fmt::Display for InitFlag {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
<Self as fmt::Debug>::fmt(self, f)
}
}

Expand Down Expand Up @@ -264,8 +245,7 @@ impl Chunk {
/// It's your responsibility to provide the audio data in the right format, as no conversion
/// will take place when using this method.
pub fn from_raw_buffer<T: AudioFormatNum>(buffer: Box<[T]>) -> Result<Chunk, String> {
use std::mem::size_of;
let len: u32 = (buffer.len() * size_of::<T>()).try_into().unwrap();
let len: u32 = std::mem::size_of_val(&*buffer).try_into().unwrap();
let raw = unsafe { mixer::Mix_QuickLoad_RAW(Box::into_raw(buffer) as *mut u8, len) };
Self::from_owned_raw(raw)
}
Expand Down
Loading
Loading