@@ -12,7 +12,7 @@ use std::fmt::{self, Display, Write};
12
12
use std:: iter:: { self , once} ;
13
13
use std:: slice;
14
14
15
- use itertools:: Either ;
15
+ use itertools:: { Either , Itertools } ;
16
16
use rustc_abi:: ExternAbi ;
17
17
use rustc_attr_data_structures:: { ConstStability , StabilityLevel , StableSince } ;
18
18
use rustc_data_structures:: fx:: FxHashSet ;
@@ -1118,8 +1118,8 @@ impl clean::Impl {
1118
1118
write ! ( f, "!" ) ?;
1119
1119
}
1120
1120
if self . kind . is_fake_variadic ( )
1121
- && let Some ( mut generics) = ty. generics ( )
1122
- && let ( Some ( inner_type) , None ) = ( generics. next ( ) , generics . next ( ) )
1121
+ && let Some ( generics) = ty. generics ( )
1122
+ && let Ok ( inner_type) = generics. exactly_one ( )
1123
1123
{
1124
1124
let last = ty. last ( ) ;
1125
1125
if f. alternate ( ) {
@@ -1197,8 +1197,8 @@ impl clean::Impl {
1197
1197
fmt_type ( & bare_fn. decl . output , f, use_absolute, cx) ?;
1198
1198
}
1199
1199
} else if let clean:: Type :: Path { path } = type_
1200
- && let Some ( mut generics) = path. generics ( )
1201
- && let ( Some ( ty) , None ) = ( generics. next ( ) , generics . next ( ) )
1200
+ && let Some ( generics) = path. generics ( )
1201
+ && let Ok ( ty) = generics. exactly_one ( )
1202
1202
&& self . kind . is_fake_variadic ( )
1203
1203
{
1204
1204
let wrapper = print_anchor ( path. def_id ( ) , path. last ( ) , cx) ;
0 commit comments