@@ -428,57 +428,6 @@ impl<K: Ord + Clone, V> MarkMap<K, V> {
428428 Ok ( ( ) )
429429 }
430430
431- /// Similar to `merge_from` except the `MergeBehavior` of self is used when merging into `*other*`.
432- pub fn merge_into < U > (
433- mut self ,
434- other : & ' _ mut MarkMap < K , U > ,
435- ) -> Result < ( ) , MergeError < K , Box < V > > >
436- where
437- V : Into < U > ,
438- {
439- for ( src_key, src_mark, src_val) in self . contents . drain ( ..) {
440- let pos = other. contents . binary_search_by ( |x| x. 0 . cmp ( & src_key) ) ;
441- match pos {
442- Ok ( pos) => {
443- let ( _, dest_mark, dest_val) = & mut other. contents [ pos] ;
444- let theirs_mark = Mark :: MergeBehavior ( MergeBehavior :: Theirs ) . repr ( ) ;
445- let ours_mark = Mark :: MergeBehavior ( MergeBehavior :: Ours ) . repr ( ) ;
446- let exclusive_mark =
447- Mark :: MergeBehavior ( MergeBehavior :: MutuallyExclusive ) . repr ( ) ;
448- let mut merge_behavior = ( src_mark & exclusive_mark)
449- | ( src_mark & ours_mark)
450- | ( src_mark & theirs_mark) ;
451- if merge_behavior == 0 {
452- merge_behavior = Mark :: MergeBehavior ( self . default_merge_behavior ) . repr ( ) ;
453- }
454- if merge_behavior == exclusive_mark {
455- // If only clippy could convince me and the borrow checker this is actually unnecessary.
456- #[ allow( clippy:: unnecessary_unwrap) ]
457- if src_val. is_some ( ) && dest_val. is_some ( ) {
458- return Err ( MergeError :: Exclusivity (
459- src_key,
460- Box :: new ( src_val. unwrap ( ) ) ,
461- ) ) ;
462- } else if dest_val. is_none ( ) {
463- * dest_val = src_val. map ( |x| x. into ( ) ) ;
464- }
465- } else if merge_behavior == ours_mark && src_val. is_some ( )
466- || merge_behavior == theirs_mark && dest_val. is_none ( )
467- {
468- * dest_mark = src_mark;
469- * dest_val = src_val. map ( |x| x. into ( ) ) ;
470- }
471- }
472- Err ( pos) => {
473- other
474- . contents
475- . insert ( pos, ( src_key, src_mark, src_val. map ( |x| x. into ( ) ) ) ) ;
476- }
477- }
478- }
479- Ok ( ( ) )
480- }
481-
482431 /// Returns whether `key` has been marked as used.
483432 pub fn is_used < Q > ( & self , key : & Q ) -> bool
484433 where
0 commit comments