Skip to content

Commit 40df5e2

Browse files
committed
Simplify ExpectedValues struct
1 parent 714bcc9 commit 40df5e2

File tree

1 file changed

+6
-16
lines changed
  • crates/bevy_reflect/src/serde

1 file changed

+6
-16
lines changed

crates/bevy_reflect/src/serde/de.rs

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -98,22 +98,12 @@ impl TupleLikeInfo for TupleVariantInfo {
9898
/// let expected = vec!["foo", "bar", "baz"];
9999
/// assert_eq!("`foo`, `bar`, `baz`", format!("{}", ExpectedValues(expected)));
100100
/// ```
101-
struct ExpectedValues<TIntoIter, TIter, TItem>(TIntoIter)
102-
where
103-
TIntoIter: IntoIterator<IntoIter = TIter> + Clone,
104-
TIter: Iterator<Item = TItem> + ExactSizeIterator,
105-
TItem: Display;
101+
struct ExpectedValues<T: Display>(Vec<T>);
106102

107-
impl<TIntoIter, TIter, TItem> Debug for ExpectedValues<TIntoIter, TIter, TItem>
108-
where
109-
TIntoIter: IntoIterator<IntoIter = TIter> + Clone,
110-
TIter: Iterator<Item = TItem> + ExactSizeIterator,
111-
TItem: Display,
112-
{
103+
impl<T: Display> Debug for ExpectedValues<T> {
113104
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
114-
let iter = self.0.clone().into_iter();
115-
let len = iter.len();
116-
for (index, item) in iter.enumerate() {
105+
let len = self.0.len();
106+
for (index, item) in self.0.iter().enumerate() {
117107
write!(f, "`{}`", item)?;
118108
if index < len - 1 {
119109
write!(f, ", ")?;
@@ -617,7 +607,7 @@ impl<'a, 'de> Visitor<'de> for EnumVisitor<'a> {
617607
Error::custom(format_args!(
618608
"unknown variant `{}`, expected one of {:?}",
619609
variant_name,
620-
ExpectedValues(names)
610+
ExpectedValues(names.collect())
621611
))
622612
})?;
623613
let value: DynamicVariant = match variant_info {
@@ -766,7 +756,7 @@ where
766756
Error::custom(format_args!(
767757
"unknown field `{}`, expected one of {:?}",
768758
key,
769-
ExpectedValues(fields)
759+
ExpectedValues(fields.collect())
770760
))
771761
})?;
772762
let registration = get_registration(field.type_id(), field.type_name(), registry)?;

0 commit comments

Comments
 (0)