@@ -98,22 +98,12 @@ impl TupleLikeInfo for TupleVariantInfo {
98
98
/// let expected = vec!["foo", "bar", "baz"];
99
99
/// assert_eq!("`foo`, `bar`, `baz`", format!("{}", ExpectedValues(expected)));
100
100
/// ```
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 > ) ;
106
102
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 > {
113
104
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 ( ) {
117
107
write ! ( f, "`{}`" , item) ?;
118
108
if index < len - 1 {
119
109
write ! ( f, ", " ) ?;
@@ -617,7 +607,7 @@ impl<'a, 'de> Visitor<'de> for EnumVisitor<'a> {
617
607
Error :: custom ( format_args ! (
618
608
"unknown variant `{}`, expected one of {:?}" ,
619
609
variant_name,
620
- ExpectedValues ( names)
610
+ ExpectedValues ( names. collect ( ) )
621
611
) )
622
612
} ) ?;
623
613
let value: DynamicVariant = match variant_info {
@@ -766,7 +756,7 @@ where
766
756
Error :: custom ( format_args ! (
767
757
"unknown field `{}`, expected one of {:?}" ,
768
758
key,
769
- ExpectedValues ( fields)
759
+ ExpectedValues ( fields. collect ( ) )
770
760
) )
771
761
} ) ?;
772
762
let registration = get_registration ( field. type_id ( ) , field. type_name ( ) , registry) ?;
0 commit comments