[INFO] cloning repository https://github.com/LeonManolo/rex [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/LeonManolo/rex" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLeonManolo%2Frex", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLeonManolo%2Frex'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 24ffd58d5a0622b86a64324058895bd1e29a2af5 [INFO] checking LeonManolo/rex against try#987a165cfab916796a8315782b83ac460a651ce2 for pr-145262 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLeonManolo%2Frex" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/LeonManolo/rex [INFO] finished tweaking git repo https://github.com/LeonManolo/rex [INFO] tweaked toml for git repo https://github.com/LeonManolo/rex written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/LeonManolo/rex on toolchain 987a165cfab916796a8315782b83ac460a651ce2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/LeonManolo/rex already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] checking LeonManolo/rex against try#987a165cfab916796a8315782b83ac460a651ce2 for pr-145262 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLeonManolo%2Frex" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/LeonManolo/rex [INFO] finished tweaking git repo https://github.com/LeonManolo/rex [INFO] tweaked toml for git repo https://github.com/LeonManolo/rex written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/LeonManolo/rex on toolchain 987a165cfab916796a8315782b83ac460a651ce2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/LeonManolo/rex already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7022373761b505695a6371b0e728eabb18be25e3b23b645a68c64f996c46644e [INFO] running `Command { std: "docker" "start" "-a" "7022373761b505695a6371b0e728eabb18be25e3b23b645a68c64f996c46644e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7022373761b505695a6371b0e728eabb18be25e3b23b645a68c64f996c46644e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7022373761b505695a6371b0e728eabb18be25e3b23b645a68c64f996c46644e", kill_on_drop: false }` [INFO] [stdout] 7022373761b505695a6371b0e728eabb18be25e3b23b645a68c64f996c46644e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d9baa1fa7cf82aff0047abb33cd3ad9f49123737a20c9b188502cfeb3458c806 [INFO] running `Command { std: "docker" "start" "-a" "d9baa1fa7cf82aff0047abb33cd3ad9f49123737a20c9b188502cfeb3458c806", kill_on_drop: false }` [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking time v0.3.37 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking rex v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/http_request_decoder.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | / /// HTTP start line: [INFO] [stdout] 23 | | /// https://developer.mozilla.org/en-US/docs/Web/HTTP/Messages#anatomy_of_an_http_message [INFO] [stdout] | |_________________________________________________________________________________________________^ [INFO] [stdout] 24 | / if let Some(start_line) = utf8_request.lines().next() { [INFO] [stdout] 25 | | let start_line_parts: Vec<&str> = start_line.split_whitespace().collect(); [INFO] [stdout] 26 | | [INFO] [stdout] 27 | | if let [method, url, http_version] = start_line_parts.as_slice() { [INFO] [stdout] ... | [INFO] [stdout] 36 | | }; [INFO] [stdout] 37 | | } [INFO] [stdout] | |_________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/http_request_decoder.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | /// splits url (https://example.com/abc?param=value into https://example.com/abc and param=value) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 45 | let mut query_params = HashMap::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: `crate::http_status::HttpStatus` [INFO] [stdout] --> src/request.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::http_status::HttpStatus; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/request.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/rex_app.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `thread` and `time` [INFO] [stdout] --> src/main.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | use std::{thread, time}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/http_request_decoder.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | / /// HTTP start line: [INFO] [stdout] 23 | | /// https://developer.mozilla.org/en-US/docs/Web/HTTP/Messages#anatomy_of_an_http_message [INFO] [stdout] | |_________________________________________________________________________________________________^ [INFO] [stdout] 24 | / if let Some(start_line) = utf8_request.lines().next() { [INFO] [stdout] 25 | | let start_line_parts: Vec<&str> = start_line.split_whitespace().collect(); [INFO] [stdout] 26 | | [INFO] [stdout] 27 | | if let [method, url, http_version] = start_line_parts.as_slice() { [INFO] [stdout] ... | [INFO] [stdout] 36 | | }; [INFO] [stdout] 37 | | } [INFO] [stdout] | |_________- rustdoc does not generate documentation for expressions [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/http_request_decoder.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | /// splits url (https://example.com/abc?param=value into https://example.com/abc and param=value) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 45 | let mut query_params = HashMap::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: `crate::http_status::HttpStatus` [INFO] [stdout] --> src/request.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::http_status::HttpStatus; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> src/request.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/rex_app.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `thread` and `time` [INFO] [stdout] --> src/main.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | use std::{thread, time}; [INFO] [stdout] | ^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 74 | return response.send_text(response_text.as_str()); [INFO] [stdout] | ------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 77 | / let response_json = MyCustomJsonResponseBodyDto { [INFO] [stdout] 78 | | test_prop: "THIS IS MY CUSTOM PROP".to_string(), [INFO] [stdout] 79 | | some_number: 42, [INFO] [stdout] 80 | | }; [INFO] [stdout] | |__________^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `body` [INFO] [stdout] --> src/response.rs:99:43 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn json_from_map(&mut self, body: &HashMap>) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_body` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `headers` [INFO] [stdout] --> src/response.rs:119:35 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn set_headers(&mut self, headers: HashMap) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/main.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 74 | return response.send_text(response_text.as_str()); [INFO] [stdout] | ------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 77 | / let response_json = MyCustomJsonResponseBodyDto { [INFO] [stdout] 78 | | test_prop: "THIS IS MY CUSTOM PROP".to_string(), [INFO] [stdout] 79 | | some_number: 42, [INFO] [stdout] 80 | | }; [INFO] [stdout] | |__________^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `json_string` [INFO] [stdout] --> src/main.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | fn from_json_string(json_string: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> src/main.rs:84:31 [INFO] [stdout] | [INFO] [stdout] 84 | app.post("/courses/:id", |request, response| { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyCustomJsonRequestBodyDto` is never constructed [INFO] [stdout] --> src/main.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | struct MyCustomJsonRequestBodyDto { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Headers` is never constructed [INFO] [stdout] --> src/headers.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Headers { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Created` is never constructed [INFO] [stdout] --> src/http_status.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum HttpStatus { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] 3 | Ok = 200, [INFO] [stdout] 4 | Created = 201, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HttpStatus` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `method`, `url`, `http_version`, and `headers` are never read [INFO] [stdout] --> src/request.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Request { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 6 | pub method: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 7 | pub url: String, [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | pub http_version: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 9 | pub headers: HashMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `FromJson` is never used [INFO] [stdout] --> src/request.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub trait FromJson { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `header`, `query_param`, and `json_body` are never used [INFO] [stdout] --> src/request.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Request { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 20 | pub fn header(&self, key: String) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn query_param() {} // Todo implementieren wie "param" funktion [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 34 | [INFO] [stdout] 35 | pub fn json_body(&self) -> T { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `json_from_map`, `send_status`, and `set_headers` are never used [INFO] [stdout] --> src/response.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Response { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn json_from_map(&mut self, body: &HashMap>) {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn send_status(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn set_headers(&mut self, headers: HashMap) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `path` is never read [INFO] [stdout] --> src/rex_app.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | struct Route { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 16 | method: String, [INFO] [stdout] 17 | path: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `delete` is never used [INFO] [stdout] --> src/rex_app.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl RexApp { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn delete(&mut self, path: &str, function: RouteCallback) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `body` [INFO] [stdout] --> src/response.rs:99:43 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn json_from_map(&mut self, body: &HashMap>) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_body` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `headers` [INFO] [stdout] --> src/response.rs:119:35 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn set_headers(&mut self, headers: HashMap) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `json_string` [INFO] [stdout] --> src/main.rs:20:25 [INFO] [stdout] | [INFO] [stdout] 20 | fn from_json_string(json_string: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `request` [INFO] [stdout] --> src/main.rs:84:31 [INFO] [stdout] | [INFO] [stdout] 84 | app.post("/courses/:id", |request, response| { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyCustomJsonRequestBodyDto` is never constructed [INFO] [stdout] --> src/main.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | struct MyCustomJsonRequestBodyDto { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Headers` is never constructed [INFO] [stdout] --> src/headers.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Headers { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Created` is never constructed [INFO] [stdout] --> src/http_status.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum HttpStatus { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] 3 | Ok = 200, [INFO] [stdout] 4 | Created = 201, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HttpStatus` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `method`, `url`, `http_version`, and `headers` are never read [INFO] [stdout] --> src/request.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Request { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 6 | pub method: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 7 | pub url: String, [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | pub http_version: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 9 | pub headers: HashMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `FromJson` is never used [INFO] [stdout] --> src/request.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub trait FromJson { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `header`, `query_param`, and `json_body` are never used [INFO] [stdout] --> src/request.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Request { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 20 | pub fn header(&self, key: String) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn query_param() {} // Todo implementieren wie "param" funktion [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 34 | [INFO] [stdout] 35 | pub fn json_body(&self) -> T { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `json_from_map`, `send_status`, and `set_headers` are never used [INFO] [stdout] --> src/response.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Response { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn json_from_map(&mut self, body: &HashMap>) {} [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn send_status(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn set_headers(&mut self, headers: HashMap) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `path` is never read [INFO] [stdout] --> src/rex_app.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 15 | struct Route { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 16 | method: String, [INFO] [stdout] 17 | path: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `delete` is never used [INFO] [stdout] --> src/rex_app.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl RexApp { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn delete(&mut self, path: &str, function: RouteCallback) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.35s [INFO] running `Command { std: "docker" "inspect" "d9baa1fa7cf82aff0047abb33cd3ad9f49123737a20c9b188502cfeb3458c806", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d9baa1fa7cf82aff0047abb33cd3ad9f49123737a20c9b188502cfeb3458c806", kill_on_drop: false }` [INFO] [stdout] d9baa1fa7cf82aff0047abb33cd3ad9f49123737a20c9b188502cfeb3458c806