Function std::mem::size_of_val1.0.0 [] [src]

pub fn size_of_val<T>(val: &T) -> usize where
    T: ?Sized

Returns the size of the pointed-to value in bytes.

This is usually the same as size_of::<T>(). However, when T has no statically known size, e.g. a slice [T] or a trait object, then size_of_val can be used to get the dynamically-known size.


use std::mem;

assert_eq!(4, mem::size_of_val(&5i32));

let x: [u8; 13] = [0; 13];
let y: &[u8] = &x;
assert_eq!(13, mem::size_of_val(y));Run