100-exercises-to-learn-rust/exercises/03_ticket_v1/09_heap/src/lib.rs

29 lines
840 B
Rust
Raw Normal View History

2024-05-13 04:21:03 +08:00
pub struct Ticket {
title: String,
description: String,
status: String,
}
// TODO: based on what you learned in this section, replace `todo!()` with
// the correct **stack size** for the respective type.
#[cfg(test)]
mod tests {
use super::Ticket;
use std::mem::size_of;
#[test]
fn string_size() {
assert_eq!(size_of::<String>(), todo!());
}
#[test]
fn ticket_size() {
// This is a tricky question!
// The "intuitive" answer happens to be the correct answer this time,
// but, in general, the memory layout of structs is a more complex topic.
// If you're curious, check out the "Data layout" section of the Rustonomicon
// https://doc.rust-lang.org/nomicon/data.html for more information.
2024-05-13 04:21:03 +08:00
assert_eq!(size_of::<Ticket>(), todo!());
}
}