refactor: remove unnecessary repeated Ok()s #258
Annotations
10 errors and 121 warnings
large size difference between variants:
src/api/ws/msg.rs#L21
error: large size difference between variants
--> src/api/ws/msg.rs:21:1
|
21 | / pub enum MsgOut {
22 | | / Connected {
23 | | | version: String,
24 | | | },
| | |_____- the second-largest variant contains at least 24 bytes
25 | |
26 | | / AppInfo {
27 | | | server: Option<Server>,
28 | | | network: Option<Network>,
29 | | | },
| | |_____- the largest variant contains at least 760 bytes
30 | | }
| |___^ the entire enum is at least 760 bytes
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant
= note: `-D clippy::large-enum-variant` implied by `-D clippy::all`
= help: to override `-D clippy::all` add `#[allow(clippy::large_enum_variant)]`
help: consider boxing the large fields to reduce the total size of the enum
|
27 | server: Box<Option<Server>>,
| ~~~~~~~~~~~~~~~~~~~
|
methods called `into_*` usually take `self` by value:
src/api/models/packwiz/mod.rs#L78
error: methods called `into_*` usually take `self` by value
--> src/api/models/packwiz/mod.rs:78:29
|
78 | pub async fn into_addon(&self, app: &App, target: AddonTarget) -> Result<Addon> {
| ^^^^^
|
= help: consider choosing a less ambiguous name
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention
|
methods called `into_*` usually take `self` by value:
src/api/models/mrpack/mod.rs#L34
error: methods called `into_*` usually take `self` by value
--> src/api/models/mrpack/mod.rs:34:29
|
34 | pub async fn into_addon(&self) -> Result<Addon> {
| ^^^^^
|
= help: consider choosing a less ambiguous name
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention
= note: `-D clippy::wrong-self-convention` implied by `-D clippy::all`
= help: to override `-D clippy::all` add `#[allow(clippy::wrong_self_convention)]`
|
name `HTML` contains a capitalized acronym:
src/api/models/markdown/mod.rs#L14
error: name `HTML` contains a capitalized acronym
--> src/api/models/markdown/mod.rs:14:5
|
14 | HTML,
| ^^^^ help: consider making the acronym lowercase, except the initial letter: `Html`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms
|
name `ASCII` contains a capitalized acronym:
src/api/models/markdown/mod.rs#L13
error: name `ASCII` contains a capitalized acronym
--> src/api/models/markdown/mod.rs:13:5
|
13 | ASCII,
| ^^^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `Ascii`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms
= note: `-D clippy::upper-case-acronyms` implied by `-D clippy::all`
= help: to override `-D clippy::all` add `#[allow(clippy::upper_case_acronyms)]`
|
this expression creates a reference which is immediately dereferenced by the compiler:
src/api/models/markdown/render.rs#L10
error: this expression creates a reference which is immediately dereferenced by the compiler
--> src/api/models/markdown/render.rs:10:27
|
10 | self.table_addons(&list, self.output_type)
| ^^^^^ help: change this to: `list`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
= note: `-D clippy::needless-borrow` implied by `-D clippy::all`
= help: to override `-D clippy::all` add `#[allow(clippy::needless_borrow)]`
|
module has the same name as its containing module:
src/api/models/addon/mod.rs#L1
error: module has the same name as its containing module
--> src/api/models/addon/mod.rs:1:1
|
1 | mod addon;
| ^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception
= note: `-D clippy::module-inception` implied by `-D clippy::all`
= help: to override `-D clippy::all` add `#[allow(clippy::module_inception)]`
|
lint group `pedantic` has the same priority (0) as a lint:
Cargo.toml#L24
error: lint group `pedantic` has the same priority (0) as a lint
--> Cargo.toml:24:1
|
24 | pedantic = "warn"
| ^^^^^^^^ ------ has an implicit priority of 0
...
28 | struct_excessive_bools = "allow"
| ---------------------- has the same priority as this lint
|
= note: the order of the lints in the table is ignored by Cargo
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#lint_groups_priority
help: to have lints override the group set `pedantic` to a lower priority
|
24 | pedantic = { level = "warn", priority = -1 }
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
lint group `all` has the same priority (0) as a lint:
Cargo.toml#L23
error: lint group `all` has the same priority (0) as a lint
--> Cargo.toml:23:1
|
23 | all = "deny"
| ^^^ ------ has an implicit priority of 0
...
28 | struct_excessive_bools = "allow"
| ---------------------- has the same priority as this lint
|
= note: the order of the lints in the table is ignored by Cargo
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#lint_groups_priority
= note: `-D clippy::lint-groups-priority` implied by `-D clippy::all`
= help: to override `-D clippy::all` add `#[allow(clippy::lint_groups_priority)]`
help: to have lints override the group set `all` to a lower priority
|
23 | all = { level = "deny", priority = -1 }
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
clippy
Clippy had exited with the 101 exit code
|
unused `async` for function with no await statements:
src/commands/update.rs#L10
warning: unused `async` for function with no await statements
--> src/commands/update.rs:10:1
|
10 | / pub async fn run(app: Arc<App>, args: Args) -> Result<()> {
11 | | println!("{:#?}", git::version_check());
12 | |
13 | | Ok(())
14 | | }
| |_^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/commands/migrate.rs#L71
warning: unused `async` for function with no await statements
--> src/commands/migrate.rs:71:1
|
71 | / pub async fn migrate_server() -> Result<()> {
72 | | let legacy_server = read_toml::<LegacyServer>(&PathBuf::from("./server.toml"))
73 | | .with_context(|| "Reading server.toml")?;
... |
180 | | Ok(())
181 | | }
| |_^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/commands/markdown/print.rs#L10
warning: unused `async` for function with no await statements
--> src/commands/markdown/print.rs:10:1
|
10 | / pub async fn run(app: Arc<App>, args: Args) -> Result<()> {
11 | | todo!();
12 | |
13 | | Ok(())
14 | | }
| |_^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/commands/export/packwiz.rs#L10
warning: unused `async` for function with no await statements
--> src/commands/export/packwiz.rs:10:1
|
10 | / pub async fn run(app: Arc<App>, args: Args) -> Result<()> {
11 | | Ok(())
12 | | }
| |_^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/commands/export/mrpack.rs#L12
warning: unused `async` for function with no await statements
--> src/commands/export/mrpack.rs:12:1
|
12 | / pub async fn run(app: Arc<App>, args: Args) -> Result<()> {
13 | | Ok(())
14 | | }
| |_^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/ws/mod.rs#L91
warning: unused `async` for function with no await statements
--> src/api/ws/mod.rs:91:5
|
91 | / pub async fn handle_event(self: Arc<Self>, event: MsgIn) -> Result<()> {
92 | | Ok(())
93 | | }
| |_____^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/utils/zip.rs#L51
warning: unused `async` for function with no await statements
--> src/api/utils/zip.rs:51:1
|
51 | / pub async fn zip<T: Write + Seek>(writer: T, folder: &Path) -> Result<()> {
52 | | let mut archive = ZipWriter::new(writer);
53 | |
54 | | archive.set_comment(format!("generated by mcman/{APP_VERSION}"));
... |
73 | | Ok(())
74 | | }
| |_^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/utils/zip.rs#L15
warning: unused `async` for function with no await statements
--> src/api/utils/zip.rs:15:1
|
15 | / pub async fn unzip<T: Read + Seek>(reader: T, to: &Path, prefix: Option<String>) -> Result<()> {
16 | | let mut archive = ZipArchive::new(reader)?;
17 | |
18 | | let mut files = archive
... |
47 | | Ok(())
48 | | }
| |_^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/utils/accessor.rs#L45
warning: unused `async` for function with no await statements
--> src/api/utils/accessor.rs:45:5
|
45 | / pub async fn dir(&self) -> Result<Vec<String>> {
46 | | match self {
47 | | Self::ZipLocal((_, zip)) => Ok(zip.file_names().map(ToOwned::to_owned).collect()),
48 | | Self::Local(path) => Ok(path
... |
54 | | }
55 | | }
| |_____^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/sources/spigot/mod.rs#L72
warning: unused `async` for function with no await statements
--> src/api/sources/spigot/mod.rs:72:5
|
72 | / pub async fn resolve_remove_steps(&self, id: &str, version: &str) -> Result<Vec<Step>> {
73 | | Ok(vec![Step::RemoveFile(FileMeta::filename(format!(
74 | | "spigot-{}-{}.jar",
75 | | resource_id(id),
76 | | version
77 | | )))])
78 | | }
| |_____^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/sources/spigot/mod.rs#L49
warning: unused `async` for function with no await statements
--> src/api/sources/spigot/mod.rs:49:5
|
49 | / pub async fn resolve_steps(&self, id: &str, version: &str) -> Result<Vec<Step>> {
50 | | let url = format!(
51 | | "{}/resources/{}/versions/{}/download/proxy",
52 | | self.0.options.api_urls.spiget,
... |
69 | | ])
70 | | }
| |_____^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/sources/quilt/mod.rs#L71
warning: unused `async` for function with no await statements
--> src/api/sources/quilt/mod.rs:71:5
|
71 | / pub async fn resolve_steps_build(
72 | | &self,
73 | | jar_name: &str,
74 | | mc_version: &str,
... |
102 | | }])
103 | | }
| |_____^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/sources/maven/mod.rs#L84
warning: unused `async` for function with no await statements
--> src/api/sources/maven/mod.rs:84:5
|
84 | / pub async fn resolve(
85 | | &self,
86 | | url: &str,
87 | | group_id: &str,
... |
120 | | Ok((download_url, metadata))
121 | | }
| |_____^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/sources/fabric/mod.rs#L35
warning: unused `async` for function with no await statements
--> src/api/sources/fabric/mod.rs:35:5
|
35 | / pub async fn resolve_steps(
36 | | &self,
37 | | mc_version: &str,
38 | | loader: &str,
... |
80 | | Ok(steps)
81 | | }
| |_____^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/sources/buildtools/mod.rs#L65
warning: unused `async` for function with no await statements
--> src/api/sources/buildtools/mod.rs:65:1
|
65 | / pub async fn resolve_compile_steps(
66 | | _app: &App,
67 | | jar_name: &str,
68 | | craftbukkit: bool,
... |
102 | | ])
103 | | }
| |_^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/sources/buildtools/mod.rs#L40
warning: unused `async` for function with no await statements
--> src/api/sources/buildtools/mod.rs:40:1
|
40 | / pub async fn resolve_remove_steps(
41 | | _app: &App,
42 | | _craftbukkit: bool,
43 | | _custom_args: &[String],
... |
48 | | )))])
49 | | }
| |_^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/models/packwiz/mod.rs#L78
warning: unused `async` for function with no await statements
--> src/api/models/packwiz/mod.rs:78:5
|
78 | / pub async fn into_addon(&self, app: &App, target: AddonTarget) -> Result<Addon> {
79 | | let addon_type = if let Some(update) = &self.update {
80 | | match update {
81 | | PackwizModUpdate::Modrinth { mod_id, version } => AddonType::Modrinth {
... |
107 | | Ok(addon)
108 | | }
| |_____^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/models/packwiz/mod.rs#L57
warning: unused `async` for function with no await statements
--> src/api/models/packwiz/mod.rs:57:5
|
57 | / pub async fn from_steps(steps: &[Step]) -> Self {
58 | | todo!()
59 | | }
| |_____^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/models/mrpack/mod.rs#L34
warning: unused `async` for function with no await statements
--> src/api/models/mrpack/mod.rs:34:5
|
34 | / pub async fn into_addon(&self) -> Result<Addon> {
35 | | Ok(Addon {
36 | | environment: self.env.as_ref().map(|e| e.clone().into()),
37 | | addon_type: AddonType::Url {
... |
45 | | })
46 | | }
| |_____^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
|
unused `async` for function with no await statements:
src/api/app/actions/build/bootstrap.rs#L90
warning: unused `async` for function with no await statements
--> src/api/app/actions/build/bootstrap.rs:90:5
|
90 | / pub async fn should_bootstrap_file(&self, file: &Path) -> bool {
91 | | let ext = file
92 | | .extension()
93 | | .unwrap_or_default()
... |
110 | | bootstrap_exts.contains(&ext)
111 | | }
| |_____^
|
= help: consider removing the `async` from this function
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_async
= note: `-W clippy::unused-async` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::unused_async)]`
|
unnecessary `!=` operation:
src/api/utils/pathdiff.rs#L72
warning: unnecessary `!=` operation
--> src/api/utils/pathdiff.rs:72:5
|
72 | / if path.is_absolute() != base.is_absolute() {
73 | | if path.is_absolute() {
74 | | Some(PathBuf::from(path))
75 | | } else {
... |
105 | | Some(comps.iter().map(|c| c.as_os_str()).collect())
106 | | }
| |_____^
|
= help: change to `==` and swap the blocks of the `if`/`else`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_not_else
|
this function's return value is unnecessary:
src/api/utils/logger/mod.rs#L3
warning: this function's return value is unnecessary
--> src/api/utils/logger/mod.rs:3:1
|
3 | / pub fn init_logger() -> Result<()> {
4 | | env_logger::init();
5 | |
6 | | Ok(())
7 | | }
| |_^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_wraps
= note: `-W clippy::unnecessary-wraps` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::unnecessary_wraps)]`
help: remove the return type...
|
3 | pub fn init_logger() -> Result<()> {
| ~~~~~~~~~~
help: ...and then remove returned values
|
6 - Ok(())
|
|
case-sensitive file extension comparison:
src/api/utils/accessor.rs#L34
warning: case-sensitive file extension comparison
--> src/api/utils/accessor.rs:34:19
|
34 | } else if str.ends_with(".zip") || str.ends_with(".mrpack") {
| ^^^^^^^^^^^^^^^^^^^^^
|
= help: consider using a case-insensitive comparison instead
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#case_sensitive_file_extension_comparisons
= note: `-W clippy::case-sensitive-file-extension-comparisons` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::case_sensitive_file_extension_comparisons)]`
help: use std::path::Path
|
34 ~ } else if std::path::Path::new(str)
35 + .extension()
36 ~ .map_or(false, |ext| ext.eq_ignore_ascii_case("zip")) || str.ends_with(".mrpack") {
|
|
unnecessary `!=` operation:
src/api/tools/java/check.rs#L10
warning: unnecessary `!=` operation
--> src/api/tools/java/check.rs:10:16
|
10 | let path = if path.file_name()?.to_str()? != JAVA_BIN {
| ________________^
11 | | path.join(JAVA_BIN)
12 | | } else {
13 | | path.clone()
14 | | };
| |_____^
|
= help: change to `==` and swap the blocks of the `if`/`else`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_not_else
= note: `-W clippy::if-not-else` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::if_not_else)]`
|
wildcard matches only a single variant and will also match any future added variants:
src/api/sources/vanilla/mod.rs#L57
warning: wildcard matches only a single variant and will also match any future added variants
--> src/api/sources/vanilla/mod.rs:57:13
|
57 | _ => bail!("You cant have both smh"),
| ^ help: try: `Environment::Both`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wildcard_for_single_variants
|
possible intra-doc link using quotes instead of backticks:
src/api/sources/vanilla/version.rs#L87
warning: possible intra-doc link using quotes instead of backticks
--> src/api/sources/vanilla/version.rs:87:25
|
87 | /// "exclude": ["META-INF/"],
| ^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_link_with_quotes
= note: `-W clippy::doc-link-with-quotes` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::doc_link_with_quotes)]`
|
wildcard matches only a single variant and will also match any future added variants:
src/api/sources/quilt/mod.rs#L95
warning: wildcard matches only a single variant and will also match any future added variants
--> src/api/sources/quilt/mod.rs:95:13
|
95 | _ => {},
| ^ help: try: `Environment::Both`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wildcard_for_single_variants
= note: `-W clippy::match-wildcard-for-single-variants` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::match_wildcard_for_single_variants)]`
|
all fields have the same postfix: `url`:
src/api/sources/curseforge/models.rs#L26
warning: all fields have the same postfix: `url`
--> src/api/sources/curseforge/models.rs:26:1
|
26 | / pub struct CurseforgeModLinks {
27 | | pub website_url: String,
28 | | pub wiki_url: String,
29 | | pub issues_url: String,
30 | | pub source_url: String,
31 | | }
| |_^
|
= help: remove the postfixes
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#struct_field_names
|
field name starts with the struct's name:
src/api/models/addon/addon.rs#L18
warning: field name starts with the struct's name
--> src/api/models/addon/addon.rs:18:5
|
18 | pub addon_type: AddonType,
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#struct_field_names
= note: `-W clippy::struct-field-names` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::struct_field_names)]`
|
this function has too many lines (104/100):
src/api/app/step/cache_check.rs#L23
warning: this function has too many lines (104/100)
--> src/api/app/step/cache_check.rs:23:5
|
23 | / pub(super) async fn execute_step_cache_check(
24 | | &self,
25 | | dir: &Path,
26 | | metadata: &FileMeta,
... |
164 | | Ok(StepResult::Skip)
165 | | }
| |_____^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_lines
= note: `-W clippy::too-many-lines` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::too_many_lines)]`
|
adding items after statements is confusing, since items exist from the start of the scope:
src/api/app/actions/build/bootstrap.rs#L60
warning: adding items after statements is confusing, since items exist from the start of the scope
--> src/api/app/actions/build/bootstrap.rs:60:9
|
60 | const MAX_CONCURRENT_TASKS: usize = 20;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
= note: `-W clippy::items-after-statements` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::items_after_statements)]`
|
function `action_init_network` is never used:
src/commands/init.rs#L77
warning: function `action_init_network` is never used
--> src/commands/init.rs:77:14
|
77 | pub async fn action_init_network(app: Arc<App>, args: Args) -> Result<()> {
| ^^^^^^^^^^^^^^^^^^^
|
method `broadcast` is never used:
src/api/ws/mod.rs#L71
warning: method `broadcast` is never used
--> src/api/ws/mod.rs:71:18
|
29 | impl WebsocketServer {
| -------------------- method in this implementation
...
71 | pub async fn broadcast(self: Arc<Self>, event: MsgOut) -> Result<()> {
| ^^^^^^^^^
|
field `app` is never read:
src/api/ws/mod.rs#L25
warning: field `app` is never read
--> src/api/ws/mod.rs:25:5
|
24 | pub struct WebsocketServer {
| --------------- field in this struct
25 | app: Arc<App>,
| ^^^
|
type alias `WebsocketStream` is never used:
src/api/ws/mod.rs#L22
warning: type alias `WebsocketStream` is never used
--> src/api/ws/mod.rs:22:10
|
22 | pub type WebsocketStream = SplitStream<WebSocketStream<TcpStream>>;
| ^^^^^^^^^^^^^^^
|
function `zip` is never used:
src/api/utils/zip.rs#L51
warning: function `zip` is never used
--> src/api/utils/zip.rs:51:14
|
51 | pub async fn zip<T: Write + Seek>(writer: T, folder: &Path) -> Result<()> {
| ^^^
|
function `unzip` is never used:
src/api/utils/zip.rs#L15
warning: function `unzip` is never used
--> src/api/utils/zip.rs:15:14
|
15 | pub async fn unzip<T: Read + Seek>(reader: T, to: &Path, prefix: Option<String>) -> Result<()> {
| ^^^^^
|
associated function `from` is never used:
src/api/utils/update_writer.rs#L26
warning: associated function `from` is never used
--> src/api/utils/update_writer.rs:26:12
|
25 | impl UpdateWriter {
| ----------------- associated function in this implementation
26 | pub fn from(source: &Source, relative_to: &Path) -> Result<Self> {
| ^^^^
|
enum `UpdateWriter` is never used:
src/api/utils/update_writer.rs#L19
warning: enum `UpdateWriter` is never used
--> src/api/utils/update_writer.rs:19:10
|
19 | pub enum UpdateWriter {
| ^^^^^^^^^^^^
|
method `diff_to` is never used:
src/api/utils/pathdiff.rs#L8
warning: method `diff_to` is never used
--> src/api/utils/pathdiff.rs:8:8
|
7 | pub trait DiffTo {
| ------ method in this trait
8 | fn diff_to<P>(&self, path: P) -> Option<PathBuf>
| ^^^^^^^
|
associated items `new` and `generate` are never used:
src/api/utils/markdown/mod.rs#L18
warning: associated items `new` and `generate` are never used
--> src/api/utils/markdown/mod.rs:18:12
|
14 | / impl<T> MarkdownTableGenerator<T>
15 | | where
16 | | T: Serialize + std::fmt::Debug,
| |___________________________________- associated items in this implementation
17 | {
18 | pub fn new(items: Vec<T>) -> Self {
| ^^^
...
22 | pub fn generate(self) -> Result<MarkdownTable> {
| ^^^^^^^^
|
struct `MarkdownTableGenerator` is never constructed:
src/api/utils/markdown/mod.rs#L7
warning: struct `MarkdownTableGenerator` is never constructed
--> src/api/utils/markdown/mod.rs:7:12
|
7 | pub struct MarkdownTableGenerator<T>
| ^^^^^^^^^^^^^^^^^^^^^^
|
function `some_if_exists` is never used:
src/api/utils/fs.rs#L25
warning: function `some_if_exists` is never used
--> src/api/utils/fs.rs:25:8
|
25 | pub fn some_if_exists<T: ?Sized + AsRef<OsStr>>(path: &T) -> Option<PathBuf> {
| ^^^^^^^^^^^^^^
|
function `is_dirty` is never used:
src/api/tools/git/mod.rs#L29
warning: function `is_dirty` is never used
--> src/api/tools/git/mod.rs:29:8
|
29 | pub fn is_dirty() -> Result<bool> {
| ^^^^^^^^
|
function `require_git` is never used:
src/api/tools/git/mod.rs#L9
warning: function `require_git` is never used
--> src/api/tools/git/mod.rs:9:8
|
9 | pub fn require_git() -> Result<()> {
| ^^^^^^^^^^^
|
static `GIT_VERSION` is never used:
src/api/tools/git/mod.rs#L7
warning: static `GIT_VERSION` is never used
--> src/api/tools/git/mod.rs:7:8
|
7 | static GIT_VERSION: LazyLock<Option<String>> = LazyLock::new(version_check);
| ^^^^^^^^^^^
|
function `dollar_repl` is never used:
src/api/sources/vanilla/rulematcher.rs#L187
warning: function `dollar_repl` is never used
--> src/api/sources/vanilla/rulematcher.rs:187:4
|
187 | fn dollar_repl<F>(input: &str, replacer: F) -> String
| ^^^^^^^^^^^
|
multiple associated items are never used:
src/api/sources/vanilla/rulematcher.rs#L20
warning: multiple associated items are never used
--> src/api/sources/vanilla/rulematcher.rs:20:12
|
17 | impl PistonRuleMatcher {
| ---------------------- associated items in this implementation
...
20 | pub fn new(os_name: String, os_arch: String, os_version: String) -> Self {
| ^^^
...
33 | pub fn empty() -> Self {
| ^^^^^
...
47 | pub fn from_os() -> Self {
| ^^^^^^^
...
71 | pub fn should_download_library(&self, library: &PistonLibrary) -> bool {
| ^^^^^^^^^^^^^^^^^^^^^^^
...
79 | pub fn get_native_library(&self, library: &PistonLibrary) -> Option<PistonFile> {
| ^^^^^^^^^^^^^^^^^^
...
93 | pub fn match_rules(&self, rules: &Vec<PistonRule>) -> bool {
| ^^^^^^^^^^^
...
107 | pub fn match_rule(&self, rule: &PistonRule) -> bool {
| ^^^^^^^^^^
...
117 | pub fn match_constraint(&self, constraint: &PistonRuleConstraints) -> bool {
| ^^^^^^^^^^^^^^^^
...
145 | pub fn build_args(
| ^^^^^^^^^^
...
172 | pub fn process_string(&self, map: &HashMap<String, String>, input: &str) -> String {
| ^^^^^^^^^^^^^^
|
struct `PistonRuleMatcher` is never constructed:
src/api/sources/vanilla/rulematcher.rs#L12
warning: struct `PistonRuleMatcher` is never constructed
--> src/api/sources/vanilla/rulematcher.rs:12:12
|
12 | pub struct PistonRuleMatcher {
| ^^^^^^^^^^^^^^^^^
|
methods `get_url` and `get_path` are never used:
src/api/sources/vanilla/assets.rs#L21
warning: methods `get_url` and `get_path` are never used
--> src/api/sources/vanilla/assets.rs:21:12
|
18 | impl MCAsset {
| ------------ methods in this implementation
...
21 | pub fn get_url(&self) -> String {
| ^^^^^^^
...
27 | pub fn get_path(&self) -> String {
| ^^^^^^^^
|
constant `RESOURCES_URL` is never used:
src/api/sources/vanilla/assets.rs#L4
warning: constant `RESOURCES_URL` is never used
--> src/api/sources/vanilla/assets.rs:4:11
|
4 | pub const RESOURCES_URL: &str = "https://resources.download.minecraft.net";
| ^^^^^^^^^^^^^
|
methods `get` and `ls` are never used:
src/api/sources/mcman_meta/mod.rs#L9
warning: methods `get` and `ls` are never used
--> src/api/sources/mcman_meta/mod.rs:9:18
|
8 | impl<'a> McmanMetaAPI<'a> {
| ------------------------- methods in this implementation
9 | pub async fn get(&self, folder: &str, path: &str) -> Result<String> {
| ^^^
...
21 | pub async fn ls(&self, folder: &str) -> Result<Vec<String>> {
| ^^
|
struct `McmanMetaAPI` is never constructed:
src/api/sources/mcman_meta/mod.rs#L6
warning: struct `McmanMetaAPI` is never constructed
--> src/api/sources/mcman_meta/mod.rs:6:12
|
6 | pub struct McmanMetaAPI<'a>(pub &'a App);
| ^^^^^^^^^^^^
|
method `paste_log` is never used:
src/api/sources/mclogs/mod.rs#L16
warning: method `paste_log` is never used
--> src/api/sources/mclogs/mod.rs:16:18
|
15 | impl<'a> MCLogsAPI<'a> {
| ---------------------- method in this implementation
16 | pub async fn paste_log(&self, content: &str) -> Result<LogFileMetadata> {
| ^^^^^^^^^
|
function `resolve_remove_steps` is never used:
src/api/sources/buildtools/mod.rs#L40
warning: function `resolve_remove_steps` is never used
--> src/api/sources/buildtools/mod.rs:40:14
|
40 | pub async fn resolve_remove_steps(
| ^^^^^^^^^^^^^^^^^^^^
|
associated function `from_addon` is never used:
src/api/models/packwiz/mod.rs#L64
warning: associated function `from_addon` is never used
--> src/api/models/packwiz/mod.rs:64:18
|
62 | impl PackwizMod {
| --------------- associated function in this implementation
63 | // TODO: incomplete
64 | pub async fn from_addon(app: &App, addon: &Addon) -> Result<(PathBuf, Self)> {
| ^^^^^^^^^^
|
associated function `from_steps` is never used:
src/api/models/packwiz/mod.rs#L57
warning: associated function `from_steps` is never used
--> src/api/models/packwiz/mod.rs:57:18
|
56 | impl PackwizModDownload {
| ----------------------- associated function in this implementation
57 | pub async fn from_steps(steps: &[Step]) -> Self {
| ^^^^^^^^^^
|
associated function `from_addon_type` is never used:
src/api/models/packwiz/mod.rs#L41
warning: associated function `from_addon_type` is never used
--> src/api/models/packwiz/mod.rs:41:12
|
40 | impl PackwizModUpdate {
| --------------------- associated function in this implementation
41 | pub fn from_addon_type(addon_type: &AddonType) -> Result<Option<Self>> {
| ^^^^^^^^^^^^^^^
|
enum `LockfileMessage` is never used:
src/api/models/lockfile/mod.rs#L18
warning: enum `LockfileMessage` is never used
--> src/api/models/lockfile/mod.rs:18:10
|
18 | pub enum LockfileMessage {
| ^^^^^^^^^^^^^^^
|
enum `FileMessage` is never used:
src/api/app/logging/mod.rs#L7
warning: enum `FileMessage` is never used
--> src/api/app/logging/mod.rs:7:10
|
7 | pub enum FileMessage {
| ^^^^^^^^^^^
|
enum `Message` is never used:
src/api/app/logging/mod.rs#L3
warning: enum `Message` is never used
--> src/api/app/logging/mod.rs:3:10
|
3 | pub enum Message {
| ^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
|
unused variable: `relative_to`:
src/api/utils/update_writer.rs#L26
warning: unused variable: `relative_to`
--> src/api/utils/update_writer.rs:26:34
|
26 | pub fn from(source: &Source, relative_to: &Path) -> Result<Self> {
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_relative_to`
|
unused variable: `source`:
src/api/utils/update_writer.rs#L26
warning: unused variable: `source`
--> src/api/utils/update_writer.rs:26:17
|
26 | pub fn from(source: &Source, relative_to: &Path) -> Result<Self> {
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
|
unreachable pattern:
src/api/models/markdown/render.rs#L52
warning: unreachable pattern
--> src/api/models/markdown/render.rs:52:25
|
52 | _ => meta.source.into_str().to_owned(),
| ^
|
= note: `#[warn(unreachable_patterns)]` on by default
|
unused variable: `url`:
src/api/models/addon/addon_type.rs#L84
warning: unused variable: `url`
--> src/api/models/addon/addon_type.rs:84:17
|
84 | url,
| ^^^ help: try ignoring the field: `url: _`
|
unused variable: `url`:
src/api/models/addon/addon_type.rs#L78
warning: unused variable: `url`
--> src/api/models/addon/addon_type.rs:78:17
|
78 | url,
| ^^^ help: try ignoring the field: `url: _`
|
unused import: `Digest`:
src/api/utils/hashing/curseforge.rs#L1
warning: unused import: `Digest`
--> src/api/utils/hashing/curseforge.rs:1:14
|
1 | use digest::{Digest, DynDigest, FixedOutput, FixedOutputReset, OutputSizeUser, Reset, Update};
| ^^^^^^
|
unused variable: `args`:
src/commands/update.rs#L10
warning: unused variable: `args`
--> src/commands/update.rs:10:33
|
10 | pub async fn run(app: Arc<App>, args: Args) -> Result<()> {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
|
unused variable: `app`:
src/commands/update.rs#L10
warning: unused variable: `app`
--> src/commands/update.rs:10:18
|
10 | pub async fn run(app: Arc<App>, args: Args) -> Result<()> {
| ^^^ help: if this is intentional, prefix it with an underscore: `_app`
|
unused variable: `args`:
src/commands/markdown/print.rs#L10
warning: unused variable: `args`
--> src/commands/markdown/print.rs:10:33
|
10 | pub async fn run(app: Arc<App>, args: Args) -> Result<()> {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
|
unused variable: `app`:
src/commands/markdown/print.rs#L10
warning: unused variable: `app`
--> src/commands/markdown/print.rs:10:18
|
10 | pub async fn run(app: Arc<App>, args: Args) -> Result<()> {
| ^^^ help: if this is intentional, prefix it with an underscore: `_app`
|
unreachable expression:
src/commands/markdown/print.rs#L13
warning: unreachable expression
--> src/commands/markdown/print.rs:13:5
|
11 | todo!();
| ------- any code following this expression is unreachable
12 |
13 | Ok(())
| ^^^^^^ unreachable expression
|
= note: `#[warn(unreachable_code)]` on by default
|
unused variable: `args`:
src/commands/markdown/render.rs#L10
warning: unused variable: `args`
--> src/commands/markdown/render.rs:10:33
|
10 | pub async fn run(app: Arc<App>, args: Args) -> Result<()> {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
|
variable does not need to be mutable:
src/commands/init.rs#L87
warning: variable does not need to be mutable
--> src/commands/init.rs:87:9
|
87 | let mut nw = Network {
| ----^^
| |
| help: remove this `mut`
|
variable does not need to be mutable:
src/commands/init.rs#L60
warning: variable does not need to be mutable
--> src/commands/init.rs:60:9
|
60 | let mut server = Server {
| ----^^^^^^
| |
| help: remove this `mut`
|
= note: `#[warn(unused_mut)]` on by default
|
unused variable: `args`:
src/commands/export/packwiz.rs#L10
warning: unused variable: `args`
--> src/commands/export/packwiz.rs:10:33
|
10 | pub async fn run(app: Arc<App>, args: Args) -> Result<()> {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
|
unused variable: `app`:
src/commands/export/packwiz.rs#L10
warning: unused variable: `app`
--> src/commands/export/packwiz.rs:10:18
|
10 | pub async fn run(app: Arc<App>, args: Args) -> Result<()> {
| ^^^ help: if this is intentional, prefix it with an underscore: `_app`
|
unused variable: `args`:
src/commands/export/mrpack.rs#L12
warning: unused variable: `args`
--> src/commands/export/mrpack.rs:12:33
|
12 | pub async fn run(app: Arc<App>, args: Args) -> Result<()> {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
|
unused variable: `app`:
src/commands/export/mrpack.rs#L12
warning: unused variable: `app`
--> src/commands/export/mrpack.rs:12:18
|
12 | pub async fn run(app: Arc<App>, args: Args) -> Result<()> {
| ^^^ help: if this is intentional, prefix it with an underscore: `_app`
|
unused variable: `event`:
src/api/ws/mod.rs#L91
warning: unused variable: `event`
--> src/api/ws/mod.rs:91:48
|
91 | pub async fn handle_event(self: Arc<Self>, event: MsgIn) -> Result<()> {
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
|
unused variable: `loader`:
src/api/models/server/server_type.rs#L273
warning: unused variable: `loader`
--> src/api/models/server/server_type.rs:273:33
|
273 | ServerType::Forge { loader } => todo!(),
| ^^^^^^ help: try ignoring the field: `loader: _`
|
unused variable: `loader`:
src/api/models/server/server_type.rs#L272
warning: unused variable: `loader`
--> src/api/models/server/server_type.rs:272:36
|
272 | ServerType::NeoForge { loader } => todo!(),
| ^^^^^^ help: try ignoring the field: `loader: _`
|
unused variable: `installer`:
src/api/models/server/server_type.rs#L271
warning: unused variable: `installer`
--> src/api/models/server/server_type.rs:271:41
|
271 | ServerType::Quilt { loader, installer } => todo!(),
| ^^^^^^^^^ help: try ignoring the field: `installer: _`
|
unused variable: `loader`:
src/api/models/server/server_type.rs#L271
warning: unused variable: `loader`
--> src/api/models/server/server_type.rs:271:33
|
271 | ServerType::Quilt { loader, installer } => todo!(),
| ^^^^^^ help: try ignoring the field: `loader: _`
|
unused variable: `build`:
src/api/models/server/server_type.rs#L245
warning: unused variable: `build`
--> src/api/models/server/server_type.rs:245:34
|
245 | ServerType::Purpur { build } => todo!(),
| ^^^^^ help: try ignoring the field: `build: _`
|
unused variable: `steps`:
src/api/models/packwiz/mod.rs#L65
warning: unused variable: `steps`
--> src/api/models/packwiz/mod.rs:65:13
|
65 | let steps = addon.resolve_steps(app).await?;
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_steps`
|
unused variable: `steps`:
src/api/models/packwiz/mod.rs#L57
warning: unused variable: `steps`
--> src/api/models/packwiz/mod.rs:57:29
|
57 | pub async fn from_steps(steps: &[Step]) -> Self {
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_steps`
|
unused variable: `rendered`:
src/api/app/actions/markdown/mod.rs#L65
warning: unused variable: `rendered`
--> src/api/app/actions/markdown/mod.rs:65:13
|
65 | let rendered = self.render_metadata(metadata).await?;
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rendered`
|
unused variable: `app`:
src/api/models/packwiz/mod.rs#L78
warning: unused variable: `app`
--> src/api/models/packwiz/mod.rs:78:36
|
78 | pub async fn into_addon(&self, app: &App, target: AddonTarget) -> Result<Addon> {
| ^^^ help: if this is intentional, prefix it with an underscore: `_app`
|
unused variable: `label`:
src/api/app/step/execute_java.rs#L20
warning: unused variable: `label`
--> src/api/app/step/execute_java.rs:20:9
|
20 | label: &str,
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_label`
|
unused variable: `loader`:
src/api/models/server/server_type.rs#L194
warning: unused variable: `loader`
--> src/api/models/server/server_type.rs:194:33
|
194 | ServerType::Forge { loader } => todo!(),
| ^^^^^^ help: try ignoring the field: `loader: _`
|
unused variable: `loader`:
src/api/models/server/server_type.rs#L193
warning: unused variable: `loader`
--> src/api/models/server/server_type.rs:193:36
|
193 | ServerType::NeoForge { loader } => todo!(),
| ^^^^^^ help: try ignoring the field: `loader: _`
|
unused variable: `build`:
src/api/models/server/server_type.rs#L182
warning: unused variable: `build`
--> src/api/models/server/server_type.rs:182:34
|
182 | ServerType::Purpur { build } => todo!(),
| ^^^^^ help: try ignoring the field: `build: _`
|
= note: `#[warn(unused_variables)]` on by default
|
unused import: `Path`:
src/commands/init.rs#L2
warning: unused import: `Path`
--> src/commands/init.rs:2:12
|
2 | path::{Path, PathBuf},
| ^^^^
|
unused import: `Path`:
src/commands/build.rs#L2
warning: unused import: `Path`
--> src/commands/build.rs:2:12
|
2 | path::{Path, PathBuf},
| ^^^^
|
unused import: `super::toml::read_toml`:
src/api/utils/update_writer.rs#L16
warning: unused import: `super::toml::read_toml`
--> src/api/utils/update_writer.rs:16:5
|
16 | use super::toml::read_toml;
| ^^^^^^^^^^^^^^^^^^^^^^
|
unused imports: `ModpackSource`, `ModpackType`, `SourceType`, and `app::App`:
src/api/utils/update_writer.rs#L8
warning: unused imports: `ModpackSource`, `ModpackType`, `SourceType`, and `app::App`
--> src/api/utils/update_writer.rs:8:5
|
8 | app::App,
| ^^^^^^^^
...
12 | ModpackSource, ModpackType, Source, SourceType,
| ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^
|
unused import: `anyhow`:
src/api/utils/update_writer.rs#L3
warning: unused import: `anyhow`
--> src/api/utils/update_writer.rs:3:14
|
3 | use anyhow::{anyhow, Result};
| ^^^^^^
|
binding's name is too similar to existing binding:
src/api/utils/pathdiff.rs#L80
warning: binding's name is too similar to existing binding
--> src/api/utils/pathdiff.rs:80:17
|
80 | let mut itb = base.components();
| ^^^
|
note: existing binding defined here
--> src/api/utils/pathdiff.rs:79:17
|
79 | let mut ita = path.components();
| ^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#similar_names
|
unused import: `DynDigest`:
src/api/utils/hashing/curseforge.rs#L1
warning: unused import: `DynDigest`
--> src/api/utils/hashing/curseforge.rs:1:22
|
1 | use digest::{Digest, DynDigest, FixedOutput, FixedOutputReset, OutputSizeUser, Reset, Update};
| ^^^^^^^^^
|
unused import: `anyhow`:
src/api/tools/java/mod.rs#L14
warning: unused import: `anyhow`
--> src/api/tools/java/mod.rs:14:14
|
14 | use anyhow::{anyhow, Context, Result};
| ^^^^^^
|
unused imports: `assets::*` and `rulematcher::*`:
src/api/sources/vanilla/mod.rs#L17
warning: unused imports: `assets::*` and `rulematcher::*`
--> src/api/sources/vanilla/mod.rs:17:16
|
17 | pub use self::{assets::*, manifest::*, rulematcher::*, version::*};
| ^^^^^^^^^ ^^^^^^^^^^^^^^
|
unused imports: `Deserialize` and `Serialize`:
src/api/sources/mcman_meta/mod.rs#L2
warning: unused imports: `Deserialize` and `Serialize`
--> src/api/sources/mcman_meta/mod.rs:2:13
|
2 | use serde::{Deserialize, Serialize};
| ^^^^^^^^^^^ ^^^^^^^^^
|
unused import: `anyhow`:
src/api/sources/mcman_meta/mod.rs#L1
warning: unused import: `anyhow`
--> src/api/sources/mcman_meta/mod.rs:1:14
|
1 | use anyhow::{anyhow, Result};
| ^^^^^^
|
unused import: `anyhow::Result`:
src/api/sources/hangar/models.rs#L6
warning: unused import: `anyhow::Result`
--> src/api/sources/hangar/models.rs:6:5
|
6 | use anyhow::Result;
| ^^^^^^^^^^^^^^
|
unused import: `bail`:
src/api/models/metadata/addon_metadata.rs#L1
warning: unused import: `bail`
--> src/api/models/metadata/addon_metadata.rs:1:14
|
1 | use anyhow::{bail, Result};
| ^^^^
|
unused import: `server_launcher::*`:
src/api/models/legacy/mod.rs#L16
warning: unused import: `server_launcher::*`
--> src/api/models/legacy/mod.rs:16:9
|
16 | pub use server_launcher::*;
| ^^^^^^^^^^^^^^^^^^
|
unused import: `network::*`:
src/api/models/legacy/mod.rs#L14
warning: unused import: `network::*`
--> src/api/models/legacy/mod.rs:14:9
|
14 | pub use network::*;
| ^^^^^^^^^^
|
unused import: `super::Addon`:
src/api/models/addon/addon_type.rs#L5
warning: unused import: `super::Addon`
--> src/api/models/addon/addon_type.rs:5:5
|
5 | use super::Addon;
| ^^^^^^^^^^^^
|
unused import: `logging::*`:
src/api/app/mod.rs#L20
warning: unused import: `logging::*`
--> src/api/app/mod.rs:20:9
|
20 | pub use logging::*;
| ^^^^^^^^^^
|
redundant else block:
src/api/app/step/cache_check.rs#L89
warning: redundant else block
--> src/api/app/step/cache_check.rs:89:28
|
89 | } else {
| ____________________________^
90 | | // hash mismatch
91 | | // TODO: print warning
92 | | println!("WARNING Hash mismatch: {}", metadata.filename);
... |
95 | | .context("hash mismatch remove file")?;
96 | | }
| |_____________________^
|
= help: remove the `else` block and move the contents out
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_else
= note: `-W clippy::redundant-else` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::redundant_else)]`
|
unused import: `lockfile::Lockfile`:
src/api/app/io.rs#L8
warning: unused import: `lockfile::Lockfile`
--> src/api/app/io.rs:8:9
|
8 | lockfile::Lockfile,
| ^^^^^^^^^^^^^^^^^^
|
unused import: `tokio::sync::RwLock`:
src/api/app/io.rs#L4
warning: unused import: `tokio::sync::RwLock`
--> src/api/app/io.rs:4:5
|
4 | use tokio::sync::RwLock;
| ^^^^^^^^^^^^^^^^^^^
|
unused import: `std::sync::Arc`:
src/api/app/io.rs#L1
warning: unused import: `std::sync::Arc`
--> src/api/app/io.rs:1:5
|
1 | use std::sync::Arc;
| ^^^^^^^^^^^^^^
|
binding's name is too similar to existing binding:
src/api/app/http.rs#L22
warning: binding's name is too similar to existing binding
--> src/api/app/http.rs:22:13
|
22 | let res = req.send().await?.error_for_status()?;
| ^^^
|
note: existing binding defined here
--> src/api/app/http.rs:18:13
|
18 | let req = self.http_client.get(url.as_str());
| ^^^
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#similar_names
= note: `-W clippy::similar-names` implied by `-W clippy::pedantic`
= help: to override `-W clippy::pedantic` add `#[allow(clippy::similar_names)]`
|
unused import: `path::Path`:
src/main.rs#L1
warning: unused import: `path::Path`
--> src/main.rs:1:11
|
1 | use std::{path::Path, sync::Arc};
| ^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
|
clippy
The following actions uses node12 which is deprecated and will be forced to run on node16: actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
|
clippy
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
build (ubuntu-latest)
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
build (windows-latest)
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Deprecation notice: v1, v2, and v3 of the artifact actions
The following artifacts were uploaded using a version of actions/upload-artifact that is scheduled for deprecation: "mcman-ubuntu-latest", "mcman-windows-latest".
Please update your workflow to use v4 of the artifact actions.
Learn more: https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
mcman-ubuntu-latest
Expired
|
7.75 MB |
|
mcman-windows-latest
Expired
|
12 MB |
|