@@ -1296,14 +1296,6 @@ impl<'cx, 'gcx, 'tcx> SelectionContext<'cx, 'gcx, 'tcx> {
12961296         }  else  if  self . tcx ( ) . lang_items . unsize_trait ( )  == Some ( def_id)  { 
12971297             self . assemble_candidates_for_unsizing ( obligation,  & mut  candidates) ; 
12981298         }  else  { 
1299-             if  self . tcx ( ) . lang_items . clone_trait ( )  == Some ( def_id)  { 
1300-                 // Same builtin conditions as `Copy`, i.e. every type which has builtin support 
1301-                 // for `Copy` also has builtin support for `Clone`, + tuples and arrays of `Clone` 
1302-                 // types have builtin support for `Clone`. 
1303-                 let  clone_conditions = self . copy_conditions ( obligation) ; 
1304-                 self . assemble_builtin_bound_candidates ( clone_conditions,  & mut  candidates) ?; 
1305-             } 
1306- 
13071299             self . assemble_closure_candidates ( obligation,  & mut  candidates) ?; 
13081300             self . assemble_fn_pointer_candidates ( obligation,  & mut  candidates) ?; 
13091301             self . assemble_candidates_from_impls ( obligation,  & mut  candidates) ?; 
@@ -2172,8 +2164,8 @@ impl<'cx, 'gcx, 'tcx> SelectionContext<'cx, 'gcx, 'tcx> {
21722164
21732165        match  candidate { 
21742166            BuiltinCandidate  {  has_nested }  => { 
2175-                 let  data =  self . confirm_builtin_candidate ( obligation ,  has_nested ) ; 
2176-                 Ok ( VtableBuiltin ( data ) ) 
2167+                 Ok ( VtableBuiltin ( 
2168+                      self . confirm_builtin_candidate ( obligation ,  has_nested ) ) ) 
21772169            } 
21782170
21792171            ParamCandidate ( param)  => { 
@@ -2279,9 +2271,6 @@ impl<'cx, 'gcx, 'tcx> SelectionContext<'cx, 'gcx, 'tcx> {
22792271                _ if  Some ( trait_def)  == self . tcx ( ) . lang_items . copy_trait ( )  => { 
22802272                    self . copy_conditions ( obligation) 
22812273                } 
2282-                 _ if  Some ( trait_def)  == self . tcx ( ) . lang_items . clone_trait ( )  => { 
2283-                     self . copy_conditions ( obligation) 
2284-                 } 
22852274                _ => bug ! ( "unexpected builtin trait {:?}" ,  trait_def) 
22862275            } ; 
22872276            let  nested = match  conditions { 
@@ -2302,7 +2291,6 @@ impl<'cx, 'gcx, 'tcx> SelectionContext<'cx, 'gcx, 'tcx> {
23022291
23032292        debug ! ( "confirm_builtin_candidate: obligations={:?}" , 
23042293               obligations) ; 
2305- 
23062294        VtableBuiltinData  {  nested :  obligations } 
23072295    } 
23082296
@@ -2610,8 +2598,8 @@ impl<'cx, 'gcx, 'tcx> SelectionContext<'cx, 'gcx, 'tcx> {
26102598
26112599    fn  confirm_builtin_unsize_candidate ( & mut  self , 
26122600                                        obligation :  & TraitObligation < ' tcx > , ) 
2613-         -> Result < VtableBuiltinData < PredicateObligation < ' tcx > > ,   SelectionError < ' tcx > > 
2614-     { 
2601+                                          -> Result < VtableBuiltinData < PredicateObligation < ' tcx > > , 
2602+                                                    SelectionError < ' tcx > >   { 
26152603        let  tcx = self . tcx ( ) ; 
26162604
26172605        // assemble_candidates_for_unsizing should ensure there are no late bound 
0 commit comments