diff --git a/file-service/src/store/filehandle.rs b/file-service/src/store/filehandle.rs index c516411..cd57693 100644 --- a/file-service/src/store/filehandle.rs +++ b/file-service/src/store/filehandle.rs @@ -244,7 +244,7 @@ mod test { let tmp = TempDir::new("var").unwrap(); let handle = FileHandle::new("rawr.png".to_owned(), PathBuf::from(tmp.path())).expect("to succeed"); - assert_eq!(handle.info.name, Some("rawr".to_owned())); + assert_eq!(handle.info.name, "rawr"); assert_eq!(handle.info.size, 0); assert_eq!(handle.info.file_type, "image/png"); assert_eq!(handle.info.extension, "png"); diff --git a/tree/src/lib.rs b/tree/src/lib.rs index 2b9cdc8..4644876 100644 --- a/tree/src/lib.rs +++ b/tree/src/lib.rs @@ -9,18 +9,13 @@ use std::{ rc::Rc, }; -#[derive(Clone, Debug)] +#[derive(Clone, Debug, Default)] pub enum Tree { + #[default] Empty, Root(Node), } -impl Default for Tree { - fn default() -> Self { - Tree::Empty - } -} - impl Tree { pub fn new(value: T) -> (Tree, Node) { let node = Node::new(value); @@ -129,14 +124,14 @@ impl Node { } /// Immutably retrieve the data in this node. - pub fn value<'a>(&self) -> Ref { + pub fn value(&self) -> Ref { // Ref::map is not actually a member function. I don't know why this was done, other than // maybe to avoid conflicting with other `map` declarations. Why that is necessary when // Option::map exists as a member, I don't know. Ref::map(self.0.borrow(), |v| &v.value) } - pub fn children<'a>(&self) -> Ref>> { + pub fn children(&self) -> Ref>> { Ref::map(self.0.borrow(), |v| &v.children) }