| #![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 |
| } |
| } |