mirror of
https://github.com/italicsjenga/agb.git
synced 2024-12-24 00:31:34 +11:00
Fix some more linter errors
This commit is contained in:
parent
1b393cd612
commit
062e8c8881
|
@ -24,6 +24,6 @@ impl Bitmap3 {
|
||||||
pub fn draw_point(&mut self, x: i32, y: i32, colour: u16) {
|
pub fn draw_point(&mut self, x: i32, y: i32, colour: u16) {
|
||||||
let x = x.try_into().unwrap();
|
let x = x.try_into().unwrap();
|
||||||
let y = y.try_into().unwrap();
|
let y = y.try_into().unwrap();
|
||||||
BITMAP_MODE_3.set(x, y, colour)
|
BITMAP_MODE_3.set(x, y, colour);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@ const BITMAP_PAGE_BACK_MODE_4: MemoryMapped2DArray<
|
||||||
const PALETTE_BACKGROUND: MemoryMapped1DArray<u16, 256> =
|
const PALETTE_BACKGROUND: MemoryMapped1DArray<u16, 256> =
|
||||||
unsafe { MemoryMapped1DArray::new(0x0500_0000) };
|
unsafe { MemoryMapped1DArray::new(0x0500_0000) };
|
||||||
|
|
||||||
|
#[derive(Clone, Copy)]
|
||||||
pub enum Page {
|
pub enum Page {
|
||||||
Front = 0,
|
Front = 0,
|
||||||
Back = 1,
|
Back = 1,
|
||||||
|
@ -47,9 +48,9 @@ impl Bitmap4 {
|
||||||
|
|
||||||
let c = addr.get(x_in_screen, y_in_screen);
|
let c = addr.get(x_in_screen, y_in_screen);
|
||||||
if x & 0b1 != 0 {
|
if x & 0b1 != 0 {
|
||||||
addr.set(x_in_screen, y_in_screen, c | (colour as u16) << 8);
|
addr.set(x_in_screen, y_in_screen, c | u16::from(colour) << 8);
|
||||||
} else {
|
} else {
|
||||||
addr.set(x_in_screen, y_in_screen, c | colour as u16);
|
addr.set(x_in_screen, y_in_screen, c | u16::from(colour));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,7 +67,7 @@ impl Bitmap4 {
|
||||||
Page::Back
|
Page::Back
|
||||||
};
|
};
|
||||||
|
|
||||||
self.draw_point_page(x, y, colour, page)
|
self.draw_point_page(x, y, colour, page);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sets the colour of colour index in the background palette.
|
/// Sets the colour of colour index in the background palette.
|
||||||
|
|
|
@ -15,6 +15,7 @@ pub struct FontLetter {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl FontLetter {
|
impl FontLetter {
|
||||||
|
#[must_use]
|
||||||
pub const fn new(
|
pub const fn new(
|
||||||
width: u8,
|
width: u8,
|
||||||
height: u8,
|
height: u8,
|
||||||
|
@ -41,6 +42,7 @@ pub struct Font {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Font {
|
impl Font {
|
||||||
|
#[must_use]
|
||||||
pub const fn new(letters: &'static [FontLetter], line_height: i32, ascent: i32) -> Self {
|
pub const fn new(letters: &'static [FontLetter], line_height: i32, ascent: i32) -> Self {
|
||||||
Self {
|
Self {
|
||||||
letters,
|
letters,
|
||||||
|
@ -102,7 +104,7 @@ impl<'a> Write for TextRenderer<'a> {
|
||||||
|
|
||||||
self.render_letter(letter);
|
self.render_letter(letter);
|
||||||
|
|
||||||
self.current_x_pos += letter.advance_width as i32;
|
self.current_x_pos += i32::from(letter.advance_width);
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -119,9 +121,10 @@ impl<'a> TextRenderer<'a> {
|
||||||
let foreground_colour = self.foreground_colour;
|
let foreground_colour = self.foreground_colour;
|
||||||
let background_colour = self.background_colour;
|
let background_colour = self.background_colour;
|
||||||
|
|
||||||
let x_start = (self.current_x_pos + letter.xmin as i32).max(0);
|
let x_start = (self.current_x_pos + i32::from(letter.xmin)).max(0);
|
||||||
let y_start =
|
let y_start = self.current_y_pos + self.font.ascent
|
||||||
self.current_y_pos + self.font.ascent - letter.height as i32 - letter.ymin as i32;
|
- i32::from(letter.height)
|
||||||
|
- i32::from(letter.ymin);
|
||||||
|
|
||||||
let x_tile_start = x_start / 8;
|
let x_tile_start = x_start / 8;
|
||||||
let y_tile_start = y_start / 8;
|
let y_tile_start = y_start / 8;
|
||||||
|
@ -129,20 +132,20 @@ impl<'a> TextRenderer<'a> {
|
||||||
let letter_offset_x = x_start.rem_euclid(8);
|
let letter_offset_x = x_start.rem_euclid(8);
|
||||||
let letter_offset_y = y_start.rem_euclid(8);
|
let letter_offset_y = y_start.rem_euclid(8);
|
||||||
|
|
||||||
let x_tiles = div_ceil(letter.width as i32 + letter_offset_x, 8);
|
let x_tiles = div_ceil(i32::from(letter.width) + letter_offset_x, 8);
|
||||||
let y_tiles = div_ceil(letter.height as i32 + letter_offset_y, 8);
|
let y_tiles = div_ceil(i32::from(letter.height) + letter_offset_y, 8);
|
||||||
|
|
||||||
for letter_y_tile in 0..(y_tiles + 1) {
|
for letter_y_tile in 0..(y_tiles + 1) {
|
||||||
let letter_y_start = 0.max(letter_offset_y - 8 * letter_y_tile) + 8 * letter_y_tile;
|
let letter_y_start = 0.max(letter_offset_y - 8 * letter_y_tile) + 8 * letter_y_tile;
|
||||||
let letter_y_end =
|
let letter_y_end =
|
||||||
(letter_offset_y + letter.height as i32).min((letter_y_tile + 1) * 8);
|
(letter_offset_y + i32::from(letter.height)).min((letter_y_tile + 1) * 8);
|
||||||
|
|
||||||
let tile_y = y_tile_start + letter_y_tile;
|
let tile_y = y_tile_start + letter_y_tile;
|
||||||
|
|
||||||
for letter_x_tile in 0..(x_tiles + 1) {
|
for letter_x_tile in 0..(x_tiles + 1) {
|
||||||
let letter_x_start = 0.max(letter_offset_x - 8 * letter_x_tile) + 8 * letter_x_tile;
|
let letter_x_start = 0.max(letter_offset_x - 8 * letter_x_tile) + 8 * letter_x_tile;
|
||||||
let letter_x_end =
|
let letter_x_end =
|
||||||
(letter_offset_x + letter.width as i32).min((letter_x_tile + 1) * 8);
|
(letter_offset_x + i32::from(letter.width)).min((letter_x_tile + 1) * 8);
|
||||||
|
|
||||||
let tile_x = x_tile_start + letter_x_tile;
|
let tile_x = x_tile_start + letter_x_tile;
|
||||||
|
|
||||||
|
@ -154,13 +157,13 @@ impl<'a> TextRenderer<'a> {
|
||||||
|
|
||||||
for letter_x in letter_x_start..letter_x_end {
|
for letter_x in letter_x_start..letter_x_end {
|
||||||
let x = letter_x - letter_offset_x;
|
let x = letter_x - letter_offset_x;
|
||||||
let pos = x + y * letter.width as i32;
|
let pos = x + y * i32::from(letter.width);
|
||||||
let px_line = letter.data[(pos / 8) as usize];
|
let px_line = letter.data[(pos / 8) as usize];
|
||||||
let px = (px_line >> (pos & 7)) & 1;
|
let px = (px_line >> (pos & 7)) & 1;
|
||||||
|
|
||||||
if px != 0 {
|
if px != 0 {
|
||||||
masks[(letter_y & 7) as usize] |=
|
masks[(letter_y & 7) as usize] |=
|
||||||
(foreground_colour as u32) << ((letter_x & 7) * 4);
|
u32::from(foreground_colour) << ((letter_x & 7) * 4);
|
||||||
zero = false;
|
zero = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ unsafe fn init_object_controller() {
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe fn uninit_object_controller() {
|
unsafe fn uninit_object_controller() {
|
||||||
OBJECT_CONTROLLER.assume_init_drop()
|
OBJECT_CONTROLLER.assume_init_drop();
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ObjectControllerRef {}
|
struct ObjectControllerRef {}
|
||||||
|
@ -78,10 +78,12 @@ impl Drop for ObjectControllerRef {
|
||||||
crate::interrupt::free(|c| {
|
crate::interrupt::free(|c| {
|
||||||
let mut b = OBJECT_REFS_CURRENT.borrow(c).borrow_mut();
|
let mut b = OBJECT_REFS_CURRENT.borrow(c).borrow_mut();
|
||||||
*b -= 1;
|
*b -= 1;
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Required for safety reasons
|
||||||
|
#[allow(clippy::trivially_copy_pass_by_ref)]
|
||||||
unsafe fn get_object_controller(_r: &ObjectControllerReference) -> ObjectControllerRef {
|
unsafe fn get_object_controller(_r: &ObjectControllerReference) -> ObjectControllerRef {
|
||||||
ObjectControllerRef::new()
|
ObjectControllerRef::new()
|
||||||
}
|
}
|
||||||
|
@ -153,12 +155,15 @@ pub struct Graphics {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Graphics {
|
impl Graphics {
|
||||||
|
#[must_use]
|
||||||
pub const fn new(sprites: &'static [Sprite], tag_map: &'static TagMap) -> Self {
|
pub const fn new(sprites: &'static [Sprite], tag_map: &'static TagMap) -> Self {
|
||||||
Self { sprites, tag_map }
|
Self { sprites, tag_map }
|
||||||
}
|
}
|
||||||
|
#[must_use]
|
||||||
pub const fn tags(&self) -> &TagMap {
|
pub const fn tags(&self) -> &TagMap {
|
||||||
self.tag_map
|
self.tag_map
|
||||||
}
|
}
|
||||||
|
#[must_use]
|
||||||
pub const fn sprites(&self) -> &[Sprite] {
|
pub const fn sprites(&self) -> &[Sprite] {
|
||||||
self.sprites
|
self.sprites
|
||||||
}
|
}
|
||||||
|
@ -184,9 +189,11 @@ const fn const_byte_compare(a: &[u8], b: &[u8]) -> bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TagMap {
|
impl TagMap {
|
||||||
|
#[must_use]
|
||||||
pub const fn new(tags: &'static [(&'static str, Tag)]) -> TagMap {
|
pub const fn new(tags: &'static [(&'static str, Tag)]) -> TagMap {
|
||||||
Self { tags }
|
Self { tags }
|
||||||
}
|
}
|
||||||
|
#[must_use]
|
||||||
pub const fn try_get(&'static self, tag: &str) -> Option<&'static Tag> {
|
pub const fn try_get(&'static self, tag: &str) -> Option<&'static Tag> {
|
||||||
let mut i = 0;
|
let mut i = 0;
|
||||||
while i < self.tags.len() {
|
while i < self.tags.len() {
|
||||||
|
@ -200,6 +207,7 @@ impl TagMap {
|
||||||
|
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
#[must_use]
|
||||||
pub const fn get(&'static self, tag: &str) -> &'static Tag {
|
pub const fn get(&'static self, tag: &str) -> &'static Tag {
|
||||||
let t = self.try_get(tag);
|
let t = self.try_get(tag);
|
||||||
match t {
|
match t {
|
||||||
|
@ -237,15 +245,18 @@ pub struct Tag {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Tag {
|
impl Tag {
|
||||||
|
#[must_use]
|
||||||
pub fn sprites(&self) -> &'static [Sprite] {
|
pub fn sprites(&self) -> &'static [Sprite] {
|
||||||
unsafe { slice::from_raw_parts(self.sprites, self.len) }
|
unsafe { slice::from_raw_parts(self.sprites, self.len) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[must_use]
|
||||||
pub fn sprite(&self, idx: usize) -> &'static Sprite {
|
pub fn sprite(&self, idx: usize) -> &'static Sprite {
|
||||||
&self.sprites()[idx]
|
&self.sprites()[idx]
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
|
#[must_use]
|
||||||
pub fn animation_sprite(&self, idx: usize) -> &'static Sprite {
|
pub fn animation_sprite(&self, idx: usize) -> &'static Sprite {
|
||||||
let len_sub_1 = self.len - 1;
|
let len_sub_1 = self.len - 1;
|
||||||
match self.direction {
|
match self.direction {
|
||||||
|
@ -259,6 +270,7 @@ impl Tag {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
|
#[must_use]
|
||||||
pub const fn new(sprites: &'static [Sprite], from: usize, to: usize, direction: usize) -> Self {
|
pub const fn new(sprites: &'static [Sprite], from: usize, to: usize, direction: usize) -> Self {
|
||||||
assert!(from <= to);
|
assert!(from <= to);
|
||||||
assert!(to < sprites.len());
|
assert!(to < sprites.len());
|
||||||
|
@ -291,6 +303,7 @@ impl Size {
|
||||||
(self as u8 >> 2, self as u8 & 0b11)
|
(self as u8 >> 2, self as u8 & 0b11)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[must_use]
|
||||||
pub const fn from_width_height(width: usize, height: usize) -> Self {
|
pub const fn from_width_height(width: usize, height: usize) -> Self {
|
||||||
match (width, height) {
|
match (width, height) {
|
||||||
(8, 8) => Size::S8x8,
|
(8, 8) => Size::S8x8,
|
||||||
|
@ -309,6 +322,7 @@ impl Size {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[must_use]
|
||||||
pub const fn to_width_height(self) -> (usize, usize) {
|
pub const fn to_width_height(self) -> (usize, usize) {
|
||||||
match self {
|
match self {
|
||||||
Size::S8x8 => (8, 8),
|
Size::S8x8 => (8, 8),
|
||||||
|
@ -353,10 +367,10 @@ impl Storage {
|
||||||
count: 1,
|
count: 1,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fn as_palette_ptr(&self) -> *mut u8 {
|
fn as_palette_ptr(self) -> *mut u8 {
|
||||||
(self.location as usize * Palette16::layout().size() + PALETTE_SPRITE) as *mut u8
|
(self.location as usize * Palette16::layout().size() + PALETTE_SPRITE) as *mut u8
|
||||||
}
|
}
|
||||||
fn as_sprite_ptr(&self) -> *mut u8 {
|
fn as_sprite_ptr(self) -> *mut u8 {
|
||||||
(self.location as usize * BYTES_PER_TILE_4BPP + TILE_SPRITE) as *mut u8
|
(self.location as usize * BYTES_PER_TILE_4BPP + TILE_SPRITE) as *mut u8
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -427,7 +441,7 @@ impl Drop for Loan<'_> {
|
||||||
s.shadow_oam[self.index as usize]
|
s.shadow_oam[self.index as usize]
|
||||||
.as_mut()
|
.as_mut()
|
||||||
.unwrap_unchecked()
|
.unwrap_unchecked()
|
||||||
.destroy = true
|
.destroy = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -461,12 +475,8 @@ impl ObjectControllerStatic {
|
||||||
|
|
||||||
fn update_z_ordering(&mut self) {
|
fn update_z_ordering(&mut self) {
|
||||||
let shadow_oam = &self.shadow_oam;
|
let shadow_oam = &self.shadow_oam;
|
||||||
self.z_order.sort_by_key(|&a| {
|
self.z_order
|
||||||
shadow_oam[a as usize]
|
.sort_by_key(|&a| shadow_oam[a as usize].as_ref().map_or(i32::MAX, |s| s.z));
|
||||||
.as_ref()
|
|
||||||
.map(|s| s.z)
|
|
||||||
.unwrap_or(i32::MAX)
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -498,7 +508,7 @@ impl ObjectController {
|
||||||
unsafe {
|
unsafe {
|
||||||
(OBJECT_ATTRIBUTE_MEMORY as *mut u16)
|
(OBJECT_ATTRIBUTE_MEMORY as *mut u16)
|
||||||
.add((i as usize) * 4)
|
.add((i as usize) * 4)
|
||||||
.write_volatile(HIDDEN_VALUE)
|
.write_volatile(HIDDEN_VALUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
let a = unsafe { s.shadow_oam[z as usize].take().unwrap_unchecked() };
|
let a = unsafe { s.shadow_oam[z as usize].take().unwrap_unchecked() };
|
||||||
|
@ -515,7 +525,7 @@ impl ObjectController {
|
||||||
unsafe {
|
unsafe {
|
||||||
(OBJECT_ATTRIBUTE_MEMORY as *mut u16)
|
(OBJECT_ATTRIBUTE_MEMORY as *mut u16)
|
||||||
.add(i * 4)
|
.add(i * 4)
|
||||||
.write_volatile(HIDDEN_VALUE)
|
.write_volatile(HIDDEN_VALUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -530,7 +540,7 @@ impl ObjectController {
|
||||||
unsafe {
|
unsafe {
|
||||||
(OBJECT_ATTRIBUTE_MEMORY as *mut u16)
|
(OBJECT_ATTRIBUTE_MEMORY as *mut u16)
|
||||||
.add(i * 4)
|
.add(i * 4)
|
||||||
.write_volatile(HIDDEN_VALUE)
|
.write_volatile(HIDDEN_VALUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -540,10 +550,12 @@ impl ObjectController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[must_use]
|
||||||
pub fn object<'a>(&'a self, sprite: SpriteBorrow<'a>) -> Object<'a> {
|
pub fn object<'a>(&'a self, sprite: SpriteBorrow<'a>) -> Object<'a> {
|
||||||
self.try_get_object(sprite).expect("No object available")
|
self.try_get_object(sprite).expect("No object available")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[must_use]
|
||||||
pub fn try_get_object<'a>(&'a self, sprite: SpriteBorrow<'a>) -> Option<Object<'a>> {
|
pub fn try_get_object<'a>(&'a self, sprite: SpriteBorrow<'a>) -> Option<Object<'a>> {
|
||||||
let mut s = unsafe { get_object_controller(&self.phantom) };
|
let mut s = unsafe { get_object_controller(&self.phantom) };
|
||||||
|
|
||||||
|
@ -578,11 +590,13 @@ impl ObjectController {
|
||||||
Some(Object { loan })
|
Some(Object { loan })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[must_use]
|
||||||
pub fn sprite(&self, sprite: &'static Sprite) -> SpriteBorrow {
|
pub fn sprite(&self, sprite: &'static Sprite) -> SpriteBorrow {
|
||||||
self.try_get_sprite(sprite)
|
self.try_get_sprite(sprite)
|
||||||
.expect("No slot for sprite available")
|
.expect("No slot for sprite available")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[must_use]
|
||||||
pub fn try_get_sprite(&self, sprite: &'static Sprite) -> Option<SpriteBorrow> {
|
pub fn try_get_sprite(&self, sprite: &'static Sprite) -> Option<SpriteBorrow> {
|
||||||
let s = unsafe { get_object_controller(&self.phantom) };
|
let s = unsafe { get_object_controller(&self.phantom) };
|
||||||
unsafe {
|
unsafe {
|
||||||
|
@ -721,6 +735,7 @@ impl Sprite {
|
||||||
fn layout(&self) -> Layout {
|
fn layout(&self) -> Layout {
|
||||||
Layout::from_size_align(self.size.number_of_tiles() * BYTES_PER_TILE_4BPP, 8).unwrap()
|
Layout::from_size_align(self.size.number_of_tiles() * BYTES_PER_TILE_4BPP, 8).unwrap()
|
||||||
}
|
}
|
||||||
|
#[must_use]
|
||||||
pub const fn new(palette: &'static Palette16, data: &'static [u8], size: Size) -> Self {
|
pub const fn new(palette: &'static Palette16, data: &'static [u8], size: Size) -> Self {
|
||||||
Self {
|
Self {
|
||||||
palette,
|
palette,
|
||||||
|
@ -728,6 +743,7 @@ impl Sprite {
|
||||||
size,
|
size,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#[must_use]
|
||||||
pub const fn size(&self) -> Size {
|
pub const fn size(&self) -> Size {
|
||||||
self.size
|
self.size
|
||||||
}
|
}
|
||||||
|
@ -823,7 +839,7 @@ impl SpriteControllerInner {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.return_palette(sprite.palette)
|
self.return_palette(sprite.palette);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn return_palette(&mut self, palette: &'static Palette16) {
|
fn return_palette(&mut self, palette: &'static Palette16) {
|
||||||
|
@ -843,7 +859,7 @@ impl SpriteControllerInner {
|
||||||
impl<'a> Drop for SpriteBorrow<'a> {
|
impl<'a> Drop for SpriteBorrow<'a> {
|
||||||
fn drop(&mut self) {
|
fn drop(&mut self) {
|
||||||
let mut s = unsafe { get_object_controller(&self.phantom) };
|
let mut s = unsafe { get_object_controller(&self.phantom) };
|
||||||
s.sprite_controller.return_sprite(self.id.sprite())
|
s.sprite_controller.return_sprite(self.id.sprite());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ pub struct TileData {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TileData {
|
impl TileData {
|
||||||
|
#[must_use]
|
||||||
pub const fn new(
|
pub const fn new(
|
||||||
palettes: &'static [Palette16],
|
palettes: &'static [Palette16],
|
||||||
tiles: &'static [u8],
|
tiles: &'static [u8],
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
#![warn(clippy::must_use_candidate)]
|
#![warn(clippy::must_use_candidate)]
|
||||||
#![warn(clippy::trivially_copy_pass_by_ref)]
|
#![warn(clippy::trivially_copy_pass_by_ref)]
|
||||||
#![warn(clippy::semicolon_if_nothing_returned)]
|
#![warn(clippy::semicolon_if_nothing_returned)]
|
||||||
#![warn(clippy::match_same_arms)]
|
|
||||||
#![warn(clippy::cast_lossless)]
|
#![warn(clippy::cast_lossless)]
|
||||||
#![warn(clippy::map_unwrap_or)]
|
#![warn(clippy::map_unwrap_or)]
|
||||||
#![warn(clippy::needless_pass_by_value)]
|
#![warn(clippy::needless_pass_by_value)]
|
||||||
|
|
Loading…
Reference in a new issue