diff --git a/CHANGELOG.md b/CHANGELOG.md index 98b84084832e7b57e6707724e9a786c6a68a3df2..50ffa3a043cde1ce7dd97589c4bdd31b81d47ecd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - `TileLayer::width` & `TileLayer::height` for ergonomic access of width/height. - `FiniteTileLayerData::get_tile_data`, `InfiniteTileLayerData::get_tile_data`. +- `Default` derived implementation for `Loader` & `FilesystemResourceCache` ### Changed - Update `zstd` to `0.11.0`. diff --git a/src/cache.rs b/src/cache.rs index a650dd1d2d703bd82431c5fe691dd2928e5f2439..784654854cfd4701d40875507efd83af809df9ca 100644 --- a/src/cache.rs +++ b/src/cache.rs @@ -50,7 +50,7 @@ pub trait ResourceCache { } /// A cache that identifies resources by their path in the user's filesystem. -#[derive(Debug)] +#[derive(Debug, Default)] pub struct FilesystemResourceCache { tilesets: HashMap<ResourcePathBuf, Arc<Tileset>>, } diff --git a/src/loader.rs b/src/loader.rs index 939e1ff41364c71cbc05fa97743de3f2c3c652b6..35e4953d8c88b7b17a5f620577a7a023457362f0 100644 --- a/src/loader.rs +++ b/src/loader.rs @@ -11,7 +11,7 @@ use crate::{Error, FilesystemResourceCache, Map, ResourceCache, Result, Tileset} /// This type is used for loading operations because they require a [`ResourceCache`] for /// intermediate artifacts, so using a type for creation can ensure that the cache is reused if /// loading more than one object is required. -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Default)] pub struct Loader<Cache: ResourceCache = FilesystemResourceCache> { cache: Cache, } diff --git a/src/objects.rs b/src/objects.rs index 910d3352b5fba4aa191ca2e5a6a13bcdeb60cc70..b2f82817c2804b77accc66c66db0c482b076b6c8 100644 --- a/src/objects.rs +++ b/src/objects.rs @@ -105,8 +105,8 @@ impl ObjectData { let height = h.unwrap_or(0f32); let rotation = r.unwrap_or(0f32); let id = id.unwrap_or(0u32); - let name = n.unwrap_or_else(String::new); - let obj_type = t.unwrap_or_else(String::new); + let name = n.unwrap_or_default(); + let obj_type = t.unwrap_or_default(); let mut shape = None; let mut properties = HashMap::new();