@@ -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