Skip to content

Commit 15e8444

Browse files
committed
Simplify ExpectedValues struct
1 parent 4fe42a2 commit 15e8444

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
@@ -99,22 +99,12 @@ impl TupleLikeInfo for TupleVariantInfo {
9999
/// let expected = vec!["foo", "bar", "baz"];
100100
/// assert_eq!("`foo`, `bar`, `baz`", format!("{}", ExpectedValues(expected)));
101101
/// ```
102-
struct ExpectedValues<TIntoIter, TIter, TItem>(TIntoIter)
103-
where
104-
TIntoIter: IntoIterator<IntoIter = TIter> + Clone,
105-
TIter: Iterator<Item = TItem> + ExactSizeIterator,
106-
TItem: Display;
102+
struct ExpectedValues<T: Display>(Vec<T>);
107103

108-
impl<TIntoIter, TIter, TItem> Debug for ExpectedValues<TIntoIter, TIter, TItem>
109-
where
110-
TIntoIter: IntoIterator<IntoIter = TIter> + Clone,
111-
TIter: Iterator<Item = TItem> + ExactSizeIterator,
112-
TItem: Display,
113-
{
104+
impl<T: Display> Debug for ExpectedValues<T> {
114105
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
115-
let iter = self.0.clone().into_iter();
116-
let len = iter.len();
117-
for (index, item) in iter.enumerate() {
106+
let len = self.0.len();
107+
for (index, item) in self.0.iter().enumerate() {
118108
write!(f, "`{}`", item)?;
119109
if index < len - 1 {
120110
write!(f, ", ")?;
@@ -624,7 +614,7 @@ impl<'a, 'de> Visitor<'de> for EnumVisitor<'a> {
624614
Error::custom(format_args!(
625615
"unknown variant `{}`, expected one of {:?}",
626616
variant_name,
627-
ExpectedValues(names)
617+
ExpectedValues(names.collect())
628618
))
629619
})?;
630620
let value: DynamicVariant = match variant_info {
@@ -773,7 +763,7 @@ where
773763
Error::custom(format_args!(
774764
"unknown field `{}`, expected one of {:?}",
775765
key,
776-
ExpectedValues(fields)
766+
ExpectedValues(fields.collect())
777767
))
778768
})?;
779769
let registration = get_registration(field.type_id(), field.type_name(), registry)?;

0 commit comments

Comments
 (0)