diff --git a/crates/dav/src/resource/mod.rs b/crates/dav/src/resource/mod.rs index 8fd82df..f55a6f8 100644 --- a/crates/dav/src/resource/mod.rs +++ b/crates/dav/src/resource/mod.rs @@ -11,7 +11,6 @@ pub use resource_service::ResourceService; use rustical_xml::{ EnumVariants, NamespaceOwned, PropName, XmlDeserialize, XmlDocument, XmlSerialize, }; -use std::collections::HashSet; use std::str::FromStr; mod axum_methods; @@ -131,7 +130,7 @@ pub trait Resource: Clone + Send + 'static { path.push('/'); } - let (mut props, mut invalid_props): (HashSet<::Names>, Vec<_>) = + let (mut props, mut invalid_props): (Vec<::Names>, Vec<_>) = match prop { PropfindType::Propname => { let props = Self::list_props() @@ -156,7 +155,7 @@ pub trait Resource: Clone + Send + 'static { vec![], ), PropfindType::Prop(PropElement(valid_tags, invalid_tags)) => ( - valid_tags.iter().cloned().collect(), + valid_tags.iter().unique().cloned().collect(), invalid_tags.to_owned(), ), };