Skip to content

Commit 7e61a60

Browse files
ada4aAda Alakbarova
authored and
Ada Alakbarova
committed
chore: update to Rust v1.85.0 and 2024 edition (#273)
Mainly a preparation for (hopefully) soon-to-be-stabilized if-let-chains[^1] [^1]: rust-lang/rust#53667 Reviewed-on: https://codeberg.org/mergiraf/mergiraf/pulls/273 Reviewed-by: Antonin Delpeuch <[email protected]> Co-authored-by: Ada Alakbarova <[email protected]> Co-committed-by: Ada Alakbarova <[email protected]>
1 parent 78f5bf4 commit 7e61a60

18 files changed

+69
-48
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "mergiraf"
33
version = "0.6.0"
4-
edition = "2021"
4+
edition = "2024"
55
license = "GPL-3.0-only"
66
repository = "https://codeberg.org/mergiraf/mergiraf"
77
keywords = ["git", "tree-sitter", "merge-driver"]

flake.lock

Lines changed: 12 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/attempts.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use std::{
77
process::Command,
88
};
99

10-
use etcetera::{choose_app_strategy, AppStrategy, AppStrategyArgs};
10+
use etcetera::{AppStrategy, AppStrategyArgs, choose_app_strategy};
1111
use itertools::Itertools;
1212
use log::warn;
1313
use rand::distr::{Alphanumeric, SampleString};

src/bin/mergiraf.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@ use std::{
22
borrow::Cow,
33
env, fs,
44
path::{Path, PathBuf},
5-
process::{exit, Command},
5+
process::{Command, exit},
66
time::Duration,
77
};
88

99
use clap::{ArgAction, Parser, Subcommand};
1010
use log::warn;
1111
use mergiraf::{
12+
DISABLING_ENV_VAR,
13+
PathBufExt,
1214
attempts::AttemptsCache,
1315
bug_reporter::report_bug,
1416
languages,
@@ -17,8 +19,6 @@ use mergiraf::{
1719
newline::{imitate_cr_lf_from_input, normalize_to_lf},
1820
resolve_merge_cascading,
1921
settings::DisplaySettings,
20-
PathBufExt,
21-
DISABLING_ENV_VAR,
2222
};
2323

2424
/// Syntax-aware merge driver for Git.
@@ -255,7 +255,9 @@ fn real_main(args: CliArgs) -> Result<i32, String> {
255255

256256
if merge_result.conflict_count > 0 {
257257
if old_git_detected {
258-
warn!("Using Git v2.44.0 or above is recommended to get meaningful revision names on conflict markers when using Mergiraf.");
258+
warn!(
259+
"Using Git v2.44.0 or above is recommended to get meaningful revision names on conflict markers when using Mergiraf."
260+
);
259261
}
260262
1
261263
} else {

src/bug_reporter.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use std::{
77
};
88

99
use rand::distr::{Alphanumeric, SampleString};
10-
use zip::{write::SimpleFileOptions, ZipWriter};
10+
use zip::{ZipWriter, write::SimpleFileOptions};
1111

1212
use crate::{attempts::AttemptsCache, git::extract_revision_from_git, pcs::Revision};
1313

src/changeset.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use itertools::Itertools;
55
use crate::{
66
class_mapping::{ClassMapping, RevNode},
77
multimap::MultiMap,
8-
pcs::{PCSNode, Revision, PCS},
8+
pcs::{PCS, PCSNode, Revision},
99
tree::{Ast, AstNode},
1010
};
1111

@@ -130,7 +130,7 @@ impl<'a> ChangeSet<'a> {
130130
pub(crate) fn other_successors<'s, 'b>(
131131
&'s self,
132132
pcs: &'b PCS<'a>,
133-
) -> impl Iterator<Item = &'s PCS<'a>> + use<'s, 'a, 'b> {
133+
) -> impl Iterator<Item = &'s PCS<'a>> {
134134
self.parents.get(&pcs.parent).iter().filter(move |other| {
135135
other.successor != pcs.successor && other.predecessor == pcs.predecessor
136136
})
@@ -140,7 +140,7 @@ impl<'a> ChangeSet<'a> {
140140
pub fn inconsistent_triples<'s, 'b>(
141141
&'s self,
142142
pcs: &'b PCS<'a>,
143-
) -> impl Iterator<Item = &'s PCS<'a>> + use<'s, 'a, 'b> {
143+
) -> impl Iterator<Item = &'s PCS<'a>> {
144144
self.parents
145145
.get(&pcs.parent)
146146
.iter()

src/lib.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ use git::extract_revision_from_git;
5959
use itertools::Itertools;
6060
use lang_profile::LangProfile;
6161
use line_based::{
62-
line_based_merge, line_based_merge_with_duplicate_signature_detection, LINE_BASED_METHOD,
62+
LINE_BASED_METHOD, line_based_merge, line_based_merge_with_duplicate_signature_detection,
6363
};
6464
use log::{debug, info, warn};
6565

6666
use merge_result::MergeResult;
67-
use parsed_merge::{ParsedMerge, PARSED_MERGE_DIFF2_DETECTED};
67+
use parsed_merge::{PARSED_MERGE_DIFF2_DETECTED, ParsedMerge};
6868
use pcs::Revision;
6969
use settings::DisplaySettings;
7070
use structured::structured_merge;
@@ -425,9 +425,13 @@ pub fn resolve_merge_cascading<'a>(
425425
if err == PARSED_MERGE_DIFF2_DETECTED {
426426
// if parsing the original merge failed because it's done in diff2 mode,
427427
// then we warn the user about it but don't give up yet as we can try a full merge
428-
warn!("Cannot solve conflicts in diff2 style. Merging the original conflict sides from scratch instead.");
428+
warn!(
429+
"Cannot solve conflicts in diff2 style. Merging the original conflict sides from scratch instead."
430+
);
429431
} else {
430-
warn!("Error while parsing conflicts: {err}. Merging the original conflict sides from scratch instead.");
432+
warn!(
433+
"Error while parsing conflicts: {err}. Merging the original conflict sides from scratch instead."
434+
);
431435
}
432436
}
433437
Ok(parsed_merge) => {

src/line_based.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::{parse, pcs::Revision, MergeResult, TSParser};
1+
use crate::{MergeResult, TSParser, parse, pcs::Revision};
22
use diffy_imara::{Algorithm, ConflictStyle, MergeOptions};
33
use typed_arena::Arena;
44

src/matching.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ impl<'tree> Matching<'tree> {
115115
}
116116

117117
/// Retrieve match ids from left to right
118-
pub fn as_ids<'s>(&'s self) -> impl Iterator<Item = (usize, usize)> + use<'s, 'tree> {
118+
pub fn as_ids(&self) -> impl Iterator<Item = (usize, usize)> {
119119
self.left_to_right
120120
.iter()
121121
.map(|(source, target)| (source.id, target.id))

src/merged_tree.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,11 @@ impl<'a> MergedTree<'a> {
441441
});
442442

443443
let (preceding_whitespace, indentation_shift) = match whitespaces {
444-
[Some(whitespace_left), Some(whitespace_right), Some(whitespace_base)] => {
444+
[
445+
Some(whitespace_left),
446+
Some(whitespace_right),
447+
Some(whitespace_base),
448+
] => {
445449
if whitespace_base == whitespace_left {
446450
whitespace_right
447451
} else {

src/structured.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ use log::debug;
44
use typed_arena::Arena;
55

66
use crate::{
7+
MergeResult, Revision, TSParser,
78
lang_profile::LangProfile,
89
line_based::{FULLY_STRUCTURED_METHOD, STRUCTURED_RESOLUTION_METHOD},
910
merge_3dm::three_way_merge,
1011
parse,
1112
parsed_merge::ParsedMerge,
1213
settings::DisplaySettings,
1314
tree_matcher::TreeMatcher,
14-
MergeResult, Revision, TSParser,
1515
};
1616

1717
/// Performs a fully structured merge, parsing the contents of all three revisions,

src/supported_langs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ use std::sync::LazyLock;
33
use crate::{
44
lang_profile::{CommutativeParent, LangProfile},
55
signature::{
6-
signature,
76
PathStep::{ChildType, Field},
7+
signature,
88
},
99
};
1010

src/tree_builder.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@ impl<'a, 'b> TreeBuilder<'a, 'b> {
583583
trimmed_sep: &'c str,
584584
trimmed_left_delim: &'c str,
585585
trimmed_right_delim: &'c str,
586-
) -> impl Iterator<Item = Leader<'a>> + use<'a, 'c> {
586+
) -> impl Iterator<Item = Leader<'a>> {
587587
slice
588588
.iter()
589589
.filter(move |n| {
@@ -600,7 +600,7 @@ impl<'a, 'b> TreeBuilder<'a, 'b> {
600600
fn find_separators_with_whitespace<'s>(
601601
slice: &'s [&'a AstNode<'a>],
602602
trimmed_sep: &'s str,
603-
) -> impl Iterator<Item = &'a str> + use<'a, 's> {
603+
) -> impl Iterator<Item = &'a str> {
604604
if trimmed_sep.is_empty() {
605605
Either::Left(
606606
slice
@@ -1123,10 +1123,12 @@ mod tests {
11231123
class_mapping.map_to_leader(RevNode::new(Revision::Base, tree.root())),
11241124
&class_mapping
11251125
));
1126-
assert!(result_tree.contains(
1127-
class_mapping
1128-
.map_to_leader(RevNode::new(Revision::Base, tree.root().child(0).unwrap())),
1129-
&class_mapping
1130-
));
1126+
assert!(
1127+
result_tree.contains(
1128+
class_mapping
1129+
.map_to_leader(RevNode::new(Revision::Base, tree.root().child(0).unwrap())),
1130+
&class_mapping
1131+
)
1132+
);
11311133
}
11321134
}

src/tree_matcher.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
use itertools::Itertools;
22
use log::debug;
33
use std::{
4-
cmp::{min, Ordering},
4+
cmp::{Ordering, min},
55
collections::HashSet,
66
fmt::Display,
77
time::Instant,
88
};
9-
use tree_edit_distance::{diff, Edit};
9+
use tree_edit_distance::{Edit, diff};
1010
use typed_arena::Arena;
1111

1212
use crate::{

src/visualizer.rs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,19 +67,28 @@ pub fn matching_to_graph<'a>(
6767

6868
for (source_id, target_id) in mapping.exact.as_ids() {
6969
if visited_left.contains(&source_id) && visited_right.contains(&target_id) {
70-
writeln!(writer, " {left_prefix}{source_id} -- {right_prefix}{target_id} [color={COLOR_EXACT_MATCHING},constraint=false]")?;
70+
writeln!(
71+
writer,
72+
" {left_prefix}{source_id} -- {right_prefix}{target_id} [color={COLOR_EXACT_MATCHING},constraint=false]"
73+
)?;
7174
}
7275
}
7376

7477
for (source_id, target_id) in mapping.container.as_ids() {
7578
if visited_left.contains(&source_id) && visited_right.contains(&target_id) {
76-
writeln!(writer, " {left_prefix}{source_id} -- {right_prefix}{target_id} [color={COLOR_CONTAINER_MATCHING},constraint=false]")?;
79+
writeln!(
80+
writer,
81+
" {left_prefix}{source_id} -- {right_prefix}{target_id} [color={COLOR_CONTAINER_MATCHING},constraint=false]"
82+
)?;
7783
}
7884
}
7985

8086
for (source_id, target_id) in mapping.recovery.as_ids() {
8187
if visited_left.contains(&source_id) && visited_right.contains(&target_id) {
82-
writeln!(writer, " {left_prefix}{source_id} -- {right_prefix}{target_id} [color={COLOR_RECOVERY_MATCHING},constraint=false]")?;
88+
writeln!(
89+
writer,
90+
" {left_prefix}{source_id} -- {right_prefix}{target_id} [color={COLOR_RECOVERY_MATCHING},constraint=false]"
91+
)?;
8392
}
8493
}
8594
writeln!(writer, "}}")?;

tests/integration_tests.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ use std::fs;
22
use std::path::{Path, PathBuf};
33
use std::time::Duration;
44

5-
use diffy_imara::{create_patch, PatchFormatter};
5+
use diffy_imara::{PatchFormatter, create_patch};
66
use mergiraf::settings::DisplaySettings;
7-
use mergiraf::{line_merge_and_structured_resolution, PathBufExt};
7+
use mergiraf::{PathBufExt, line_merge_and_structured_resolution};
88
use rstest::rstest;
99

1010
mod common;

tests/solve_command.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use std::process::Command;
44

55
use mergiraf::newline::normalize_to_lf;
66
use mergiraf::settings::DisplaySettings;
7-
use mergiraf::{resolve_merge_cascading, DISABLING_ENV_VAR};
7+
use mergiraf::{DISABLING_ENV_VAR, resolve_merge_cascading};
88
use rstest::rstest;
99

1010
mod common;

tests/timeout_support.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ use std::fs::{self};
22
use std::path::Path;
33
use std::time::Duration;
44

5-
use diffy_imara::{create_patch, PatchFormatter};
5+
use diffy_imara::{PatchFormatter, create_patch};
66
use mergiraf::line_based::line_based_merge;
77
use mergiraf::settings::DisplaySettings;
8-
use mergiraf::{line_merge_and_structured_resolution, PathBufExt};
8+
use mergiraf::{PathBufExt, line_merge_and_structured_resolution};
99

1010
#[test]
1111
fn timeout_support() {

0 commit comments

Comments
 (0)