Zero-copy deserialization of Sieve scripts and reports + Bump multiple dependencies to their latest versions

This commit is contained in:
mdecimus
2025-05-11 16:56:55 +02:00
parent 095c501a66
commit 7ec5701af8
112 changed files with 1109 additions and 1816 deletions

View File

@@ -8,7 +8,7 @@ trc = { path = "../trc" }
hashify = "0.2.6"
quick-xml = "0.37.2"
calcard = { path = "/Users/me/code/calcard", features = ["rkyv"] }
mail-parser = "0.10.2"
mail-parser = { version = "0.11", features = ["full_encoding", "rkyv"] }
hyper = "1.6.0"
rkyv = { version = "0.8.10", features = ["little_endian"] }
chrono = { version = "0.4.40", features = ["serde"], optional = true }

View File

@@ -105,7 +105,7 @@ impl Tokenizer<'_> {
},
..
} => {
if let Some(component) = components.last().copied() {
if let Some(component) = components.last().cloned() {
data.properties.push(CalDavPropertyName {
component: Some(component),
name: None,
@@ -155,7 +155,7 @@ impl Tokenizer<'_> {
if let Some(name) = name {
data.properties.push(CalDavPropertyName {
component: components.last().copied(),
component: components.last().cloned(),
name: Some(name),
no_value,
});

View File

@@ -172,7 +172,7 @@ impl DavParser for CalendarQuery {
} => {
stream.expect_element_end()?;
if let Some(filter) = Filter::from_parts(
components.iter().map(|(c, _)| *c).collect(),
components.iter().map(|(c, _)| c.clone()).collect(),
property.clone(),
parameter.clone(),
FilterOp::Undefined,
@@ -187,7 +187,7 @@ impl DavParser for CalendarQuery {
let mut tm = TextMatch::parse(raw)?;
tm.value = stream.collect_string_value()?.unwrap_or_default();
if let Some(filter) = Filter::from_parts(
components.iter().map(|(c, _)| *c).collect(),
components.iter().map(|(c, _)| c.clone()).collect(),
property.clone(),
parameter.clone(),
FilterOp::TextMatch(tm),
@@ -203,7 +203,7 @@ impl DavParser for CalendarQuery {
stream.expect_element_end()?;
if let Some(filter) = range.and_then(|range| {
Filter::from_parts(
components.iter().map(|(c, _)| *c).collect(),
components.iter().map(|(c, _)| c.clone()).collect(),
property.clone(),
parameter.clone(),
FilterOp::TimeRange(range),
@@ -228,7 +228,7 @@ impl DavParser for CalendarQuery {
.is_none_or(|c| c.len() < components.len())
{
cq.filters.push(Filter::Component {
comp: components.iter().map(|(c, _)| *c).collect(),
comp: components.iter().map(|(c, _)| c.clone()).collect(),
op: FilterOp::Exists,
});
}