Turn on clippy for Rust and fix lints for non-generated code (#7575)

Co-authored-by: Casper Neo <cneo@google.com>
This commit is contained in:
Casper
2022-10-10 21:26:35 -04:00
committed by GitHub
parent b80142b901
commit e1c5db988a
14 changed files with 38 additions and 42 deletions

View File

@@ -116,7 +116,7 @@ impl<'fbb> FlatBufferBuilder<'fbb> {
// memset only the part of the buffer that could be dirty:
{
let to_clear = self.owned_buf.len() - self.head;
let ptr = (&mut self.owned_buf[self.head..]).as_mut_ptr();
let ptr = self.owned_buf[self.head..].as_mut_ptr();
// Safety:
// Verified ptr is valid for `to_clear` above
unsafe {
@@ -150,7 +150,7 @@ impl<'fbb> FlatBufferBuilder<'fbb> {
self.align(sz, P::alignment());
self.make_space(sz);
{
let (dst, rest) = (&mut self.owned_buf[self.head..]).split_at_mut(sz);
let (dst, rest) = self.owned_buf[self.head..].split_at_mut(sz);
// Safety:
// Called make_space above
unsafe { x.push(dst, rest.len()) };
@@ -605,7 +605,7 @@ impl<'fbb> FlatBufferBuilder<'fbb> {
}
// finally, zero out the old end data.
{
let ptr = (&mut self.owned_buf[..middle]).as_mut_ptr();
let ptr = self.owned_buf[..middle].as_mut_ptr();
// Safety:
// ptr is byte aligned and of length middle
unsafe {

View File

@@ -179,10 +179,6 @@ pub unsafe fn read_scalar<T: EndianScalar>(s: &[u8]) -> T {
let mut mem = core::mem::MaybeUninit::<T::Scalar>::uninit();
// Since [u8] has alignment 1, we copy it into T which may have higher alignment.
core::ptr::copy_nonoverlapping(
s.as_ptr(),
mem.as_mut_ptr() as *mut u8,
size,
);
core::ptr::copy_nonoverlapping(s.as_ptr(), mem.as_mut_ptr() as *mut u8, size);
T::from_little_endian(mem.assume_init())
}

View File

@@ -70,7 +70,7 @@ impl<'de> Buffer for &'de [u8] {
/// Based off of the `empty` function, allows override for optimization purposes.
#[inline]
fn empty_str() -> Self::BufferString {
&""
""
}
#[inline]

View File

@@ -49,7 +49,7 @@ impl<'a> MapBuilder<'a> {
// Nested vector.
let start = Some(self.builder.values.len());
VectorBuilder {
builder: &mut self.builder,
builder: self.builder,
start,
}
}
@@ -64,7 +64,7 @@ impl<'a> MapBuilder<'a> {
// Nested map.
let start = Some(self.builder.values.len());
MapBuilder {
builder: &mut self.builder,
builder: self.builder,
start,
}
}

View File

@@ -98,7 +98,7 @@ impl ser::Error for Error {
Self::Serde(format!("{}", msg))
}
}
impl<'a> ser::SerializeSeq for &mut FlexbufferSerializer {
impl ser::SerializeSeq for &mut FlexbufferSerializer {
type Ok = ();
type Error = Error;
fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
@@ -113,14 +113,14 @@ impl<'a> ser::SerializeSeq for &mut FlexbufferSerializer {
}
// This is unlike a flexbuffers map which requires CString like keys.
// Its implemented as alternating keys and values (hopefully).
impl<'a> ser::SerializeMap for &'a mut FlexbufferSerializer {
impl ser::SerializeMap for &mut FlexbufferSerializer {
type Ok = ();
type Error = Error;
fn serialize_key<T: ?Sized>(&mut self, key: &T) -> Result<(), Self::Error>
where
T: Serialize,
{
key.serialize(MapKeySerializer(&mut **self))
key.serialize(MapKeySerializer(self))
}
fn serialize_value<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
where
@@ -132,7 +132,7 @@ impl<'a> ser::SerializeMap for &'a mut FlexbufferSerializer {
self.end_map()
}
}
impl<'a> ser::SerializeTuple for &mut FlexbufferSerializer {
impl ser::SerializeTuple for &mut FlexbufferSerializer {
type Ok = ();
type Error = Error;
fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
@@ -145,7 +145,7 @@ impl<'a> ser::SerializeTuple for &mut FlexbufferSerializer {
self.end_vector()
}
}
impl<'a> ser::SerializeTupleStruct for &mut FlexbufferSerializer {
impl ser::SerializeTupleStruct for &mut FlexbufferSerializer {
type Ok = ();
type Error = Error;
fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
@@ -158,7 +158,7 @@ impl<'a> ser::SerializeTupleStruct for &mut FlexbufferSerializer {
self.end_vector()
}
}
impl<'a> ser::SerializeStruct for &mut FlexbufferSerializer {
impl ser::SerializeStruct for &mut FlexbufferSerializer {
type Ok = ();
type Error = Error;
fn serialize_field<T: ?Sized>(
@@ -176,7 +176,7 @@ impl<'a> ser::SerializeStruct for &mut FlexbufferSerializer {
self.end_map()
}
}
impl<'a> ser::SerializeTupleVariant for &mut FlexbufferSerializer {
impl ser::SerializeTupleVariant for &mut FlexbufferSerializer {
type Ok = ();
type Error = Error;
fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
@@ -190,7 +190,7 @@ impl<'a> ser::SerializeTupleVariant for &mut FlexbufferSerializer {
self.end_map()
}
}
impl<'a> ser::SerializeStructVariant for &mut FlexbufferSerializer {
impl ser::SerializeStructVariant for &mut FlexbufferSerializer {
type Ok = ();
type Error = Error;
fn serialize_field<T: ?Sized>(

View File

@@ -39,7 +39,7 @@ impl<'a> VectorBuilder<'a> {
pub fn start_vector(&mut self) -> VectorBuilder {
let start = Some(self.builder.values.len());
VectorBuilder {
builder: &mut self.builder,
builder: self.builder,
start,
}
}
@@ -48,7 +48,7 @@ impl<'a> VectorBuilder<'a> {
pub fn start_map(&mut self) -> MapBuilder {
let start = Some(self.builder.values.len());
MapBuilder {
builder: &mut self.builder,
builder: self.builder,
start,
}
}

View File

@@ -29,7 +29,7 @@
// Serde with maps - field names and type names.
// Until flat/flexbuffers is on Rust v1.42, we cannot use the previously unstable matches! macro.
#![allow(clippy::unknown_clippy_lints)]
#![allow(unknown_lints)]
#![allow(clippy::match_like_matches_macro)]
#[macro_use]

View File

@@ -380,7 +380,7 @@ impl<B: Buffer> Reader<B> {
}
pub fn as_blob(&self) -> Blob<B> {
self.get_blob().unwrap_or(Blob(B::empty()))
self.get_blob().unwrap_or_else(|_| Blob(B::empty()))
}
/// Retrieves str pointer, errors if invalid UTF-8, or the provided index
@@ -580,8 +580,8 @@ impl<B: Buffer> Reader<B> {
/// Returns empty string if you're not trying to read a string.
pub fn as_str(&self) -> B::BufferString {
match self.fxb_type {
FlexBufferType::String => self.get_str().unwrap_or(B::empty_str()),
FlexBufferType::Key => self.get_key().unwrap_or(B::empty_str()),
FlexBufferType::String => self.get_str().unwrap_or_else(|_| B::empty_str()),
FlexBufferType::Key => self.get_key().unwrap_or_else(|_| B::empty_str()),
_ => B::empty_str(),
}
}