в настоящее время я пытаюсь отладить проблему, но для этого я пытаюсь распечатать некоторую информацию, поэтому я решил go и реализовать отображение для моей BufferMemory. Я продолжаю получать std::option::Option<&memory::BufferMemory>` doesn't implement `std::fmt::Display
std::option::Option<&memory::BufferMemory>` cannot be formatted with the default formatter
, хотя я почти уверен, что реализовал это здесь. Что я могу делать не так?
/// A simple buffer of memory for MemorySystem
#[derive(Default)]
pub struct BufferMemory{
pub memory: Vec<u8>,
}
impl fmt::Display for BufferMemory {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let formatted_vec = String::from_utf8(self.memory).unwrap();
write!(f, "{}", formatted_vec)
}
}
/// The system for tracking all memory within the VM
#[derive(Default)]
pub struct MemorySystem{
map: HashMap<u32, BufferMemory>
}
и я пытаюсь получить доступ к значению, на которое смотрю, вот так.
println!("result: {}", self.map.get(&(address & 0xFFFF0000)));
, где адрес - значение u32