@@ -99,22 +99,12 @@ impl TupleLikeInfo for TupleVariantInfo {
99
99
/// let expected = vec!["foo", "bar", "baz"];
100
100
/// assert_eq!("`foo`, `bar`, `baz`", format!("{}", ExpectedValues(expected)));
101
101
/// ```
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 > ) ;
107
103
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 > {
114
105
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 ( ) {
118
108
write ! ( f, "`{}`" , item) ?;
119
109
if index < len - 1 {
120
110
write ! ( f, ", " ) ?;
@@ -624,7 +614,7 @@ impl<'a, 'de> Visitor<'de> for EnumVisitor<'a> {
624
614
Error :: custom ( format_args ! (
625
615
"unknown variant `{}`, expected one of {:?}" ,
626
616
variant_name,
627
- ExpectedValues ( names)
617
+ ExpectedValues ( names. collect ( ) )
628
618
) )
629
619
} ) ?;
630
620
let value: DynamicVariant = match variant_info {
@@ -773,7 +763,7 @@ where
773
763
Error :: custom ( format_args ! (
774
764
"unknown field `{}`, expected one of {:?}" ,
775
765
key,
776
- ExpectedValues ( fields)
766
+ ExpectedValues ( fields. collect ( ) )
777
767
) )
778
768
} ) ?;
779
769
let registration = get_registration ( field. type_id ( ) , field. type_name ( ) , registry) ?;
0 commit comments