From 9dd48d359c90a9c0d322b6c41294265c52a26724 Mon Sep 17 00:00:00 2001 From: Jared Burce Date: Thu, 4 Feb 2021 06:24:35 -0800 Subject: [PATCH] bitrot: replace bare traits object syntax with dyn traits --- src/arena.rs | 4 ++-- src/bin/printmap.rs | 2 +- src/town.rs | 2 +- src/view.rs | 2 +- src/vr.rs | 6 +++--- src/world.rs | 10 +++++----- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/arena.rs b/src/arena.rs index 13f8edb..ddf9f57 100644 --- a/src/arena.rs +++ b/src/arena.rs @@ -35,13 +35,13 @@ impl world::Map for Field { } impl world::HasMap for Arena { - fn map(&self) -> &world::Map { + fn map(&self) -> &dyn world::Map { &self.map } } impl world::HasMap for Shrine { - fn map(&self) -> &world::Map { + fn map(&self) -> &dyn world::Map { &self.map } } diff --git a/src/bin/printmap.rs b/src/bin/printmap.rs index fda2c41..ed2a4fd 100644 --- a/src/bin/printmap.rs +++ b/src/bin/printmap.rs @@ -11,7 +11,7 @@ use itertools::Itertools; use memmap::{Mmap, Protection}; -fn mmap_to_rows<'a, M: world::HasMap>(mmap: &memmap::Mmap) -> &'a world::HasMap +fn mmap_to_rows<'a, M: world::HasMap>(mmap: &memmap::Mmap) -> &'a dyn world::HasMap where M: Copy + 'a { assert_eq!(std::mem::size_of::(), mmap.len()); diff --git a/src/town.rs b/src/town.rs index db41dd0..9c2f067 100644 --- a/src/town.rs +++ b/src/town.rs @@ -26,7 +26,7 @@ pub struct Town { } impl HasMap for Town { - fn map(&self) -> &Map { + fn map(&self) -> &dyn Map { &self.map } } diff --git a/src/view.rs b/src/view.rs index bfbe8ba..9bc6553 100644 --- a/src/view.rs +++ b/src/view.rs @@ -68,7 +68,7 @@ impl ViewRoot { pub fn draw(&self, window: &mut PistonWindow, vr: &mut Option, - scene: &::scene::Scene) + scene: &dyn (::scene::Scene)) -> Result<(), vr::Error> { if let &mut Some(ref mut vr) = vr { diff --git a/src/vr.rs b/src/vr.rs index ae1b062..2055ec0 100644 --- a/src/vr.rs +++ b/src/vr.rs @@ -35,9 +35,9 @@ pub use self::vr::button_id; #[derive(Debug)] pub enum Error { - Init(Box), - Poses(Box), - Submit(Box) + Init(Box), + Poses(Box), + Submit(Box) } impl From for Error { diff --git a/src/world.rs b/src/world.rs index 20a2253..d6c8b90 100644 --- a/src/world.rs +++ b/src/world.rs @@ -1,16 +1,16 @@ use tile::Tile; use transpose::TransposableIterator; -pub type RowIterator<'a> = Box + 'a>; -pub type BoxedMapIterator<'a> = Box> + 'a>; -pub type ExactBoxedMapIterator<'a> = Box> + 'a>; +pub type RowIterator<'a> = Box + 'a>; +pub type BoxedMapIterator<'a> = Box> + 'a>; +pub type ExactBoxedMapIterator<'a> = Box> + 'a>; pub trait Map { fn rows<'a>(&'a self) -> BoxedMapIterator; } pub trait HasMap { - fn map(&self) -> ⤅ + fn map(&self) -> &dyn Map; } const CHUNKDIM: usize = 32; @@ -64,7 +64,7 @@ impl Map for World { } impl HasMap for World { - fn map(&self) -> &Map { + fn map(&self) -> &dyn Map { self } }