[INFO] cloning repository https://github.com/janiokq/blog_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/janiokq/blog_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjaniokq%2Fblog_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjaniokq%2Fblog_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 09b0b77eefdb76b0712d8f6ca4c7f6057c4792a3 [INFO] checking janiokq/blog_rust against 1.55.0 for beta-1.56-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjaniokq%2Fblog_rust" "/workspace/builds/worker-37/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-37/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/janiokq/blog_rust on toolchain 1.55.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.55.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/janiokq/blog_rust [INFO] finished tweaking git repo https://github.com/janiokq/blog_rust [INFO] tweaked toml for git repo https://github.com/janiokq/blog_rust written to /workspace/builds/worker-37/source/Cargo.toml [INFO] crate git repo https://github.com/janiokq/blog_rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.55.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tracing v0.1.29 [INFO] [stderr] Downloaded hdrhistogram v6.3.4 [INFO] [stderr] Downloaded tower-http v0.1.1 [INFO] [stderr] Downloaded serde_with v1.10.0 [INFO] [stderr] Downloaded os_info v3.0.7 [INFO] [stderr] Downloaded bson v2.0.1 [INFO] [stderr] Downloaded sync_wrapper v0.1.1 [INFO] [stderr] Downloaded ahash v0.7.5 [INFO] [stderr] Downloaded mongodb v2.0.1 [INFO] [stderr] Downloaded iri-string v0.4.0 [INFO] [stderr] Downloaded tracing-attributes v0.1.18 [INFO] [stderr] Downloaded sharded-slab v0.1.4 [INFO] [stderr] Downloaded brotli-decompressor v2.3.2 [INFO] [stderr] Downloaded tower-layer v0.3.1 [INFO] [stderr] Downloaded brotli v3.3.2 [INFO] [stderr] Downloaded serde_with_macros v1.5.0 [INFO] [stderr] Downloaded typed-builder v0.9.1 [INFO] [stderr] Downloaded alloc-no-stdlib v2.0.3 [INFO] [stderr] Downloaded tower v0.4.8 [INFO] [stderr] Downloaded tracing-subscriber v0.2.25 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-37/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-37/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 47babf3aed229b321bc2603a104af816f0dfe5fc0508c674595c4b651539fd85 [INFO] running `Command { std: "docker" "start" "-a" "47babf3aed229b321bc2603a104af816f0dfe5fc0508c674595c4b651539fd85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "47babf3aed229b321bc2603a104af816f0dfe5fc0508c674595c4b651539fd85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "47babf3aed229b321bc2603a104af816f0dfe5fc0508c674595c4b651539fd85", kill_on_drop: false }` [INFO] [stdout] 47babf3aed229b321bc2603a104af816f0dfe5fc0508c674595c4b651539fd85 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-37/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-37/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1b913a266330f7f5f08b7b2f2143a19776b3050655be34b5eae3d5336f9edd5c [INFO] running `Command { std: "docker" "start" "-a" "1b913a266330f7f5f08b7b2f2143a19776b3050655be34b5eae3d5336f9edd5c", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.80 [INFO] [stderr] Compiling libc v0.2.103 [INFO] [stderr] Compiling futures-core v0.3.17 [INFO] [stderr] Compiling radium v0.5.3 [INFO] [stderr] Compiling futures-task v0.3.17 [INFO] [stderr] Checking futures-sink v0.3.17 [INFO] [stderr] Compiling lexical-core v0.7.6 [INFO] [stderr] Compiling futures-channel v0.3.17 [INFO] [stderr] Checking futures-io v0.3.17 [INFO] [stderr] Checking slab v0.4.4 [INFO] [stderr] Compiling cc v1.0.71 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Checking funty v1.1.0 [INFO] [stderr] Checking wyz v0.2.0 [INFO] [stderr] Checking tap v1.0.1 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Checking alloc-no-stdlib v2.0.3 [INFO] [stderr] Compiling async-trait v0.1.51 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Checking unicode-xid v0.2.2 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling rustversion v1.0.5 [INFO] [stderr] Compiling askama_escape v0.10.1 [INFO] [stderr] Checking tower-layer v0.3.1 [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Compiling humansize v1.1.1 [INFO] [stderr] Checking cpufeatures v0.2.1 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Compiling pulldown-cmark v0.8.0 [INFO] [stderr] Compiling anyhow v1.0.44 [INFO] [stderr] Checking sync_wrapper v0.1.1 [INFO] [stderr] Checking dyn-clone v1.0.4 [INFO] [stderr] Checking take_mut v0.2.2 [INFO] [stderr] Checking version_check v0.9.3 [INFO] [stderr] Compiling tokio v1.12.0 [INFO] [stderr] Compiling futures-macro v0.3.17 [INFO] [stderr] Compiling futures-util v0.3.17 [INFO] [stderr] Compiling nom v6.1.2 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Checking tracing-core v0.1.21 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Checking form_urlencoded v1.0.1 [INFO] [stderr] Checking crossbeam-utils v0.6.6 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Checking base64 v0.10.1 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling ahash v0.7.5 [INFO] [stderr] Checking http v0.2.5 [INFO] [stderr] Checking lru-cache v0.1.2 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking getopts v0.2.21 [INFO] [stderr] Checking sharded-slab v0.1.4 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking os_info v3.0.7 [INFO] [stderr] Checking stringprep v0.1.2 [INFO] [stderr] Checking pem v0.8.3 [INFO] [stderr] Checking alloc-stdlib v0.2.1 [INFO] [stderr] Checking proc-macro2 v1.0.30 [INFO] [stderr] Checking brotli-decompressor v2.3.2 [INFO] [stderr] Checking crossbeam-channel v0.3.9 [INFO] [stderr] Compiling bitvec v0.19.5 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking quote v1.0.10 [INFO] [stderr] Checking tracing-log v0.1.2 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking crypto-mac v0.11.1 [INFO] [stderr] Checking matchers v0.0.1 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Checking pbkdf2 v0.8.0 [INFO] [stderr] Checking hmac v0.11.0 [INFO] [stderr] Checking sha2 v0.9.8 [INFO] [stderr] Checking md-5 v0.9.1 [INFO] [stderr] Checking sha-1 v0.9.8 [INFO] [stderr] Checking parking_lot_core v0.8.5 [INFO] [stderr] Checking mio v0.7.13 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking signal-hook-registry v1.4.0 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking flate2 v1.0.22 [INFO] [stderr] Checking socket2 v0.4.2 [INFO] [stderr] Checking hostname v0.3.1 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Checking brotli v3.3.2 [INFO] [stderr] Checking resolv-conf v0.7.0 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking http-body v0.4.3 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking hdrhistogram v6.3.4 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking simple_asn1 v0.4.1 [INFO] [stderr] Compiling darling_core v0.13.0 [INFO] [stderr] Checking webpki v0.21.4 [INFO] [stderr] Checking sct v0.6.1 [INFO] [stderr] Checking iri-string v0.4.0 [INFO] [stderr] Checking webpki-roots v0.21.1 [INFO] [stderr] Checking rustls v0.19.1 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Compiling tokio-macros v1.4.1 [INFO] [stderr] Compiling tracing-attributes v0.1.18 [INFO] [stderr] Compiling darling_macro v0.13.0 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Compiling pin-project-internal v1.0.8 [INFO] [stderr] Compiling enum-as-inner v0.3.3 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling typed-builder v0.9.1 [INFO] [stderr] Compiling darling v0.13.0 [INFO] [stderr] Compiling serde_with_macros v1.5.0 [INFO] [stderr] Checking pin-project v1.0.8 [INFO] [stderr] Checking tracing v0.1.29 [INFO] [stderr] Checking thiserror v1.0.30 [INFO] [stderr] Checking serde v1.0.130 [INFO] [stderr] Checking futures-executor v0.3.17 [INFO] [stderr] Checking futures v0.3.17 [INFO] [stderr] Checking tokio-util v0.6.8 [INFO] [stderr] Checking tokio-stream v0.1.7 [INFO] [stderr] Checking trust-dns-proto v0.20.3 [INFO] [stderr] Checking async-compression v0.3.8 [INFO] [stderr] Checking hyper v0.14.13 [INFO] [stderr] Checking tokio-rustls v0.22.0 [INFO] [stderr] Checking tower v0.4.8 [INFO] [stderr] Checking trust-dns-resolver v0.20.3 [INFO] [stderr] Checking serde_json v1.0.68 [INFO] [stderr] Checking toml v0.5.8 [INFO] [stderr] Checking serde_bytes v0.11.5 [INFO] [stderr] Checking serde_urlencoded v0.7.0 [INFO] [stderr] Checking serde_with v1.10.0 [INFO] [stderr] Checking tracing-serde v0.1.2 [INFO] [stderr] Checking tower-http v0.1.1 [INFO] [stderr] Checking bson v2.0.1 [INFO] [stderr] Checking jsonwebtoken v7.2.0 [INFO] [stderr] Checking tracing-subscriber v0.2.25 [INFO] [stderr] Checking askama_shared v0.11.1 [INFO] [stderr] Checking mongodb v2.0.1 [INFO] [stderr] Checking axum v0.2.6 (https://github.com/tokio-rs/axum#8ca55384) [INFO] [stderr] Compiling askama_derive v0.10.5 [INFO] [stderr] Checking askama v0.10.5 [INFO] [stderr] Checking blog_rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `MONGO` [INFO] [stdout] --> src/controller/user.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{MONGO, GLOBAL_CONF}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::extract::Extension` [INFO] [stdout] --> src/controller/user.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use axum::extract::Extension; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::StatusCode` [INFO] [stdout] --> src/controller/user.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use http::StatusCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GLOBAL_CONF`, `MONGO` [INFO] [stdout] --> src/controller/tag.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{MONGO, GLOBAL_CONF}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model::user::*` [INFO] [stdout] --> src/controller/tag.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model::user::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::extract::Extension` [INFO] [stdout] --> src/controller/tag.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use axum::extract::Extension; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::StatusCode` [INFO] [stdout] --> src/controller/tag.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use http::StatusCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Claims`, `generate_token` [INFO] [stdout] --> src/controller/tag.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::common::{Resp, OK, WebError, OKMSG, Claims, generate_token}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> src/controller/tag.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/tag.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | /// No data can be added [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 44 | let mut t = Tag::new(); [INFO] [stdout] | ------------------------ rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/tag.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | /// Later, the tag in the article needs to be deleted synchronously [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 78 | / match del_tag_in_db(&TagInfo.id).await { [INFO] [stdout] 79 | | Ok(r)=>{ [INFO] [stdout] 80 | | Ok(Resp { [INFO] [stdout] 81 | | code: OK, [INFO] [stdout] ... | [INFO] [stdout] 90 | | } [INFO] [stdout] 91 | | } [INFO] [stdout] | |_____- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Local` [INFO] [stdout] --> src/controller/article.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use chrono::Local; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/article.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | ///新增 [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 39 | / match save_article(&newArt).await { [INFO] [stdout] 40 | | Ok(r) => { [INFO] [stdout] 41 | | newArt.id = Some(r); [INFO] [stdout] 42 | | Ok(Resp { [INFO] [stdout] ... | [INFO] [stdout] 52 | | } [INFO] [stdout] 53 | | } [INFO] [stdout] | |_____________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ArticleRenderTag`, `Empty404Template` [INFO] [stdout] --> src/controller/render.rs:2:60 [INFO] [stdout] | [INFO] [stdout] 2 | ...ticleListRenderItem, ArticleRenderTag, BlogTemplate, TagRender, FriendshipLink, ArticleTemplate, Empty404Template}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime`, `Local`, `NaiveDateTime`, `TimeZone`, `Utc` [INFO] [stdout] --> src/controller/render.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | use chrono::{DateTime, Local, TimeZone, NaiveDateTime, Utc}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/controller/render.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use axum::extract::{Path, Query}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::http::Request` [INFO] [stdout] --> src/controller/render.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use axum::http::Request; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::body::Body` [INFO] [stdout] --> src/controller/render.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use axum::body::Body; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/controller/render.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/controller/render.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | page_list.push((i + 1)); [INFO] [stdout] | ^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/render.rs:113:17 [INFO] [stdout] | [INFO] [stdout] 113 | ///过滤 Life tag 这个留给 life 栏目用的 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 114 | [INFO] [stdout] 115 | / alltags.push(TagRender { [INFO] [stdout] 116 | | name, [INFO] [stdout] 117 | | select, [INFO] [stdout] 118 | | }) [INFO] [stdout] | |__________________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/render.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | ///生成推荐内容 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 256 | let mut recommend_article: Vec = Vec::new(); [INFO] [stdout] | ------------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/render.rs:259:5 [INFO] [stdout] | [INFO] [stdout] 259 | ///获取相关tag的推荐 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 260 | / if !tags.is_empty() { [INFO] [stdout] 261 | | let taglength = tags.len(); [INFO] [stdout] 262 | | let get_item_number = max_rec_item / taglength; [INFO] [stdout] 263 | | for x in tags { [INFO] [stdout] ... | [INFO] [stdout] 294 | | } [INFO] [stdout] 295 | | } [INFO] [stdout] | |_____- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/controller/copyright.rs:8:37 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize, Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/copyright.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | /// Create a return [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | let mut copy = Copyright::new(); [INFO] [stdout] | -------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::TypeId` [INFO] [stdout] --> src/common/common.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::any::TypeId; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Display`, `Error`, `Formatter` [INFO] [stdout] --> src/common/common.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fmt::{Display, Formatter, Error}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bson::document` [INFO] [stdout] --> src/common/common.rs:5:27 [INFO] [stdout] | [INFO] [stdout] 5 | use mongodb::{Collection, bson::document, bson, bson::Document}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StdError` [INFO] [stdout] --> src/common/common.rs:7:35 [INFO] [stdout] | [INFO] [stdout] 7 | use serde::de::{DeserializeOwned, StdError}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MONGO` [INFO] [stdout] --> src/common/token.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{MONGO, GLOBAL_CONF}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `errors::Error` [INFO] [stdout] --> src/common/token.rs:3:75 [INFO] [stdout] | [INFO] [stdout] 3 | use jsonwebtoken::{decode, TokenData, Algorithm, DecodingKey, Validation, errors::Error, encode, EncodingKey, Header}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HtmlTemplate` [INFO] [stdout] --> src/router.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::template::{ HtmlTemplate}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::body::Body` [INFO] [stdout] --> src/router.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use axum::body::Body; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tower_http::auth::RequireAuthorizationLayer` [INFO] [stdout] --> src/router.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tower_http::auth::RequireAuthorizationLayer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extract` [INFO] [stdout] --> src/router.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | use axum::{extract, Router, service}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tower_http::set_header::SetResponseHeaderLayer` [INFO] [stdout] --> src/router.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use tower_http::set_header::SetResponseHeaderLayer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HeaderValue`, `header` [INFO] [stdout] --> src/router.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | use http::{HeaderValue, header}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ServiceBuilder` [INFO] [stdout] --> src/router.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | use tower::{ServiceBuilder}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Html` [INFO] [stdout] --> src/router.rs:22:43 [INFO] [stdout] | [INFO] [stdout] 22 | use axum::{handler::{Handler}, response::{Html}, }; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/model/user/mod.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use serde::{Deserialize, Serialize, Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get`, `list` [INFO] [stdout] --> src/model/user/mod.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{get, list, save,find,update}; [INFO] [stdout] | ^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `bson::oid::ObjectId`, `bson` [INFO] [stdout] --> src/model/article/handler.rs:4:36 [INFO] [stdout] | [INFO] [stdout] 4 | use mongodb::{options::FindOptions,bson,bson::oid::ObjectId,bson::*,Cursor,bson::Document}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/model/article/handler.rs:54:24 [INFO] [stdout] | [INFO] [stdout] 54 | option.skip = Some((page_number*(page_size as u64))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/model/article/mod.rs:5:37 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize, Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `find` [INFO] [stdout] --> src/model/article/mod.rs:6:30 [INFO] [stdout] | [INFO] [stdout] 6 | use super::{get, list, save, find,update,count,remove}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `bson::*`, `bson::oid::ObjectId`, `bson` [INFO] [stdout] --> src/model/tag/handler.rs:4:36 [INFO] [stdout] | [INFO] [stdout] 4 | use mongodb::{options::FindOptions,bson,bson::oid::ObjectId,bson::*,Cursor,bson::Document}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/model/tag/mod.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use serde::{Deserialize, Serialize, Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get` [INFO] [stdout] --> src/model/tag/mod.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{get, list, save, find, remove}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `bson::Document`, `bson`, `options::FindOptions` [INFO] [stdout] --> src/model/tag/mod.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use mongodb::{options::FindOptions, bson, bson::oid::ObjectId, bson::*, Cursor, bson::Document}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Result` [INFO] [stdout] --> src/model/tag/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `WebError`, `table` [INFO] [stdout] --> src/model/tag/mod.rs:9:35 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::common::{IntoDocument, table, WebError}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `bson::*`, `bson::Document`, `bson::oid::ObjectId`, `bson`, `options::FindOptions` [INFO] [stdout] --> src/model/copyright/handler.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use mongodb::{options::FindOptions,bson,bson::oid::ObjectId,bson::*,Cursor,bson::Document}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get`, `list`, `remove` [INFO] [stdout] --> src/model/copyright/mod.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{get, list, save, find, remove,update}; [INFO] [stdout] | ^^^ ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/model/copyright/mod.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use serde::{Deserialize, Serialize, Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GLOBAL_CONF`, `MONGO` [INFO] [stdout] --> src/model/mod.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{MONGO, GLOBAL_CONF}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned` [INFO] [stdout] --> src/model/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::de::DeserializeOwned; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Cursor` [INFO] [stdout] --> src/model/mod.rs:10:69 [INFO] [stdout] | [INFO] [stdout] 10 | use mongodb::{options::FindOptions,bson,bson::oid::ObjectId,bson::*,Cursor,bson::Document}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `net::SocketAddr` [INFO] [stdout] --> src/template/mod.rs:6:32 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{convert::Infallible, net::SocketAddr}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model::article::Article` [INFO] [stdout] --> src/template/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::model::article::Article; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::common` [INFO] [stdout] --> src/middleware/auth.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::common; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tower::Service` [INFO] [stdout] --> src/middleware/auth.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use tower::Service; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context`, `Poll` [INFO] [stdout] --> src/middleware/auth.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::task::{Context, Poll}; [INFO] [stdout] | ^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/middleware/auth.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bytes::Bytes` [INFO] [stdout] --> src/middleware/auth.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use bytes::Bytes; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HeaderValue`, `Request`, `StatusCode`, `Uri`, `header` [INFO] [stdout] --> src/middleware/auth.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | use http::{header, HeaderValue, StatusCode, Uri, Request}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BaseError`, `Claims`, `NEEDLOGIN_ERROR`, `Resp` [INFO] [stdout] --> src/middleware/auth.rs:7:59 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::common::{WebError, HTTP_TOKEN_KEY, token_data, Claims, Resp, BaseError, NEEDLOGIN_ERROR}; [INFO] [stdout] | ^^^^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> src/middleware/auth.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::pin::Pin` [INFO] [stdout] --> src/middleware/auth.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::pin::Pin; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tower_http::auth::AuthorizeRequest` [INFO] [stdout] --> src/middleware/auth.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use tower_http::auth::AuthorizeRequest; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::Json` [INFO] [stdout] --> src/middleware/auth.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use axum::Json; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HeaderMap`, `Response` [INFO] [stdout] --> src/middleware/auth.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | use axum::http::{HeaderMap, Response}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::body::Body` [INFO] [stdout] --> src/middleware/auth.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use axum::body::Body; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::response::IntoResponse` [INFO] [stdout] --> src/middleware/auth.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use axum::response::IntoResponse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header::HeaderName` [INFO] [stdout] --> src/middleware/cors.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | use http::{header::HeaderName, Response}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt` [INFO] [stdout] --> src/middleware/cors.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | fmt, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `marker::PhantomData` [INFO] [stdout] --> src/middleware/cors.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | use std::{future::Future, marker::PhantomData}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cors::*` [INFO] [stdout] --> src/middleware/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use cors::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::StatusCode` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use http::StatusCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `services::ServeDir`, `trace::TraceLayer` [INFO] [stdout] --> src/main.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | use tower_http::{services::ServeDir, trace::TraceLayer}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HtmlTemplate` [INFO] [stdout] --> src/main.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::template::{HtmlTemplate}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tower::MakeService` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use tower::MakeService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MONGO` [INFO] [stdout] --> src/controller/user.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{MONGO, GLOBAL_CONF}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::extract::Extension` [INFO] [stdout] --> src/controller/user.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use axum::extract::Extension; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::StatusCode` [INFO] [stdout] --> src/controller/user.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use http::StatusCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GLOBAL_CONF`, `MONGO` [INFO] [stdout] --> src/controller/tag.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{MONGO, GLOBAL_CONF}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model::user::*` [INFO] [stdout] --> src/controller/tag.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model::user::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::extract::Extension` [INFO] [stdout] --> src/controller/tag.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use axum::extract::Extension; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::StatusCode` [INFO] [stdout] --> src/controller/tag.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use http::StatusCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Claims`, `generate_token` [INFO] [stdout] --> src/controller/tag.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::common::{Resp, OK, WebError, OKMSG, Claims, generate_token}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> src/controller/tag.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/tag.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | /// No data can be added [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 44 | let mut t = Tag::new(); [INFO] [stdout] | ------------------------ rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/tag.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | /// Later, the tag in the article needs to be deleted synchronously [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 78 | / match del_tag_in_db(&TagInfo.id).await { [INFO] [stdout] 79 | | Ok(r)=>{ [INFO] [stdout] 80 | | Ok(Resp { [INFO] [stdout] 81 | | code: OK, [INFO] [stdout] ... | [INFO] [stdout] 90 | | } [INFO] [stdout] 91 | | } [INFO] [stdout] | |_____- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Local` [INFO] [stdout] --> src/controller/article.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use chrono::Local; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/article.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | ///新增 [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 39 | / match save_article(&newArt).await { [INFO] [stdout] 40 | | Ok(r) => { [INFO] [stdout] 41 | | newArt.id = Some(r); [INFO] [stdout] 42 | | Ok(Resp { [INFO] [stdout] ... | [INFO] [stdout] 52 | | } [INFO] [stdout] 53 | | } [INFO] [stdout] | |_____________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ArticleRenderTag`, `Empty404Template` [INFO] [stdout] --> src/controller/render.rs:2:60 [INFO] [stdout] | [INFO] [stdout] 2 | ...ticleListRenderItem, ArticleRenderTag, BlogTemplate, TagRender, FriendshipLink, ArticleTemplate, Empty404Template}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime`, `Local`, `NaiveDateTime`, `TimeZone`, `Utc` [INFO] [stdout] --> src/controller/render.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | use chrono::{DateTime, Local, TimeZone, NaiveDateTime, Utc}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/controller/render.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use axum::extract::{Path, Query}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::http::Request` [INFO] [stdout] --> src/controller/render.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use axum::http::Request; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::body::Body` [INFO] [stdout] --> src/controller/render.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use axum::body::Body; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/controller/render.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/controller/render.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | page_list.push((i + 1)); [INFO] [stdout] | ^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/render.rs:113:17 [INFO] [stdout] | [INFO] [stdout] 113 | ///过滤 Life tag 这个留给 life 栏目用的 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 114 | [INFO] [stdout] 115 | / alltags.push(TagRender { [INFO] [stdout] 116 | | name, [INFO] [stdout] 117 | | select, [INFO] [stdout] 118 | | }) [INFO] [stdout] | |__________________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/render.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | ///生成推荐内容 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 256 | let mut recommend_article: Vec = Vec::new(); [INFO] [stdout] | ------------------------------------------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/render.rs:259:5 [INFO] [stdout] | [INFO] [stdout] 259 | ///获取相关tag的推荐 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 260 | / if !tags.is_empty() { [INFO] [stdout] 261 | | let taglength = tags.len(); [INFO] [stdout] 262 | | let get_item_number = max_rec_item / taglength; [INFO] [stdout] 263 | | for x in tags { [INFO] [stdout] ... | [INFO] [stdout] 294 | | } [INFO] [stdout] 295 | | } [INFO] [stdout] | |_____- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/controller/copyright.rs:8:37 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize, Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/controller/copyright.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | /// Create a return [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | let mut copy = Copyright::new(); [INFO] [stdout] | -------------------------------- rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::TypeId` [INFO] [stdout] --> src/common/common.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::any::TypeId; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Display`, `Error`, `Formatter` [INFO] [stdout] --> src/common/common.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fmt::{Display, Formatter, Error}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bson::document` [INFO] [stdout] --> src/common/common.rs:5:27 [INFO] [stdout] | [INFO] [stdout] 5 | use mongodb::{Collection, bson::document, bson, bson::Document}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StdError` [INFO] [stdout] --> src/common/common.rs:7:35 [INFO] [stdout] | [INFO] [stdout] 7 | use serde::de::{DeserializeOwned, StdError}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MONGO` [INFO] [stdout] --> src/common/token.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::{MONGO, GLOBAL_CONF}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `errors::Error` [INFO] [stdout] --> src/common/token.rs:3:75 [INFO] [stdout] | [INFO] [stdout] 3 | use jsonwebtoken::{decode, TokenData, Algorithm, DecodingKey, Validation, errors::Error, encode, EncodingKey, Header}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HtmlTemplate` [INFO] [stdout] --> src/router.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::template::{ HtmlTemplate}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::body::Body` [INFO] [stdout] --> src/router.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use axum::body::Body; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tower_http::auth::RequireAuthorizationLayer` [INFO] [stdout] --> src/router.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use tower_http::auth::RequireAuthorizationLayer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extract` [INFO] [stdout] --> src/router.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | use axum::{extract, Router, service}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tower_http::set_header::SetResponseHeaderLayer` [INFO] [stdout] --> src/router.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use tower_http::set_header::SetResponseHeaderLayer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HeaderValue`, `header` [INFO] [stdout] --> src/router.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | use http::{HeaderValue, header}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ServiceBuilder` [INFO] [stdout] --> src/router.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | use tower::{ServiceBuilder}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Html` [INFO] [stdout] --> src/router.rs:22:43 [INFO] [stdout] | [INFO] [stdout] 22 | use axum::{handler::{Handler}, response::{Html}, }; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/model/user/handler.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/model/user/mod.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use serde::{Deserialize, Serialize, Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get`, `list` [INFO] [stdout] --> src/model/user/mod.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{get, list, save,find,update}; [INFO] [stdout] | ^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `bson::oid::ObjectId`, `bson` [INFO] [stdout] --> src/model/article/handler.rs:4:36 [INFO] [stdout] | [INFO] [stdout] 4 | use mongodb::{options::FindOptions,bson,bson::oid::ObjectId,bson::*,Cursor,bson::Document}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around function argument [INFO] [stdout] --> src/model/article/handler.rs:54:24 [INFO] [stdout] | [INFO] [stdout] 54 | option.skip = Some((page_number*(page_size as u64))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/model/article/mod.rs:5:37 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize, Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `find` [INFO] [stdout] --> src/model/article/mod.rs:6:30 [INFO] [stdout] | [INFO] [stdout] 6 | use super::{get, list, save, find,update,count,remove}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `bson::*`, `bson::oid::ObjectId`, `bson` [INFO] [stdout] --> src/model/tag/handler.rs:4:36 [INFO] [stdout] | [INFO] [stdout] 4 | use mongodb::{options::FindOptions,bson,bson::oid::ObjectId,bson::*,Cursor,bson::Document}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/model/tag/mod.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use serde::{Deserialize, Serialize, Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get` [INFO] [stdout] --> src/model/tag/mod.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{get, list, save, find, remove}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `bson::Document`, `bson`, `options::FindOptions` [INFO] [stdout] --> src/model/tag/mod.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use mongodb::{options::FindOptions, bson, bson::oid::ObjectId, bson::*, Cursor, bson::Document}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow::Result` [INFO] [stdout] --> src/model/tag/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `WebError`, `table` [INFO] [stdout] --> src/model/tag/mod.rs:9:35 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::common::{IntoDocument, table, WebError}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `bson::*`, `bson::Document`, `bson::oid::ObjectId`, `bson`, `options::FindOptions` [INFO] [stdout] --> src/model/copyright/handler.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use mongodb::{options::FindOptions,bson,bson::oid::ObjectId,bson::*,Cursor,bson::Document}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get`, `list`, `remove` [INFO] [stdout] --> src/model/copyright/mod.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use super::{get, list, save, find, remove,update}; [INFO] [stdout] | ^^^ ^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/model/copyright/mod.rs:4:37 [INFO] [stdout] | [INFO] [stdout] 4 | use serde::{Deserialize, Serialize, Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GLOBAL_CONF`, `MONGO` [INFO] [stdout] --> src/model/mod.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{MONGO, GLOBAL_CONF}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned` [INFO] [stdout] --> src/model/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::de::DeserializeOwned; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Cursor` [INFO] [stdout] --> src/model/mod.rs:10:69 [INFO] [stdout] | [INFO] [stdout] 10 | use mongodb::{options::FindOptions,bson,bson::oid::ObjectId,bson::*,Cursor,bson::Document}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `net::SocketAddr` [INFO] [stdout] --> src/template/mod.rs:6:32 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{convert::Infallible, net::SocketAddr}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::model::article::Article` [INFO] [stdout] --> src/template/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::model::article::Article; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::common` [INFO] [stdout] --> src/middleware/auth.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::common; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tower::Service` [INFO] [stdout] --> src/middleware/auth.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use tower::Service; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context`, `Poll` [INFO] [stdout] --> src/middleware/auth.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::task::{Context, Poll}; [INFO] [stdout] | ^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/middleware/auth.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bytes::Bytes` [INFO] [stdout] --> src/middleware/auth.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use bytes::Bytes; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HeaderValue`, `Request`, `StatusCode`, `Uri`, `header` [INFO] [stdout] --> src/middleware/auth.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | use http::{header, HeaderValue, StatusCode, Uri, Request}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BaseError`, `Claims`, `NEEDLOGIN_ERROR`, `Resp` [INFO] [stdout] --> src/middleware/auth.rs:7:59 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::common::{WebError, HTTP_TOKEN_KEY, token_data, Claims, Resp, BaseError, NEEDLOGIN_ERROR}; [INFO] [stdout] | ^^^^^^ ^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::future::Future` [INFO] [stdout] --> src/middleware/auth.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::future::Future; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::pin::Pin` [INFO] [stdout] --> src/middleware/auth.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::pin::Pin; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tower_http::auth::AuthorizeRequest` [INFO] [stdout] --> src/middleware/auth.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use tower_http::auth::AuthorizeRequest; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::Json` [INFO] [stdout] --> src/middleware/auth.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use axum::Json; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HeaderMap`, `Response` [INFO] [stdout] --> src/middleware/auth.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | use axum::http::{HeaderMap, Response}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::body::Body` [INFO] [stdout] --> src/middleware/auth.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use axum::body::Body; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::response::IntoResponse` [INFO] [stdout] --> src/middleware/auth.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use axum::response::IntoResponse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `header::HeaderName` [INFO] [stdout] --> src/middleware/cors.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | use http::{header::HeaderName, Response}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt` [INFO] [stdout] --> src/middleware/cors.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | fmt, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `marker::PhantomData` [INFO] [stdout] --> src/middleware/cors.rs:12:27 [INFO] [stdout] | [INFO] [stdout] 12 | use std::{future::Future, marker::PhantomData}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cors::*` [INFO] [stdout] --> src/middleware/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use cors::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `http::StatusCode` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use http::StatusCode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `services::ServeDir`, `trace::TraceLayer` [INFO] [stdout] --> src/main.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | use tower_http::{services::ServeDir, trace::TraceLayer}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HtmlTemplate` [INFO] [stdout] --> src/main.rs:15:23 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::template::{HtmlTemplate}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tower::MakeService` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use tower::MakeService; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model/tag/handler.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let mut option = FindOptions::default(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model/tag/handler.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let mut fiter: Document = doc! { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model/article/handler.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let mut option = CountOptions::default(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let mut count = table(table_name).count_documents(filter, Some(find_options)).await?; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model/tag/handler.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let mut option = FindOptions::default(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model/tag/handler.rs:43:9 [INFO] [stdout] | [INFO] [stdout] 43 | let mut fiter: Document = doc! { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model/article/handler.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let mut option = CountOptions::default(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let mut count = table(table_name).count_documents(filter, Some(find_options)).await?; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::FutureExt` [INFO] [stdout] --> src/router.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use futures::FutureExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/user.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | auth: BlogAuth, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/user.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | auth: BlogAuth, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/user.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | auth: BlogAuth, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/tag.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | auth: BlogAuth, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/tag.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/tag.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | Err(e)=>{ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/tag.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | Err(e)=>{ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/tag.rs:76:22 [INFO] [stdout] | [INFO] [stdout] 76 | pub async fn del_tag(auth: BlogAuth,Json(TagInfo): Json)-> Result,WebError>{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/tag.rs:99:25 [INFO] [stdout] | [INFO] [stdout] 99 | pub async fn search_tag(auth: BlogAuth,Json(searchInfo): Json) -> Result>,WebError>{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/controller/article.rs:23:20 [INFO] [stdout] | [INFO] [stdout] 23 | Ok(r) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/article.rs:72:29 [INFO] [stdout] | [INFO] [stdout] 72 | pub async fn search_article(auth: BlogAuth, Json(searchInfo): Json) -> Result, WebError> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/article.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | Err(e)=>{ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/article.rs:119:27 [INFO] [stdout] | [INFO] [stdout] 119 | pub async fn find_article(auth: BlogAuth,Json(findInfo): Json)-> Result, WebError>{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/article.rs:136:26 [INFO] [stdout] | [INFO] [stdout] 136 | pub async fn del_article(auth: BlogAuth,Json(findInfo): Json)-> Result, WebError>{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `tags` is assigned to, but never used [INFO] [stdout] --> src/controller/render.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | let mut tags: Vec = Vec::new(); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_tags` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tags` is never read [INFO] [stdout] --> src/controller/render.rs:200:21 [INFO] [stdout] | [INFO] [stdout] 200 | tags = t; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `get_item_number` [INFO] [stdout] --> src/controller/render.rs:262:13 [INFO] [stdout] | [INFO] [stdout] 262 | let get_item_number = max_rec_item / taglength; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_item_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:270:21 [INFO] [stdout] | [INFO] [stdout] 270 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `maxget_article_number` is never read [INFO] [stdout] --> src/controller/render.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | let mut maxget_article_number = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/copyright.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | auth: BlogAuth, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/copyright.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/copyright.rs:56:37 [INFO] [stdout] | [INFO] [stdout] 56 | pub async fn save_copyright_content(auth: BlogAuth,Json(contentInfo): Json)->Result, WebError>{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/controller/copyright.rs:66:20 [INFO] [stdout] | [INFO] [stdout] 66 | Ok(d) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/common/common.rs:237:21 [INFO] [stdout] | [INFO] [stdout] 237 | Err(e)=>{ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/middleware/auth.rs:41:40 [INFO] [stdout] | [INFO] [stdout] 41 | ... Err(e)=>Err(WebError::LoginAuthFailedError) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/middleware/auth.rs:44:33 [INFO] [stdout] | [INFO] [stdout] 44 | ... Err(e)=>Err(WebError::LoginAuthFailedError) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/middleware/auth.rs:47:25 [INFO] [stdout] | [INFO] [stdout] 47 | Err(e)=> Err(WebError::LoginAuthFailedError) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `futures::FutureExt` [INFO] [stdout] --> src/router.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use futures::FutureExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/user.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | auth: BlogAuth, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/user.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | auth: BlogAuth, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/user.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | auth: BlogAuth, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/tag.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | auth: BlogAuth, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/tag.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/tag.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | Err(e)=>{ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/tag.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | Err(e)=>{ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/tag.rs:76:22 [INFO] [stdout] | [INFO] [stdout] 76 | pub async fn del_tag(auth: BlogAuth,Json(TagInfo): Json)-> Result,WebError>{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/tag.rs:99:25 [INFO] [stdout] | [INFO] [stdout] 99 | pub async fn search_tag(auth: BlogAuth,Json(searchInfo): Json) -> Result>,WebError>{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/controller/article.rs:23:20 [INFO] [stdout] | [INFO] [stdout] 23 | Ok(r) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/article.rs:72:29 [INFO] [stdout] | [INFO] [stdout] 72 | pub async fn search_article(auth: BlogAuth, Json(searchInfo): Json) -> Result, WebError> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/article.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | Err(e)=>{ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/article.rs:119:27 [INFO] [stdout] | [INFO] [stdout] 119 | pub async fn find_article(auth: BlogAuth,Json(findInfo): Json)-> Result, WebError>{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/article.rs:136:26 [INFO] [stdout] | [INFO] [stdout] 136 | pub async fn del_article(auth: BlogAuth,Json(findInfo): Json)-> Result, WebError>{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:121:13 [INFO] [stdout] | [INFO] [stdout] 121 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `tags` is assigned to, but never used [INFO] [stdout] --> src/controller/render.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | let mut tags: Vec = Vec::new(); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_tags` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tags` is never read [INFO] [stdout] --> src/controller/render.rs:200:21 [INFO] [stdout] | [INFO] [stdout] 200 | tags = t; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `get_item_number` [INFO] [stdout] --> src/controller/render.rs:262:13 [INFO] [stdout] | [INFO] [stdout] 262 | let get_item_number = max_rec_item / taglength; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_get_item_number` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/render.rs:270:21 [INFO] [stdout] | [INFO] [stdout] 270 | Err(e) => {} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `maxget_article_number` is never read [INFO] [stdout] --> src/controller/render.rs:279:21 [INFO] [stdout] | [INFO] [stdout] 279 | let mut maxget_article_number = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/copyright.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | auth: BlogAuth, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/controller/copyright.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `auth` [INFO] [stdout] --> src/controller/copyright.rs:56:37 [INFO] [stdout] | [INFO] [stdout] 56 | pub async fn save_copyright_content(auth: BlogAuth,Json(contentInfo): Json)->Result, WebError>{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_auth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `d` [INFO] [stdout] --> src/controller/copyright.rs:66:20 [INFO] [stdout] | [INFO] [stdout] 66 | Ok(d) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_d` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/common/common.rs:237:21 [INFO] [stdout] | [INFO] [stdout] 237 | Err(e)=>{ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/middleware/auth.rs:41:40 [INFO] [stdout] | [INFO] [stdout] 41 | ... Err(e)=>Err(WebError::LoginAuthFailedError) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/middleware/auth.rs:44:33 [INFO] [stdout] | [INFO] [stdout] 44 | ... Err(e)=>Err(WebError::LoginAuthFailedError) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/middleware/auth.rs:47:25 [INFO] [stdout] | [INFO] [stdout] 47 | Err(e)=> Err(WebError::LoginAuthFailedError) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/common/common.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | let mut responsedata = match self { [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/common/common.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | let mut responsedata = match self { [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model/user/handler.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | let mut v = get_user(&phone,"").await; [INFO] [stdout] | -----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/model/user/handler.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | let mut v = save_user(&u).await; [INFO] [stdout] | -----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/middleware/cors.rs:44:24 [INFO] [stdout] | [INFO] [stdout] 44 | fn call(&mut self, mut req: Request) -> Self::Future { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ok` [INFO] [stdout] --> src/common/common.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn ok(data: T) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ok_msg` [INFO] [stdout] --> src/common/common.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn ok_msg(msg: &str) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `err_msg` [INFO] [stdout] --> src/common/common.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn err_msg(msg: &str) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Result` [INFO] [stdout] --> src/common/common.rs:102:1 [INFO] [stdout] | [INFO] [stdout] 102 | pub type Result = result::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_tag` [INFO] [stdout] --> src/model/tag/handler.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | pub async fn get_tag(id: &str) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_tag_for_name` [INFO] [stdout] --> src/model/tag/handler.rs:20:14 [INFO] [stdout] | [INFO] [stdout] 20 | pub async fn get_tag_for_name(name: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `updateUser` should have a snake case name [INFO] [stdout] --> src/controller/user.rs:61:10 [INFO] [stdout] | [INFO] [stdout] 61 | Json(updateUser): Json, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `update_user` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SecretId` should have a snake case name [INFO] [stdout] --> src/controller/user.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | pub SecretId: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `secret_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SecretKey` should have a snake case name [INFO] [stdout] --> src/controller/user.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | pub SecretKey: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newTagInfo` should have a snake case name [INFO] [stdout] --> src/controller/tag.rs:37:42 [INFO] [stdout] | [INFO] [stdout] 37 | pub async fn add_tag(auth: BlogAuth,Json(newTagInfo): Json, ) -> Result, WebError> { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `new_tag_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `TagInfo` should have a snake case name [INFO] [stdout] --> src/controller/tag.rs:76:42 [INFO] [stdout] | [INFO] [stdout] 76 | pub async fn del_tag(auth: BlogAuth,Json(TagInfo): Json)-> Result,WebError>{ [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `tag_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `searchInfo` should have a snake case name [INFO] [stdout] --> src/controller/tag.rs:99:45 [INFO] [stdout] | [INFO] [stdout] 99 | pub async fn search_tag(auth: BlogAuth,Json(searchInfo): Json) -> Result>,WebError>{ [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `search_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newArticleInfo` should have a snake case name [INFO] [stdout] --> src/controller/article.rs:9:47 [INFO] [stdout] | [INFO] [stdout] 9 | pub async fn set_article(auth: BlogAuth, Json(newArticleInfo): Json
) -> Result, WebError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_article_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newArt` should have a snake case name [INFO] [stdout] --> src/controller/article.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let mut newArt = Article::new(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `new_art` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `searchInfo` should have a snake case name [INFO] [stdout] --> src/controller/article.rs:72:50 [INFO] [stdout] | [INFO] [stdout] 72 | pub async fn search_article(auth: BlogAuth, Json(searchInfo): Json) -> Result, WebError> { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `search_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `findInfo` should have a snake case name [INFO] [stdout] --> src/controller/article.rs:119:47 [INFO] [stdout] | [INFO] [stdout] 119 | pub async fn find_article(auth: BlogAuth,Json(findInfo): Json)-> Result, WebError>{ [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `find_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `findInfo` should have a snake case name [INFO] [stdout] --> src/controller/article.rs:136:46 [INFO] [stdout] | [INFO] [stdout] 136 | pub async fn del_article(auth: BlogAuth,Json(findInfo): Json)-> Result, WebError>{ [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `find_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `contentInfo` should have a snake case name [INFO] [stdout] --> src/controller/copyright.rs:56:57 [INFO] [stdout] | [INFO] [stdout] 56 | pub async fn save_copyright_content(auth: BlogAuth,Json(contentInfo): Json)->Result, WebError>{ [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `content_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `article_to_articleListRenderItem` should have a snake case name [INFO] [stdout] --> src/common/common.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | pub fn article_to_articleListRenderItem(article: Article)-> ArticleListRenderItem{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `article_to_article_list_render_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `routeInfo` should have a snake case name [INFO] [stdout] --> src/router.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn routeInfo() -> Router { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `route_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 144 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/middleware/cors.rs:44:24 [INFO] [stdout] | [INFO] [stdout] 44 | fn call(&mut self, mut req: Request) -> Self::Future { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ok` [INFO] [stdout] --> src/common/common.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn ok(data: T) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `ok_msg` [INFO] [stdout] --> src/common/common.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn ok_msg(msg: &str) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `err_msg` [INFO] [stdout] --> src/common/common.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | pub fn err_msg(msg: &str) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `Result` [INFO] [stdout] --> src/common/common.rs:102:1 [INFO] [stdout] | [INFO] [stdout] 102 | pub type Result = result::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `save_user` [INFO] [stdout] --> src/model/user/handler.rs:20:14 [INFO] [stdout] | [INFO] [stdout] 20 | pub async fn save_user(user:&User) -> Result{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/model/user/mod.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_tag` [INFO] [stdout] --> src/model/tag/handler.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | pub async fn get_tag(id: &str) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_tag_for_name` [INFO] [stdout] --> src/model/tag/handler.rs:20:14 [INFO] [stdout] | [INFO] [stdout] 20 | pub async fn get_tag_for_name(name: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `updateUser` should have a snake case name [INFO] [stdout] --> src/controller/user.rs:61:10 [INFO] [stdout] | [INFO] [stdout] 61 | Json(updateUser): Json, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `update_user` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SecretId` should have a snake case name [INFO] [stdout] --> src/controller/user.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | pub SecretId: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `secret_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SecretKey` should have a snake case name [INFO] [stdout] --> src/controller/user.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | pub SecretKey: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `secret_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newTagInfo` should have a snake case name [INFO] [stdout] --> src/controller/tag.rs:37:42 [INFO] [stdout] | [INFO] [stdout] 37 | pub async fn add_tag(auth: BlogAuth,Json(newTagInfo): Json, ) -> Result, WebError> { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `new_tag_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `TagInfo` should have a snake case name [INFO] [stdout] --> src/controller/tag.rs:76:42 [INFO] [stdout] | [INFO] [stdout] 76 | pub async fn del_tag(auth: BlogAuth,Json(TagInfo): Json)-> Result,WebError>{ [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `tag_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `searchInfo` should have a snake case name [INFO] [stdout] --> src/controller/tag.rs:99:45 [INFO] [stdout] | [INFO] [stdout] 99 | pub async fn search_tag(auth: BlogAuth,Json(searchInfo): Json) -> Result>,WebError>{ [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `search_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newArticleInfo` should have a snake case name [INFO] [stdout] --> src/controller/article.rs:9:47 [INFO] [stdout] | [INFO] [stdout] 9 | pub async fn set_article(auth: BlogAuth, Json(newArticleInfo): Json
) -> Result, WebError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `new_article_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `newArt` should have a snake case name [INFO] [stdout] --> src/controller/article.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | let mut newArt = Article::new(); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `new_art` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `searchInfo` should have a snake case name [INFO] [stdout] --> src/controller/article.rs:72:50 [INFO] [stdout] | [INFO] [stdout] 72 | pub async fn search_article(auth: BlogAuth, Json(searchInfo): Json) -> Result, WebError> { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `search_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `findInfo` should have a snake case name [INFO] [stdout] --> src/controller/article.rs:119:47 [INFO] [stdout] | [INFO] [stdout] 119 | pub async fn find_article(auth: BlogAuth,Json(findInfo): Json)-> Result, WebError>{ [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `find_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `findInfo` should have a snake case name [INFO] [stdout] --> src/controller/article.rs:136:46 [INFO] [stdout] | [INFO] [stdout] 136 | pub async fn del_article(auth: BlogAuth,Json(findInfo): Json)-> Result, WebError>{ [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `find_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `contentInfo` should have a snake case name [INFO] [stdout] --> src/controller/copyright.rs:56:57 [INFO] [stdout] | [INFO] [stdout] 56 | pub async fn save_copyright_content(auth: BlogAuth,Json(contentInfo): Json)->Result, WebError>{ [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `content_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `article_to_articleListRenderItem` should have a snake case name [INFO] [stdout] --> src/common/common.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | pub fn article_to_articleListRenderItem(article: Article)-> ArticleListRenderItem{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `article_to_article_list_render_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `routeInfo` should have a snake case name [INFO] [stdout] --> src/router.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn routeInfo() -> Router { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `route_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 145 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 39.84s [INFO] running `Command { std: "docker" "inspect" "1b913a266330f7f5f08b7b2f2143a19776b3050655be34b5eae3d5336f9edd5c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1b913a266330f7f5f08b7b2f2143a19776b3050655be34b5eae3d5336f9edd5c", kill_on_drop: false }` [INFO] [stdout] 1b913a266330f7f5f08b7b2f2143a19776b3050655be34b5eae3d5336f9edd5c