Avoid unneeded clones
This commit is contained in:
parent
e7f99337b9
commit
a94292bba2
10
src/types.rs
10
src/types.rs
|
@ -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())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
Loading…
Reference in a new issue