@@ -1639,9 +1639,10 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> {
16391639 } else {
16401640 3
16411641 } ;
1642- return Some ( ( order, item. name ) ) ;
1642+ Some ( ( order, item. name ) )
1643+ } else {
1644+ None
16431645 }
1644- None
16451646 } )
16461647 . collect :: < Vec < _ > > ( ) ;
16471648 items. sort_by_key ( |( order, _) | * order) ;
@@ -2147,11 +2148,12 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> {
21472148 if suggest_only_tuple_variants {
21482149 // Suggest only tuple variants regardless of whether they have fields and do not
21492150 // suggest path with added parentheses.
2150- let suggestable_variants = variants
2151+ let mut suggestable_variants = variants
21512152 . iter ( )
21522153 . filter ( |( .., kind) | * kind == CtorKind :: Fn )
21532154 . map ( |( variant, ..) | path_names_to_string ( variant) )
21542155 . collect :: < Vec < _ > > ( ) ;
2156+ suggestable_variants. sort ( ) ;
21552157
21562158 let non_suggestable_variant_count = variants. len ( ) - suggestable_variants. len ( ) ;
21572159
@@ -2202,7 +2204,7 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> {
22022204 }
22032205 } ;
22042206
2205- let suggestable_variants = variants
2207+ let mut suggestable_variants = variants
22062208 . iter ( )
22072209 . filter ( |( _, def_id, kind) | !needs_placeholder ( * def_id, * kind) )
22082210 . map ( |( variant, _, kind) | ( path_names_to_string ( variant) , kind) )
@@ -2211,6 +2213,7 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> {
22112213 CtorKind :: Fn => format ! ( "({variant}())" ) ,
22122214 } )
22132215 . collect :: < Vec < _ > > ( ) ;
2216+ suggestable_variants. sort ( ) ;
22142217 let no_suggestable_variant = suggestable_variants. is_empty ( ) ;
22152218
22162219 if !no_suggestable_variant {
@@ -2228,7 +2231,7 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> {
22282231 ) ;
22292232 }
22302233
2231- let suggestable_variants_with_placeholders = variants
2234+ let mut suggestable_variants_with_placeholders = variants
22322235 . iter ( )
22332236 . filter ( |( _, def_id, kind) | needs_placeholder ( * def_id, * kind) )
22342237 . map ( |( variant, _, kind) | ( path_names_to_string ( variant) , kind) )
@@ -2237,6 +2240,7 @@ impl<'a: 'ast, 'ast, 'tcx> LateResolutionVisitor<'a, '_, 'ast, 'tcx> {
22372240 _ => None ,
22382241 } )
22392242 . collect :: < Vec < _ > > ( ) ;
2243+ suggestable_variants_with_placeholders. sort ( ) ;
22402244
22412245 if !suggestable_variants_with_placeholders. is_empty ( ) {
22422246 let msg =
0 commit comments