@@ -12,7 +12,7 @@ use std::fmt::{self, Display, Write};
1212use std:: iter:: { self , once} ;
1313use std:: slice;
1414
15- use itertools:: Either ;
15+ use itertools:: { Either , Itertools } ;
1616use rustc_abi:: ExternAbi ;
1717use rustc_attr_data_structures:: { ConstStability , StabilityLevel , StableSince } ;
1818use rustc_data_structures:: fx:: FxHashSet ;
@@ -1118,8 +1118,8 @@ impl clean::Impl {
11181118 write ! ( f, "!" ) ?;
11191119 }
11201120 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 ( )
11231123 {
11241124 let last = ty. last ( ) ;
11251125 if f. alternate ( ) {
@@ -1197,8 +1197,8 @@ impl clean::Impl {
11971197 fmt_type ( & bare_fn. decl . output , f, use_absolute, cx) ?;
11981198 }
11991199 } 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 ( )
12021202 && self . kind . is_fake_variadic ( )
12031203 {
12041204 let wrapper = print_anchor ( path. def_id ( ) , path. last ( ) , cx) ;
0 commit comments