Avoid unneeded clones

This commit is contained in:
asonix 2020-06-05 22:27:27 -05:00
parent e7f99337b9
commit a94292bba2
2 changed files with 6 additions and 6 deletions

View file

@ -316,7 +316,7 @@ impl Field {
Map::new()
}
fn valid_field(&self, name: VecDeque<NamePart>) -> Option<FieldTerminator> {
fn valid_field(&self, name: VecDeque<&NamePart>) -> Option<FieldTerminator> {
trace!("Checking {:?} and {:?}", self, name);
match *self {
Field::Array(ref arr) => arr.valid_field(name),
@ -376,7 +376,7 @@ impl Array {
}
}
fn valid_field(&self, mut name: VecDeque<NamePart>) -> Option<FieldTerminator> {
fn valid_field(&self, mut name: VecDeque<&NamePart>) -> Option<FieldTerminator> {
trace!("Checking {:?} and {:?}", self, name);
match name.pop_front() {
Some(name_part) => match name_part {
@ -428,14 +428,14 @@ impl Map {
Field::Map(self)
}
fn valid_field(&self, mut name: VecDeque<NamePart>) -> Option<FieldTerminator> {
fn valid_field(&self, mut name: VecDeque<&NamePart>) -> Option<FieldTerminator> {
trace!("Checking {:?} and {:?}", self, name);
match name.pop_front() {
Some(name_part) => match name_part {
NamePart::Map(part_name) => self
.inner
.iter()
.find(|&&(ref item, _)| *item == part_name)
.find(|&&(ref item, _)| *item == *part_name)
.and_then(|&(_, ref field)| field.valid_field(name)),
_ => None,
},
@ -531,7 +531,7 @@ impl Form {
self
}
pub(crate) fn valid_field(&self, name: VecDeque<NamePart>) -> Option<FieldTerminator> {
pub(crate) fn valid_field(&self, name: VecDeque<&NamePart>) -> Option<FieldTerminator> {
self.inner.valid_field(name.clone())
}
}

View file

@ -193,7 +193,7 @@ async fn handle_stream_field(
let name = parse_multipart_name(name)?;
let term = form
.valid_field(name.iter().cloned().collect())
.valid_field(name.iter().collect())
.ok_or(Error::FieldType)?;
let content = match term {