Skip to content

Commit 1a43c84

Browse files
committed
Remove MarkMap::merge_into since it is no longer used in this series
1 parent 0d592c1 commit 1a43c84

1 file changed

Lines changed: 0 additions & 51 deletions

File tree

cfgrammar/src/lib/markmap.rs

Lines changed: 0 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)