diff options
Diffstat (limited to 'devices/src/register_space/register_space.rs')
-rw-r--r-- | devices/src/register_space/register_space.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/devices/src/register_space/register_space.rs b/devices/src/register_space/register_space.rs index acb0df9..f010be0 100644 --- a/devices/src/register_space/register_space.rs +++ b/devices/src/register_space/register_space.rs @@ -7,7 +7,7 @@ use std::collections::btree_map::BTreeMap; /// Register space repesents a set of registers. It can handle read/write operations. pub struct RegisterSpace { - regs: BTreeMap<RegisterRange, Box<RegisterInterface>>, + regs: BTreeMap<RegisterRange, Box<dyn RegisterInterface>>, } impl RegisterSpace { @@ -70,17 +70,17 @@ impl RegisterSpace { } /// Get first register before this addr. - fn first_before(&self, addr: RegisterOffset) -> Option<&Box<RegisterInterface>> { + fn first_before(&self, addr: RegisterOffset) -> Option<&dyn RegisterInterface> { for (range, r) in self.regs.iter().rev() { if range.from <= addr { - return Some(r); + return Some(r.as_ref()); } } None } /// Get register at this addr. - fn get_register(&self, addr: RegisterOffset) -> Option<&Box<RegisterInterface>> { + fn get_register(&self, addr: RegisterOffset) -> Option<&dyn RegisterInterface> { let r = self.first_before(addr)?; let range = r.range(); if addr <= range.to { |