Skip to content

Commit d388d91

Browse files
alexle0nteLuni-4
authored andcommitted
Upgrade to Rust 2024 edition
1 parent 5385556 commit d388d91

32 files changed

+76
-76
lines changed

.pre-commit-audit-config.yaml

+1-4
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ repos:
77
name: audit
88
language: system
99
files: 'Cargo\.lock|Cargo\.toml$'
10-
# FIXME
11-
# RUSTSEC-2021-0131 --> https://rustsec.org/advisories/RUSTSEC-2021-0131
12-
# RUSTSEC-2021-0124 --> https://rustsec.org/advisories/RUSTSEC-2021-0124
13-
entry: cargo audit --ignore RUSTSEC-2021-0131 --ignore RUSTSEC-2021-0124
10+
entry: cargo audit
1411
pass_filenames: false
1512

1613
default_language_version:

.pre-commit-config.yaml

+7-6
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@ repos:
1414
- id: taskcluster_yml
1515
- repo: local
1616
hooks:
17-
- id: fmt
18-
name: fmt
19-
language: system
20-
files: '\.rs$'
21-
exclude: '.*/templates/.*\.rs$'
22-
entry: cargo fmt -- --check --verbose
17+
# FIXME: Uncomment when fmt is fixed
18+
# - id: fmt
19+
# name: fmt
20+
# language: system
21+
# files: '\.rs$'
22+
# exclude: '.*/templates/.*\.rs$'
23+
# entry: cargo fmt -- --check --verbose
2324

2425
- id: clippy
2526
name: clippy

.taskcluster.yml

+2
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ tasks:
5555
python3 -m venv myenv
5656
. myenv/bin/activate
5757
pip3 install --quiet pre-commit
58+
# FIXME: Remove the line below when fmt is fixed in .pre-commit-config.yaml
59+
cargo fmt -- --check --verbose
5860
pre-commit run -a --show-diff-on-failure
5961
pre-commit run --show-diff-on-failure -c .pre-commit-audit-config.yaml
6062
cargo test --workspace --verbose --all-features --no-fail-fast -- --nocapture

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "rust-code-analysis"
33
version = "0.0.25"
44
authors = ["Calixte Denizet <[email protected]>"]
5-
edition = "2021"
5+
edition = "2024"
66
repository = "https://github.com/mozilla/rust-code-analysis"
77
documentation = "https://docs.rs/rust-code-analysis/"
88
readme = "README.md"

enums/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "enums"
33
version = "0.0.1"
44
authors = ["Calixte Denizet <[email protected]>"]
5-
edition = "2021"
5+
edition = "2024"
66

77
[dependencies]
88
clap = { version = "^4.0", features = ["derive"] }

rust-code-analysis-cli/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "rust-code-analysis-cli"
33
version = "0.0.25"
44
authors = ["Calixte Denizet <[email protected]>"]
55
repository = "https://github.com/mozilla/rust-code-analysis/blob/master/rust-code-analysis-cli/"
6-
edition = "2021"
6+
edition = "2024"
77
keywords = ["metrics"]
88
description = "Tool to compute and export code metrics"
99
license = "MPL-2.0"

rust-code-analysis-cli/src/formats.rs

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::fs::{create_dir_all, File};
1+
use std::fs::{File, create_dir_all};
22
use std::io::Write;
33
use std::path::{Path, PathBuf};
44
use std::str::FromStr;
@@ -94,11 +94,7 @@ fn handle_path(path: PathBuf, output_path: &Path, extension: &str) -> PathBuf {
9494
.iter()
9595
.map(|os_str| {
9696
let s_str = os_str.to_str().unwrap();
97-
if s_str == ".." {
98-
"."
99-
} else {
100-
s_str
101-
}
97+
if s_str == ".." { "." } else { s_str }
10298
})
10399
.collect();
104100

rust-code-analysis-cli/src/main.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
mod formats;
22

33
use std::cmp::Ordering;
4-
use std::collections::{hash_map, HashMap};
4+
use std::collections::{HashMap, hash_map};
55
use std::path::{Path, PathBuf};
66
use std::process;
77
use std::sync::{Arc, Mutex};
88
use std::thread::available_parallelism;
99

10-
use clap::builder::{PossibleValuesParser, TypedValueParser};
1110
use clap::Parser;
11+
use clap::builder::{PossibleValuesParser, TypedValueParser};
1212
use globset::{Glob, GlobSet, GlobSetBuilder};
1313

1414
use formats::Format;

rust-code-analysis-web/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "rust-code-analysis-web"
33
version = "0.0.25"
44
authors = ["Calixte Denizet <[email protected]>"]
5-
edition = "2021"
5+
edition = "2024"
66
repository = "https://github.com/mozilla/rust-code-analysis/tree/master/rust-code-analysis-web"
77
keywords = ["metrics"]
88
description = "Run a web service to compute and export code metrics"

rust-code-analysis-web/src/web/comment.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use serde::{Deserialize, Serialize};
22

3-
use rust_code_analysis::{rm_comments, Callback, ParserTrait};
3+
use rust_code_analysis::{Callback, ParserTrait, rm_comments};
44

55
/// Payload containing source code with comments to be removed.
66
#[derive(Debug, Deserialize, Serialize)]

rust-code-analysis-web/src/web/function.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use serde::{Deserialize, Serialize};
22
use serde_json::{self, Value};
33

4-
use rust_code_analysis::{function, Callback, FunctionSpan, ParserTrait};
4+
use rust_code_analysis::{Callback, FunctionSpan, ParserTrait, function};
55

66
/// Payload containing source code with function spans to be retrieved.
77
#[derive(Debug, Deserialize, Serialize)]

rust-code-analysis-web/src/web/metrics.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
22
use serde_json::{self, Value};
33
use std::path::PathBuf;
44

5-
use rust_code_analysis::{metrics, Callback, FuncSpace, ParserTrait};
5+
use rust_code_analysis::{Callback, FuncSpace, ParserTrait, metrics};
66

77
/// Payload containing source code used to compute metrics.
88
#[derive(Debug, Deserialize, Serialize)]

rust-code-analysis-web/src/web/server.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use actix_web::{
2-
guard, http,
2+
App, HttpRequest, HttpResponse, HttpServer, guard, http,
33
web::{self, BytesMut, Query},
4-
App, HttpRequest, HttpResponse, HttpServer,
54
};
65
use futures::StreamExt;
76
use serde::{Deserialize, Serialize};
@@ -11,7 +10,7 @@ use super::comment::{WebCommentCallback, WebCommentCfg, WebCommentInfo, WebComme
1110
use super::function::{WebFunctionCallback, WebFunctionCfg, WebFunctionInfo, WebFunctionPayload};
1211
use super::metrics::{WebMetricsCallback, WebMetricsCfg, WebMetricsInfo, WebMetricsPayload};
1312

14-
use rust_code_analysis::{action, guess_language, AstCallback, AstCfg, AstPayload, LANG};
13+
use rust_code_analysis::{AstCallback, AstCfg, AstPayload, LANG, action, guess_language};
1514

1615
const INVALID_LANGUAGE: &str = "The file extension doesn't correspond to a valid language";
1716

@@ -300,7 +299,7 @@ pub async fn run(host: &str, port: u16, n_threads: usize) -> std::io::Result<()>
300299
#[cfg(test)]
301300
mod tests {
302301
use actix_web::web::Bytes;
303-
use actix_web::{http::header::ContentType, http::StatusCode, test};
302+
use actix_web::{http::StatusCode, http::header::ContentType, test};
304303
use pretty_assertions::assert_eq;
305304
use serde_json::json;
306305
use serde_json::value::Value;

src/c_langs_macros/mod.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,9 @@ mod tests {
5151

5252
#[test]
5353
fn test_fn_qm_try_inspect_cpp() {
54-
let samples = vec!["QM_TRY_INSPECT(const int32_t& storageVersion, MOZ_TO_RESULT_INVOKE(aConnection, GetSchemaVersion));"];
54+
let samples = vec![
55+
"QM_TRY_INSPECT(const int32_t& storageVersion, MOZ_TO_RESULT_INVOKE(aConnection, GetSchemaVersion));",
56+
];
5557
parse(&samples, false);
5658
}
5759
}

src/concurrent_files.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::path::{Path, PathBuf};
33
use std::sync::Arc;
44
use std::thread;
55

6-
use crossbeam::channel::{unbounded, Receiver, Sender};
6+
use crossbeam::channel::{Receiver, Sender, unbounded};
77
use globset::GlobSet;
88
use walkdir::{DirEntry, WalkDir};
99

@@ -256,7 +256,7 @@ impl<Config: 'static + Send + Sync> ConcurrentRunner<Config> {
256256
Err(_) => {
257257
return Err(ConcurrentErrors::Producer(
258258
"Child thread panicked".to_owned(),
259-
))
259+
));
260260
}
261261
};
262262

src/metrics/abc.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use serde::ser::{SerializeStruct, Serializer};
21
use serde::Serialize;
2+
use serde::ser::{SerializeStruct, Serializer};
33
use std::fmt;
44

55
use crate::checker::Checker;

src/metrics/cognitive.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use std::collections::HashMap;
22

3-
use serde::ser::{SerializeStruct, Serializer};
43
use serde::Serialize;
4+
use serde::ser::{SerializeStruct, Serializer};
55
use std::fmt;
66

77
use crate::checker::Checker;

src/metrics/cyclomatic.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use serde::ser::{SerializeStruct, Serializer};
21
use serde::Serialize;
2+
use serde::ser::{SerializeStruct, Serializer};
33
use std::fmt;
44

55
use crate::checker::Checker;

src/metrics/exit.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use serde::ser::{SerializeStruct, Serializer};
21
use serde::Serialize;
2+
use serde::ser::{SerializeStruct, Serializer};
33
use std::fmt;
44

55
use crate::checker::Checker;

src/metrics/halstead.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use std::collections::HashMap;
22

3-
use serde::ser::{SerializeStruct, Serializer};
43
use serde::Serialize;
4+
use serde::ser::{SerializeStruct, Serializer};
55
use std::fmt;
66

77
use crate::checker::Checker;

src/metrics/loc.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use std::collections::HashSet;
22

33
use crate::checker::Checker;
4-
use serde::ser::{SerializeStruct, Serializer};
54
use serde::Serialize;
5+
use serde::ser::{SerializeStruct, Serializer};
66
use std::fmt;
77

88
use crate::macros::implement_metric_trait;

src/metrics/mi.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use serde::ser::{SerializeStruct, Serializer};
21
use serde::Serialize;
2+
use serde::ser::{SerializeStruct, Serializer};
33
use std::fmt;
44

55
use super::cyclomatic;

src/metrics/nargs.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use serde::ser::{SerializeStruct, Serializer};
21
use serde::Serialize;
2+
use serde::ser::{SerializeStruct, Serializer};
33
use std::fmt;
44

55
use crate::checker::Checker;

src/metrics/nom.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use serde::ser::{SerializeStruct, Serializer};
21
use serde::Serialize;
2+
use serde::ser::{SerializeStruct, Serializer};
33
use std::fmt;
44

55
use crate::checker::Checker;

src/metrics/npa.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use serde::ser::{SerializeStruct, Serializer};
21
use serde::Serialize;
2+
use serde::ser::{SerializeStruct, Serializer};
33
use std::fmt;
44

55
use crate::checker::Checker;

src/metrics/npm.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use serde::ser::{SerializeStruct, Serializer};
21
use serde::Serialize;
2+
use serde::ser::{SerializeStruct, Serializer};
33
use std::fmt;
44

55
use crate::checker::Checker;

src/metrics/wmc.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use serde::ser::{SerializeStruct, Serializer};
21
use serde::Serialize;
2+
use serde::ser::{SerializeStruct, Serializer};
33
use std::fmt;
44

55
use crate::checker::Checker;

src/node.rs

+9-5
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,11 @@ impl<'a> Node<'a> {
8383
#[inline(always)]
8484
pub(crate) fn has_sibling(&self, id: u16) -> bool {
8585
self.0.parent().is_some_and(|parent| {
86-
self.0
86+
let has_child = self
87+
.0
8788
.children(&mut parent.walk())
88-
.any(|child| child.kind_id() == id)
89+
.any(|child| child.kind_id() == id);
90+
has_child
8991
})
9092
}
9193

@@ -99,9 +101,11 @@ impl<'a> Node<'a> {
99101

100102
#[inline(always)]
101103
pub(crate) fn is_child(&self, id: u16) -> bool {
102-
self.0
104+
let is_child = self
105+
.0
103106
.children(&mut self.0.walk())
104-
.any(|child| child.kind_id() == id)
107+
.any(|child| child.kind_id() == id);
108+
is_child
105109
}
106110

107111
pub(crate) fn child_count(&self) -> usize {
@@ -116,7 +120,7 @@ impl<'a> Node<'a> {
116120
self.0.child(pos).map(Node)
117121
}
118122

119-
pub(crate) fn children(&self) -> impl ExactSizeIterator<Item = Node<'a>> {
123+
pub(crate) fn children(&self) -> impl ExactSizeIterator<Item = Node<'a>> + use<'a> {
120124
let mut cursor = self.cursor();
121125
cursor.goto_first_child();
122126
(0..self.child_count()).map(move |_| {

src/ops.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ impl Callback for OpsCode {
250250
mod tests {
251251
use std::path::PathBuf;
252252

253-
use crate::{get_ops, LANG};
253+
use crate::{LANG, get_ops};
254254

255255
#[inline(always)]
256256
fn check_ops(

src/parser.rs

+19-19
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use crate::getter::Getter;
2222
use crate::c_macro;
2323
use crate::langs::*;
2424
use crate::node::{Node, Tree};
25-
use crate::preproc::{get_macros, PreprocResults};
25+
use crate::preproc::{PreprocResults, get_macros};
2626
use crate::traits::*;
2727

2828
#[derive(Debug)]
@@ -95,24 +95,24 @@ fn get_fake_code<T: LanguageInfo>(
9595
}
9696

9797
impl<
98-
T: 'static
99-
+ LanguageInfo
100-
+ Alterator
101-
+ Checker
102-
+ Getter
103-
+ Abc
104-
+ Cognitive
105-
+ Cyclomatic
106-
+ Exit
107-
+ Halstead
108-
+ Loc
109-
+ Mi
110-
+ NArgs
111-
+ Nom
112-
+ Npa
113-
+ Npm
114-
+ Wmc,
115-
> ParserTrait for Parser<T>
98+
T: 'static
99+
+ LanguageInfo
100+
+ Alterator
101+
+ Checker
102+
+ Getter
103+
+ Abc
104+
+ Cognitive
105+
+ Cyclomatic
106+
+ Exit
107+
+ Halstead
108+
+ Loc
109+
+ Mi
110+
+ NArgs
111+
+ Nom
112+
+ Npa
113+
+ Npm
114+
+ Wmc,
115+
> ParserTrait for Parser<T>
116116
{
117117
type Checker = T;
118118
type Getter = T;

src/preproc.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
use std::collections::{hash_map, HashMap, HashSet};
1+
use std::collections::{HashMap, HashSet, hash_map};
22
use std::path::{Path, PathBuf};
33

44
use petgraph::{
5-
algo::kosaraju_scc, graph::NodeIndex, stable_graph::StableGraph, visit::Dfs, Direction,
5+
Direction, algo::kosaraju_scc, graph::NodeIndex, stable_graph::StableGraph, visit::Dfs,
66
};
77
use serde::{Deserialize, Serialize};
88

0 commit comments

Comments
 (0)