rust/tests/ui/size_of_ref.rs

31 lines
732 B
Rust

#![allow(unused)]
#![warn(clippy::size_of_ref)]
use std::mem::size_of_val;
fn main() {
let x = 5;
let y = &x;
size_of_val(&x); // no lint
size_of_val(y); // no lint
size_of_val(&&x);
//~^ ERROR: argument to `std::mem::size_of_val()` is a reference to a reference
size_of_val(&y);
//~^ ERROR: argument to `std::mem::size_of_val()` is a reference to a reference
}
struct S {
field: u32,
data: Vec<u8>,
}
impl S {
/// Get size of object including `self`, in bytes.
pub fn size(&self) -> usize {
std::mem::size_of_val(&self) + (std::mem::size_of::<u8>() * self.data.capacity())
//~^ ERROR: argument to `std::mem::size_of_val()` is a reference to a reference
}
}