Merge pull request #2394 from cfallin/no-size-asserts

Remove size-of-struct asserts that break with some Rust versions.
This commit is contained in:
Chris Fallin
2020-11-11 18:04:34 -08:00
committed by GitHub

View File

@@ -876,7 +876,7 @@ impl VCodeConstantData {
#[cfg(test)]
mod test {
use super::*;
use std::mem::{size_of, size_of_val};
use std::mem::size_of;
#[test]
fn size_of_constant_structs() {
@@ -888,11 +888,8 @@ mod test {
size_of::<PrimaryMap<VCodeConstant, VCodeConstantData>>(),
24
);
assert_eq!(size_of::<HashMap<Constant, VCodeConstant>>(), 48);
assert_eq!(size_of::<HashMap<*const [u8], VCodeConstant>>(), 48);
assert_eq!(size_of::<VCodeConstants>(), 120);
assert_eq!(size_of_val(&VCodeConstants::with_capacity(0)), 120);
// TODO This structure could use some significant memory-size optimization. The use of
// HashMap to deduplicate both pool and well-known constants is clearly an issue.
// TODO The VCodeConstants structure's memory size could be further optimized.
// With certain versions of Rust, each `HashMap` in `VCodeConstants` occupied at
// least 48 bytes, making an empty `VCodeConstants` cost 120 bytes.
}
}