@@ -272,7 +272,7 @@ pub struct FnComparator<F>(pub F);
272
272
273
273
impl < T , F > Compare < T > for FnComparator < F >
274
274
where
275
- F : Clone + Fn ( & T , & T ) -> Ordering ,
275
+ F : Fn ( & T , & T ) -> Ordering ,
276
276
{
277
277
fn compare ( & self , a : & T , b : & T ) -> Ordering {
278
278
self . 0 ( a, b)
@@ -282,11 +282,11 @@ where
282
282
/// The comparator ordered by key
283
283
#[ cfg_attr( feature = "serde" , derive( Serialize , Deserialize ) ) ]
284
284
#[ derive( Clone , Copy , Default , PartialEq , Eq , Debug ) ]
285
- pub struct KeyComparator < F : Clone > ( pub F ) ;
285
+ pub struct KeyComparator < F > ( pub F ) ;
286
286
287
287
impl < K : Ord , T , F > Compare < T > for KeyComparator < F >
288
288
where
289
- F : Clone + Fn ( & T ) -> K ,
289
+ F : Fn ( & T ) -> K ,
290
290
{
291
291
fn compare ( & self , a : & T , b : & T ) -> Ordering {
292
292
self . 0 ( a) . cmp ( & self . 0 ( b) )
@@ -496,7 +496,7 @@ impl<T: Ord> BinaryHeap<T, MinComparator> {
496
496
497
497
impl < T , F > BinaryHeap < T , FnComparator < F > >
498
498
where
499
- F : Clone + Fn ( & T , & T ) -> Ordering ,
499
+ F : Fn ( & T , & T ) -> Ordering ,
500
500
{
501
501
/// Creates an empty `BinaryHeap`.
502
502
///
@@ -545,7 +545,7 @@ where
545
545
546
546
impl < T , F , K : Ord > BinaryHeap < T , KeyComparator < F > >
547
547
where
548
- F : Clone + Fn ( & T ) -> K ,
548
+ F : Fn ( & T ) -> K ,
549
549
{
550
550
/// Creates an empty `BinaryHeap`.
551
551
///
0 commit comments