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

View file

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