Rust: Реализовано отображение в Formatter для BufferMemory, но по какой-то причине не будет - PullRequest
0 голосов
/ 06 февраля 2020

в настоящее время я пытаюсь отладить проблему, но для этого я пытаюсь распечатать некоторую информацию, поэтому я решил 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...