[INFO] cloning repository https://github.com/DJL-Foundation/projektwoche
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DJL-Foundation/projektwoche" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDJL-Foundation%2Fprojektwoche", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDJL-Foundation%2Fprojektwoche'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d703314798908eb305745950cc948a3628e41c93
[INFO] testing DJL-Foundation/projektwoche against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDJL-Foundation%2Fprojektwoche" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/DJL-Foundation/projektwoche
[INFO] finished tweaking git repo https://github.com/DJL-Foundation/projektwoche
[INFO] tweaked toml for git repo https://github.com/DJL-Foundation/projektwoche written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DJL-Foundation/projektwoche on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DJL-Foundation/projektwoche 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: resolver for the non root package will be ignored, specify resolver at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-5-tc1/source/rust/projektwoche-setup/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded signal-hook v0.3.18
[INFO] [stderr]   Downloaded fuzzy-matcher v0.3.7
[INFO] [stderr]   Downloaded windows-targets v0.53.3
[INFO] [stderr]   Downloaded newline-converter v0.3.0
[INFO] [stderr]   Downloaded os_info v3.12.0
[INFO] [stderr]   Downloaded directories v6.0.0
[INFO] [stderr]   Downloaded confy v1.0.0
[INFO] [stderr]   Downloaded clap_derive v4.5.41
[INFO] [stderr]   Downloaded clap v4.5.42
[INFO] [stderr]   Downloaded inquire v0.7.5
[INFO] [stderr]   Downloaded plist v1.7.4
[INFO] [stderr]   Downloaded clap_builder v4.5.42
[INFO] [stderr]   Downloaded quick-xml v0.38.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 85aa7d12815d5f057445a0f5d02e14fc3d0231a9e787613302cf72e90020ca85
[INFO] running `Command { std: "docker" "start" "-a" "85aa7d12815d5f057445a0f5d02e14fc3d0231a9e787613302cf72e90020ca85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "85aa7d12815d5f057445a0f5d02e14fc3d0231a9e787613302cf72e90020ca85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "85aa7d12815d5f057445a0f5d02e14fc3d0231a9e787613302cf72e90020ca85", kill_on_drop: false }`
[INFO] [stdout] 85aa7d12815d5f057445a0f5d02e14fc3d0231a9e787613302cf72e90020ca85
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 672f87152e86798289c6a126c77ed697ad8f21c265e13d7852987f88f0fdc869
[INFO] running `Command { std: "docker" "start" "-a" "672f87152e86798289c6a126c77ed697ad8f21c265e13d7852987f88f0fdc869", kill_on_drop: false }`
[INFO] [stderr] warning: resolver for the non root package will be ignored, specify resolver at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/rust/projektwoche-setup/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling anstyle-query v1.1.3
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling anstream v0.6.19
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling winnow v0.7.12
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling clap_builder v4.5.42
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling fuzzy-matcher v0.3.7
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling newline-converter v0.3.0
[INFO] [stderr]    Compiling crossterm v0.25.0
[INFO] [stderr]    Compiling directories v6.0.0
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling inquire v0.7.5
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling clap_derive v4.5.41
[INFO] [stderr]    Compiling clap v4.5.42
[INFO] [stderr]    Compiling projektwoche v0.1.0 (/opt/rustwide/workdir/rust/projektwoche)
[INFO] [stdout] warning: struct `LogMessage` is never constructed
[INFO] [stdout]   --> rust/projektwoche/src/logger.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct LogMessage {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_context`, and `with_location` are never used
[INFO] [stdout]   --> rust/projektwoche/src/logger.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl LogMessage {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 43 |   pub fn new(
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |   pub fn with_context(mut self, context: HashMap<String, String>) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |   pub fn with_location(mut self, file: &'static str, line: u32) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LogOutput` is never used
[INFO] [stdout]   --> rust/projektwoche/src/logger.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub trait LogOutput: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConsoleOutput` is never constructed
[INFO] [stdout]   --> rust/projektwoche/src/logger.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct ConsoleOutput {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `format_message` are never used
[INFO] [stdout]   --> rust/projektwoche/src/logger.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl ConsoleOutput {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 86 |   pub fn new(use_colors: bool) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |   fn format_message(&self, message: &LogMessage) -> String {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LogFilter` is never used
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub trait LogFilter: Send + Sync {
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LevelFilter` is never constructed
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct LevelFilter {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:145:10
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl LevelFilter {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 145 |   pub fn new(min_level: LogLevel) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogCollector` is never constructed
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LogCollector {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_output`, `add_filter`, `run`, `stop`, and `is_running` are never used
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl LogCollector {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 164 |   pub fn new(receiver: Receiver<LogMessage>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |   pub fn add_output(&mut self, output: Box<dyn LogOutput>) {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |   pub fn add_filter(&mut self, filter: Box<dyn LogFilter>) {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |   pub fn run(&self) {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |   pub fn stop(&self) {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |   fn is_running(&self) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Logger` is never constructed
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub struct Logger {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:223:10
[INFO] [stdout]     |
[INFO] [stdout] 222 | impl Logger {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 223 |   pub fn new(identifier: &'static str, thread_name: String, sender: Sender<LogMessage>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |   pub fn log(&self, level: LogLevel, message: String) {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |   pub fn debug<S: Into<String>>(&self, message: S) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |   pub fn info<S: Into<String>>(&self, message: S) {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |   pub fn warn<S: Into<String>>(&self, message: S) {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |   pub fn error<S: Into<String>>(&self, message: S) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |   pub fn critical<S: Into<String>>(&self, message: S) {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoggerSystem` is never constructed
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct LoggerSystem {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start_collector`, `create_logger`, and `shutdown` are never used
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:269:10
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl LoggerSystem {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 269 |   pub fn new() -> (Self, LogCollector) {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |   pub fn start_collector(self, collector: LogCollector) -> (Self, thread::JoinHandle<()>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |   pub fn create_logger(&self, identifier: &'static str, thread_name: String) -> Logger {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |   pub fn shutdown(self) {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling os_info v3.12.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling confy v1.0.0
[INFO] [stderr]    Compiling projektwoche-setup v0.1.1 (/opt/rustwide/workdir/rust/projektwoche-setup)
[INFO] [stdout] warning: methods `add_uninstall_instructions`, `add_configuration_instructions`, and `add_deconfiguration_instructions` are never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl InstructionMapping {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |   pub(crate) fn add_uninstall_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |   pub(crate) fn add_configuration_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |   pub(crate) fn add_deconfiguration_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `description`, and `logger_system` are never read
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:305:3
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub struct SoftwareBundle {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 304 |   /// Human-readable name of the bundle
[INFO] [stdout] 305 |   name: &'static str,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] 306 |   /// Description of what this bundle provides
[INFO] [stdout] 307 |   description: &'static str,
[INFO] [stdout]     |   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |   logger_system: Option<LoggerSystem>,
[INFO] [stdout]     |   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl SoftwareBundle {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 334 |   pub(crate) fn init_logger(&mut self, log_level: LogLevel) -> LogCollector {
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |   fn installer_thread(program: &Package, os: &config::machine::OS, dry_run: bool, logger: Logger) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |   fn installer(
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 432 |   fn configurator_thread(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |   fn configurator(
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 502 |   pub(crate) fn install(
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 544 |   fn uninstaller_thread(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 568 |   fn uninstaller(
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 614 |   fn deconfigurator_thread(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 638 |   fn deconfigurator(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 684 |   pub(crate) fn uninstall(
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:299:6
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl DownloadTo {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 299 |   fn new(url: &'static str, path: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:381:6
[INFO] [stdout]     |
[INFO] [stdout] 380 | impl ExtractArchive {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 381 |   fn new(archive_path: &'static str, destination: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:454:6
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl AddEnvVar {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 454 |   fn new(name: &'static str, value: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:499:6
[INFO] [stdout]     |
[INFO] [stdout] 498 | impl CreateShortcut {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 499 |   fn new(name: &'static str, target: &'static str, icon: Option<&'static str>) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:567:6
[INFO] [stdout]     |
[INFO] [stdout] 566 | impl WaitForCondition {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 567 |   fn new(check_command: &str, timeout_secs: u64) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:798:6
[INFO] [stdout]     |
[INFO] [stdout] 797 | impl CloneRepository {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 798 |   fn new(url: &'static str, path: Option<&'static str>) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:840:6
[INFO] [stdout]     |
[INFO] [stdout] 839 | impl RequestSudo {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 840 |   fn new(reason: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:875:6
[INFO] [stdout]     |
[INFO] [stdout] 874 | impl RestartService {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 875 |   fn new(service_name: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:932:6
[INFO] [stdout]     |
[INFO] [stdout] 931 | impl BackupFile {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 932 |   fn new(path: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:967:6
[INFO] [stdout]     |
[INFO] [stdout] 966 | impl EditFile {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 967 |   fn new(path: &'static str, find: &'static str, replace: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ask_text` is never used
[INFO] [stdout]   --> rust/projektwoche-setup/src/config/interactive.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn ask_text(question: &str, default: Option<&str>) -> String {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ask_choice` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn ask_choice<T: ToString + Clone>(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ask_multiple_choice` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn ask_multiple_choice<T: ToString + Clone>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ask_path` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:252:8
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub fn ask_path(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `confirm_action` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:327:8
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn confirm_action(message: &str, details: Option<&[&str]>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WizardConfig` is never constructed
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:357:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub struct WizardConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configuration_wizard` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub fn configuration_wizard() -> Option<WizardConfig> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MacOS`, `ArchBased`, `GentooBased`, and `AndroidBased` are never constructed
[INFO] [stdout]   --> rust/projektwoche-setup/src/config/machine.rs:77:3
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum OsCategory {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 77 |   MacOS,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |   ArchBased,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |   GentooBased,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout] 88 |   /// Android-based systems
[INFO] [stdout] 89 |   AndroidBased,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OsCategory` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OsSelector` is never used
[INFO] [stdout]   --> rust/projektwoche-setup/src/config/machine.rs:96:10
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub enum OsSelector {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `matches`, `from_selector`, and `from_categories` are never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/machine.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 127 | impl OsMatcher {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 148 |   pub fn matches(&self, os: &OS) -> bool {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |   pub fn from_selector(selector: OsSelector) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |   pub fn from_categories(categories: &[OsCategory]) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_uninstall_instructions`, `add_configuration_instructions`, and `add_deconfiguration_instructions` are never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl InstructionMapping {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |   pub(crate) fn add_uninstall_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |   pub(crate) fn add_configuration_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |   pub(crate) fn add_deconfiguration_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `init_logger` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl SoftwareBundle {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 334 |   pub(crate) fn init_logger(&mut self, log_level: LogLevel) -> LogCollector {
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:299:6
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl DownloadTo {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 299 |   fn new(url: &'static str, path: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:381:6
[INFO] [stdout]     |
[INFO] [stdout] 380 | impl ExtractArchive {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 381 |   fn new(archive_path: &'static str, destination: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:454:6
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl AddEnvVar {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 454 |   fn new(name: &'static str, value: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:499:6
[INFO] [stdout]     |
[INFO] [stdout] 498 | impl CreateShortcut {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 499 |   fn new(name: &'static str, target: &'static str, icon: Option<&'static str>) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:567:6
[INFO] [stdout]     |
[INFO] [stdout] 566 | impl WaitForCondition {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 567 |   fn new(check_command: &str, timeout_secs: u64) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:725:6
[INFO] [stdout]     |
[INFO] [stdout] 724 | impl InstallPackage {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 725 |   fn new(package_name: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:798:6
[INFO] [stdout]     |
[INFO] [stdout] 797 | impl CloneRepository {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 798 |   fn new(url: &'static str, path: Option<&'static str>) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:840:6
[INFO] [stdout]     |
[INFO] [stdout] 839 | impl RequestSudo {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 840 |   fn new(reason: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:875:6
[INFO] [stdout]     |
[INFO] [stdout] 874 | impl RestartService {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 875 |   fn new(service_name: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:932:6
[INFO] [stdout]     |
[INFO] [stdout] 931 | impl BackupFile {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 932 |   fn new(path: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:967:6
[INFO] [stdout]     |
[INFO] [stdout] 966 | impl EditFile {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 967 |   fn new(path: &'static str, find: &'static str, replace: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]     --> rust/projektwoche-setup/src/manager/instructions.rs:1007:3
[INFO] [stdout]      |
[INFO] [stdout] 1001 | pub enum Instructions {
[INFO] [stdout]      |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 1007 |   DownloadTo(DownloadTo),
[INFO] [stdout]      |   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1011 |   ExtractArchive(ExtractArchive),
[INFO] [stdout]      |   ^^^^^^^^^^^^^^
[INFO] [stdout] 1012 |   /// Add an environment variable
[INFO] [stdout] 1013 |   AddEnvVar(AddEnvVar),
[INFO] [stdout]      |   ^^^^^^^^^
[INFO] [stdout] 1014 |   /// Create a desktop shortcut
[INFO] [stdout] 1015 |   CreateShortcut(CreateShortcut),
[INFO] [stdout]      |   ^^^^^^^^^^^^^^
[INFO] [stdout] 1016 |   /// Wait for a condition to become true
[INFO] [stdout] 1017 |   WaitForCondition(WaitForCondition),
[INFO] [stdout]      |   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1021 |   InstallPackage(InstallPackage),
[INFO] [stdout]      |   ^^^^^^^^^^^^^^
[INFO] [stdout] 1022 |   /// Clone a Git repository
[INFO] [stdout] 1023 |   CloneRepository(CloneRepository),
[INFO] [stdout]      |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 1024 |   /// Request administrator privileges
[INFO] [stdout] 1025 |   RequestSudo(RequestSudo),
[INFO] [stdout]      |   ^^^^^^^^^^^
[INFO] [stdout] 1026 |   /// Restart a system service
[INFO] [stdout] 1027 |   RestartService(RestartService),
[INFO] [stdout]      |   ^^^^^^^^^^^^^^
[INFO] [stdout] 1028 |   /// Create a backup of a file
[INFO] [stdout] 1029 |   BackupFile(BackupFile),
[INFO] [stdout]      |   ^^^^^^^^^^
[INFO] [stdout] 1030 |   /// Edit a file using find and replace
[INFO] [stdout] 1031 |   EditFile(EditFile),
[INFO] [stdout]      |   ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Instructions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `download_and_exec_silent`, `download_and_exec_with_args`, `install_package`, and `execute` are never used
[INFO] [stdout]     --> rust/projektwoche-setup/src/manager/instructions.rs:1128:10
[INFO] [stdout]      |
[INFO] [stdout] 1095 | impl Instruction {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1128 |   pub fn download_and_exec_silent(mut self, url: &'static str) -> Instructions {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1141 |   pub fn download_and_exec_with_args(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1187 |   pub fn install_package(mut self, package_name: &'static str) -> Instructions {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1224 |   pub fn execute(&self, dry_run: bool) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]      |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `thread_id`, `context`, `file`, and `line` are never read
[INFO] [stdout]   --> rust/projektwoche-setup/src/logger.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct LogMessage {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 31 |   pub thread_id: ThreadId,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |   pub context: Option<HashMap<String, String>>,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 38 |   pub file: Option<&'static str>,
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 39 |   pub line: Option<u32>,
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_context` and `with_location` are never used
[INFO] [stdout]   --> rust/projektwoche-setup/src/logger.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl LogMessage {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |   pub fn with_context(mut self, context: HashMap<String, String>) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |   pub fn with_location(mut self, file: &'static str, line: u32) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stop` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/logger.rs:205:10
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl LogCollector {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 205 |   pub fn stop(&self) {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 55.15s
[INFO] running `Command { std: "docker" "inspect" "672f87152e86798289c6a126c77ed697ad8f21c265e13d7852987f88f0fdc869", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "672f87152e86798289c6a126c77ed697ad8f21c265e13d7852987f88f0fdc869", kill_on_drop: false }`
[INFO] [stdout] 672f87152e86798289c6a126c77ed697ad8f21c265e13d7852987f88f0fdc869
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8c092c1cc71e6635d4dbbb28c2e43b13153b550d19ede55f682a94c77e370af9
[INFO] running `Command { std: "docker" "start" "-a" "8c092c1cc71e6635d4dbbb28c2e43b13153b550d19ede55f682a94c77e370af9", kill_on_drop: false }`
[INFO] [stderr] warning: resolver for the non root package will be ignored, specify resolver at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/rust/projektwoche-setup/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr]    Compiling projektwoche v0.1.0 (/opt/rustwide/workdir/rust/projektwoche)
[INFO] [stdout] warning: methods `add_uninstall_instructions`, `add_configuration_instructions`, and `add_deconfiguration_instructions` are never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl InstructionMapping {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |   pub(crate) fn add_uninstall_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |   pub(crate) fn add_configuration_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |   pub(crate) fn add_deconfiguration_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `description`, and `logger_system` are never read
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:305:3
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub struct SoftwareBundle {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 304 |   /// Human-readable name of the bundle
[INFO] [stdout] 305 |   name: &'static str,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] 306 |   /// Description of what this bundle provides
[INFO] [stdout] 307 |   description: &'static str,
[INFO] [stdout]     |   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |   logger_system: Option<LoggerSystem>,
[INFO] [stdout]     |   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl SoftwareBundle {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 334 |   pub(crate) fn init_logger(&mut self, log_level: LogLevel) -> LogCollector {
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |   fn installer_thread(program: &Package, os: &config::machine::OS, dry_run: bool, logger: Logger) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |   fn installer(
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 432 |   fn configurator_thread(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |   fn configurator(
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 502 |   pub(crate) fn install(
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 544 |   fn uninstaller_thread(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 568 |   fn uninstaller(
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 614 |   fn deconfigurator_thread(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 638 |   fn deconfigurator(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 684 |   pub(crate) fn uninstall(
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:299:6
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl DownloadTo {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 299 |   fn new(url: &'static str, path: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:381:6
[INFO] [stdout]     |
[INFO] [stdout] 380 | impl ExtractArchive {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 381 |   fn new(archive_path: &'static str, destination: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling projektwoche-setup v0.1.1 (/opt/rustwide/workdir/rust/projektwoche-setup)
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:454:6
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl AddEnvVar {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 454 |   fn new(name: &'static str, value: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:499:6
[INFO] [stdout]     |
[INFO] [stdout] 498 | impl CreateShortcut {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 499 |   fn new(name: &'static str, target: &'static str, icon: Option<&'static str>) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:567:6
[INFO] [stdout]     |
[INFO] [stdout] 566 | impl WaitForCondition {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 567 |   fn new(check_command: &str, timeout_secs: u64) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:798:6
[INFO] [stdout]     |
[INFO] [stdout] 797 | impl CloneRepository {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 798 |   fn new(url: &'static str, path: Option<&'static str>) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:840:6
[INFO] [stdout]     |
[INFO] [stdout] 839 | impl RequestSudo {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 840 |   fn new(reason: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:875:6
[INFO] [stdout]     |
[INFO] [stdout] 874 | impl RestartService {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 875 |   fn new(service_name: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:932:6
[INFO] [stdout]     |
[INFO] [stdout] 931 | impl BackupFile {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 932 |   fn new(path: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:967:6
[INFO] [stdout]     |
[INFO] [stdout] 966 | impl EditFile {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 967 |   fn new(path: &'static str, find: &'static str, replace: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LogCollector` and `Logger`
[INFO] [stdout]  --> rust/projektwoche-setup/examples/logger_demo.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 |     ConsoleOutput, LevelFilter, LogCollector, LogLevel, Logger, LoggerSystem,
[INFO] [stdout]   |                                 ^^^^^^^^^^^^            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_uninstall_instructions`, `add_configuration_instructions`, and `add_deconfiguration_instructions` are never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl InstructionMapping {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |   pub(crate) fn add_uninstall_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |   pub(crate) fn add_configuration_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |   pub(crate) fn add_deconfiguration_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `description`, and `logger_system` are never read
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:305:3
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub struct SoftwareBundle {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 304 |   /// Human-readable name of the bundle
[INFO] [stdout] 305 |   name: &'static str,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] 306 |   /// Description of what this bundle provides
[INFO] [stdout] 307 |   description: &'static str,
[INFO] [stdout]     |   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |   logger_system: Option<LoggerSystem>,
[INFO] [stdout]     |   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl SoftwareBundle {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 334 |   pub(crate) fn init_logger(&mut self, log_level: LogLevel) -> LogCollector {
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |   fn installer_thread(program: &Package, os: &config::machine::OS, dry_run: bool, logger: Logger) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |   fn installer(
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 432 |   fn configurator_thread(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |   fn configurator(
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 502 |   pub(crate) fn install(
[INFO] [stdout]     |                 ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 544 |   fn uninstaller_thread(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 568 |   fn uninstaller(
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 614 |   fn deconfigurator_thread(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 638 |   fn deconfigurator(
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 684 |   pub(crate) fn uninstall(
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:299:6
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl DownloadTo {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 299 |   fn new(url: &'static str, path: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:381:6
[INFO] [stdout]     |
[INFO] [stdout] 380 | impl ExtractArchive {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 381 |   fn new(archive_path: &'static str, destination: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:454:6
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl AddEnvVar {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 454 |   fn new(name: &'static str, value: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:499:6
[INFO] [stdout]     |
[INFO] [stdout] 498 | impl CreateShortcut {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 499 |   fn new(name: &'static str, target: &'static str, icon: Option<&'static str>) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:567:6
[INFO] [stdout]     |
[INFO] [stdout] 566 | impl WaitForCondition {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 567 |   fn new(check_command: &str, timeout_secs: u64) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:798:6
[INFO] [stdout]     |
[INFO] [stdout] 797 | impl CloneRepository {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 798 |   fn new(url: &'static str, path: Option<&'static str>) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:840:6
[INFO] [stdout]     |
[INFO] [stdout] 839 | impl RequestSudo {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 840 |   fn new(reason: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:875:6
[INFO] [stdout]     |
[INFO] [stdout] 874 | impl RestartService {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 875 |   fn new(service_name: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:932:6
[INFO] [stdout]     |
[INFO] [stdout] 931 | impl BackupFile {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 932 |   fn new(path: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:967:6
[INFO] [stdout]     |
[INFO] [stdout] 966 | impl EditFile {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 967 |   fn new(path: &'static str, find: &'static str, replace: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogMessage` is never constructed
[INFO] [stdout]   --> rust/projektwoche/src/logger.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct LogMessage {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_context`, and `with_location` are never used
[INFO] [stdout]   --> rust/projektwoche/src/logger.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl LogMessage {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 43 |   pub fn new(
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |   pub fn with_context(mut self, context: HashMap<String, String>) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |   pub fn with_location(mut self, file: &'static str, line: u32) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LogOutput` is never used
[INFO] [stdout]   --> rust/projektwoche/src/logger.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub trait LogOutput: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConsoleOutput` is never constructed
[INFO] [stdout]   --> rust/projektwoche/src/logger.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct ConsoleOutput {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `format_message` are never used
[INFO] [stdout]   --> rust/projektwoche/src/logger.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl ConsoleOutput {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 86 |   pub fn new(use_colors: bool) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |   fn format_message(&self, message: &LogMessage) -> String {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LogFilter` is never used
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub trait LogFilter: Send + Sync {
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LevelFilter` is never constructed
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct LevelFilter {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:145:10
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl LevelFilter {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 145 |   pub fn new(min_level: LogLevel) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogCollector` is never constructed
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LogCollector {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_output`, `add_filter`, `run`, `stop`, and `is_running` are never used
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:164:10
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl LogCollector {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 164 |   pub fn new(receiver: Receiver<LogMessage>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |   pub fn add_output(&mut self, output: Box<dyn LogOutput>) {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |   pub fn add_filter(&mut self, filter: Box<dyn LogFilter>) {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |   pub fn run(&self) {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |   pub fn stop(&self) {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |   fn is_running(&self) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Logger` is never constructed
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub struct Logger {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:223:10
[INFO] [stdout]     |
[INFO] [stdout] 222 | impl Logger {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 223 |   pub fn new(identifier: &'static str, thread_name: String, sender: Sender<LogMessage>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |   pub fn log(&self, level: LogLevel, message: String) {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |   pub fn debug<S: Into<String>>(&self, message: S) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |   pub fn info<S: Into<String>>(&self, message: S) {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |   pub fn warn<S: Into<String>>(&self, message: S) {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |   pub fn error<S: Into<String>>(&self, message: S) {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |   pub fn critical<S: Into<String>>(&self, message: S) {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoggerSystem` is never constructed
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct LoggerSystem {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start_collector`, `create_logger`, and `shutdown` are never used
[INFO] [stdout]    --> rust/projektwoche/src/logger.rs:269:10
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl LoggerSystem {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 269 |   pub fn new() -> (Self, LogCollector) {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |   pub fn start_collector(self, collector: LogCollector) -> (Self, thread::JoinHandle<()>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |   pub fn create_logger(&self, identifier: &'static str, thread_name: String) -> Logger {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |   pub fn shutdown(self) {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ask_text` is never used
[INFO] [stdout]   --> rust/projektwoche-setup/src/config/interactive.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn ask_text(question: &str, default: Option<&str>) -> String {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ask_choice` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn ask_choice<T: ToString + Clone>(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ask_multiple_choice` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn ask_multiple_choice<T: ToString + Clone>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ask_path` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:252:8
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub fn ask_path(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `confirm_action` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:327:8
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn confirm_action(message: &str, details: Option<&[&str]>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WizardConfig` is never constructed
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:357:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub struct WizardConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configuration_wizard` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub fn configuration_wizard() -> Option<WizardConfig> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MacOS`, `ArchBased`, `GentooBased`, and `AndroidBased` are never constructed
[INFO] [stdout]   --> rust/projektwoche-setup/src/config/machine.rs:77:3
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum OsCategory {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 77 |   MacOS,
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |   ArchBased,
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |   GentooBased,
[INFO] [stdout]    |   ^^^^^^^^^^^
[INFO] [stdout] 88 |   /// Android-based systems
[INFO] [stdout] 89 |   AndroidBased,
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OsCategory` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OsSelector` is never used
[INFO] [stdout]   --> rust/projektwoche-setup/src/config/machine.rs:96:10
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub enum OsSelector {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `matches`, `from_selector`, and `from_categories` are never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/machine.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 127 | impl OsMatcher {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 148 |   pub fn matches(&self, os: &OS) -> bool {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |   pub fn from_selector(selector: OsSelector) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |   pub fn from_categories(categories: &[OsCategory]) -> Self {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_uninstall_instructions`, `add_configuration_instructions`, and `add_deconfiguration_instructions` are never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl InstructionMapping {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |   pub(crate) fn add_uninstall_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |   pub(crate) fn add_configuration_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |   pub(crate) fn add_deconfiguration_instructions(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `init_logger` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl SoftwareBundle {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 334 |   pub(crate) fn init_logger(&mut self, log_level: LogLevel) -> LogCollector {
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:299:6
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl DownloadTo {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 299 |   fn new(url: &'static str, path: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:381:6
[INFO] [stdout]     |
[INFO] [stdout] 380 | impl ExtractArchive {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 381 |   fn new(archive_path: &'static str, destination: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:454:6
[INFO] [stdout]     |
[INFO] [stdout] 453 | impl AddEnvVar {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 454 |   fn new(name: &'static str, value: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:499:6
[INFO] [stdout]     |
[INFO] [stdout] 498 | impl CreateShortcut {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 499 |   fn new(name: &'static str, target: &'static str, icon: Option<&'static str>) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:567:6
[INFO] [stdout]     |
[INFO] [stdout] 566 | impl WaitForCondition {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 567 |   fn new(check_command: &str, timeout_secs: u64) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:725:6
[INFO] [stdout]     |
[INFO] [stdout] 724 | impl InstallPackage {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 725 |   fn new(package_name: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:798:6
[INFO] [stdout]     |
[INFO] [stdout] 797 | impl CloneRepository {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 798 |   fn new(url: &'static str, path: Option<&'static str>) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:840:6
[INFO] [stdout]     |
[INFO] [stdout] 839 | impl RequestSudo {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 840 |   fn new(reason: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:875:6
[INFO] [stdout]     |
[INFO] [stdout] 874 | impl RestartService {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 875 |   fn new(service_name: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:932:6
[INFO] [stdout]     |
[INFO] [stdout] 931 | impl BackupFile {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 932 |   fn new(path: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:967:6
[INFO] [stdout]     |
[INFO] [stdout] 966 | impl EditFile {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 967 |   fn new(path: &'static str, find: &'static str, replace: &'static str) -> Self {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]     --> rust/projektwoche-setup/src/manager/instructions.rs:1007:3
[INFO] [stdout]      |
[INFO] [stdout] 1001 | pub enum Instructions {
[INFO] [stdout]      |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 1007 |   DownloadTo(DownloadTo),
[INFO] [stdout]      |   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1011 |   ExtractArchive(ExtractArchive),
[INFO] [stdout]      |   ^^^^^^^^^^^^^^
[INFO] [stdout] 1012 |   /// Add an environment variable
[INFO] [stdout] 1013 |   AddEnvVar(AddEnvVar),
[INFO] [stdout]      |   ^^^^^^^^^
[INFO] [stdout] 1014 |   /// Create a desktop shortcut
[INFO] [stdout] 1015 |   CreateShortcut(CreateShortcut),
[INFO] [stdout]      |   ^^^^^^^^^^^^^^
[INFO] [stdout] 1016 |   /// Wait for a condition to become true
[INFO] [stdout] 1017 |   WaitForCondition(WaitForCondition),
[INFO] [stdout]      |   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1021 |   InstallPackage(InstallPackage),
[INFO] [stdout]      |   ^^^^^^^^^^^^^^
[INFO] [stdout] 1022 |   /// Clone a Git repository
[INFO] [stdout] 1023 |   CloneRepository(CloneRepository),
[INFO] [stdout]      |   ^^^^^^^^^^^^^^^
[INFO] [stdout] 1024 |   /// Request administrator privileges
[INFO] [stdout] 1025 |   RequestSudo(RequestSudo),
[INFO] [stdout]      |   ^^^^^^^^^^^
[INFO] [stdout] 1026 |   /// Restart a system service
[INFO] [stdout] 1027 |   RestartService(RestartService),
[INFO] [stdout]      |   ^^^^^^^^^^^^^^
[INFO] [stdout] 1028 |   /// Create a backup of a file
[INFO] [stdout] 1029 |   BackupFile(BackupFile),
[INFO] [stdout]      |   ^^^^^^^^^^
[INFO] [stdout] 1030 |   /// Edit a file using find and replace
[INFO] [stdout] 1031 |   EditFile(EditFile),
[INFO] [stdout]      |   ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Instructions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `download_and_exec_silent`, `download_and_exec_with_args`, `install_package`, and `execute` are never used
[INFO] [stdout]     --> rust/projektwoche-setup/src/manager/instructions.rs:1128:10
[INFO] [stdout]      |
[INFO] [stdout] 1095 | impl Instruction {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1128 |   pub fn download_and_exec_silent(mut self, url: &'static str) -> Instructions {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1141 |   pub fn download_and_exec_with_args(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1187 |   pub fn install_package(mut self, package_name: &'static str) -> Instructions {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1224 |   pub fn execute(&self, dry_run: bool) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]      |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `thread_id`, `context`, `file`, and `line` are never read
[INFO] [stdout]   --> rust/projektwoche-setup/src/logger.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct LogMessage {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 31 |   pub thread_id: ThreadId,
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |   pub context: Option<HashMap<String, String>>,
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 38 |   pub file: Option<&'static str>,
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 39 |   pub line: Option<u32>,
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_context` and `with_location` are never used
[INFO] [stdout]   --> rust/projektwoche-setup/src/logger.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl LogMessage {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |   pub fn with_context(mut self, context: HashMap<String, String>) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |   pub fn with_location(mut self, file: &'static str, line: u32) -> Self {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stop` is never used
[INFO] [stdout]    --> rust/projektwoche-setup/src/logger.rs:205:10
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl LogCollector {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 205 |   pub fn stop(&self) {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.90s
[INFO] running `Command { std: "docker" "inspect" "8c092c1cc71e6635d4dbbb28c2e43b13153b550d19ede55f682a94c77e370af9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c092c1cc71e6635d4dbbb28c2e43b13153b550d19ede55f682a94c77e370af9", kill_on_drop: false }`
[INFO] [stdout] 8c092c1cc71e6635d4dbbb28c2e43b13153b550d19ede55f682a94c77e370af9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c5570bd024b8455ea83aa1ea6ac744d7fee6048d8bcd852baa37c97e7ceda2c6
[INFO] running `Command { std: "docker" "start" "-a" "c5570bd024b8455ea83aa1ea6ac744d7fee6048d8bcd852baa37c97e7ceda2c6", kill_on_drop: false }`
[INFO] [stderr] warning: resolver for the non root package will be ignored, specify resolver at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/rust/projektwoche-setup/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: struct `LogMessage` is never constructed
[INFO] [stderr]   --> rust/projektwoche/src/logger.rs:30:12
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct LogMessage {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `with_context`, and `with_location` are never used
[INFO] [stderr]   --> rust/projektwoche/src/logger.rs:43:10
[INFO] [stderr]    |
[INFO] [stderr] 42 | impl LogMessage {
[INFO] [stderr]    | --------------- associated items in this implementation
[INFO] [stderr] 43 |   pub fn new(
[INFO] [stderr]    |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 65 |   pub fn with_context(mut self, context: HashMap<String, String>) -> Self {
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70 |   pub fn with_location(mut self, file: &'static str, line: u32) -> Self {
[INFO] [stderr]    |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `LogOutput` is never used
[INFO] [stderr]   --> rust/projektwoche/src/logger.rs:77:11
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub trait LogOutput: Send + Sync {
[INFO] [stderr]    |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ConsoleOutput` is never constructed
[INFO] [stderr]   --> rust/projektwoche/src/logger.rs:81:12
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub struct ConsoleOutput {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `format_message` are never used
[INFO] [stderr]   --> rust/projektwoche/src/logger.rs:86:10
[INFO] [stderr]    |
[INFO] [stderr] 85 | impl ConsoleOutput {
[INFO] [stderr]    | ------------------ associated items in this implementation
[INFO] [stderr] 86 |   pub fn new(use_colors: bool) -> Self {
[INFO] [stderr]    |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 90 |   fn format_message(&self, message: &LogMessage) -> String {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `LogFilter` is never used
[INFO] [stderr]    --> rust/projektwoche/src/logger.rs:136:11
[INFO] [stderr]     |
[INFO] [stderr] 136 | pub trait LogFilter: Send + Sync {
[INFO] [stderr]     |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LevelFilter` is never constructed
[INFO] [stderr]    --> rust/projektwoche/src/logger.rs:140:12
[INFO] [stderr]     |
[INFO] [stderr] 140 | pub struct LevelFilter {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> rust/projektwoche/src/logger.rs:145:10
[INFO] [stderr]     |
[INFO] [stderr] 144 | impl LevelFilter {
[INFO] [stderr]     | ---------------- associated function in this implementation
[INFO] [stderr] 145 |   pub fn new(min_level: LogLevel) -> Self {
[INFO] [stderr]     |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LogCollector` is never constructed
[INFO] [stderr]    --> rust/projektwoche/src/logger.rs:156:12
[INFO] [stderr]     |
[INFO] [stderr] 156 | pub struct LogCollector {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `add_output`, `add_filter`, `run`, `stop`, and `is_running` are never used
[INFO] [stderr]    --> rust/projektwoche/src/logger.rs:164:10
[INFO] [stderr]     |
[INFO] [stderr] 163 | impl LogCollector {
[INFO] [stderr]     | ----------------- associated items in this implementation
[INFO] [stderr] 164 |   pub fn new(receiver: Receiver<LogMessage>) -> Self {
[INFO] [stderr]     |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 173 |   pub fn add_output(&mut self, output: Box<dyn LogOutput>) {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 177 |   pub fn add_filter(&mut self, filter: Box<dyn LogFilter>) {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 181 |   pub fn run(&self) {
[INFO] [stderr]     |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 205 |   pub fn stop(&self) {
[INFO] [stderr]     |          ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 211 |   fn is_running(&self) -> bool {
[INFO] [stderr]     |      ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Logger` is never constructed
[INFO] [stderr]    --> rust/projektwoche/src/logger.rs:216:12
[INFO] [stderr]     |
[INFO] [stderr] 216 | pub struct Logger {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> rust/projektwoche/src/logger.rs:223:10
[INFO] [stderr]     |
[INFO] [stderr] 222 | impl Logger {
[INFO] [stderr]     | ----------- associated items in this implementation
[INFO] [stderr] 223 |   pub fn new(identifier: &'static str, thread_name: String, sender: Sender<LogMessage>) -> Self {
[INFO] [stderr]     |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 231 |   pub fn log(&self, level: LogLevel, message: String) {
[INFO] [stderr]     |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 242 |   pub fn debug<S: Into<String>>(&self, message: S) {
[INFO] [stderr]     |          ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 246 |   pub fn info<S: Into<String>>(&self, message: S) {
[INFO] [stderr]     |          ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 250 |   pub fn warn<S: Into<String>>(&self, message: S) {
[INFO] [stderr]     |          ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 254 |   pub fn error<S: Into<String>>(&self, message: S) {
[INFO] [stderr]     |          ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 258 |   pub fn critical<S: Into<String>>(&self, message: S) {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LoggerSystem` is never constructed
[INFO] [stderr]    --> rust/projektwoche/src/logger.rs:264:12
[INFO] [stderr]     |
[INFO] [stderr] 264 | pub struct LoggerSystem {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `start_collector`, `create_logger`, and `shutdown` are never used
[INFO] [stderr]    --> rust/projektwoche/src/logger.rs:269:10
[INFO] [stderr]     |
[INFO] [stderr] 268 | impl LoggerSystem {
[INFO] [stderr]     | ----------------- associated items in this implementation
[INFO] [stderr] 269 |   pub fn new() -> (Self, LogCollector) {
[INFO] [stderr]     |          ^^^
[INFO] [stderr] ...
[INFO] [stderr] 281 |   pub fn start_collector(self, collector: LogCollector) -> (Self, thread::JoinHandle<()>) {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 289 |   pub fn create_logger(&self, identifier: &'static str, thread_name: String) -> Logger {
[INFO] [stderr]     |          ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 293 |   pub fn shutdown(self) {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `projektwoche` (bin "projektwoche" test) generated 14 warnings
[INFO] [stderr] warning: methods `add_uninstall_instructions`, `add_configuration_instructions`, and `add_deconfiguration_instructions` are never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/mod.rs:159:17
[INFO] [stderr]     |
[INFO] [stderr]  85 | impl InstructionMapping {
[INFO] [stderr]     | ----------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 159 |   pub(crate) fn add_uninstall_instructions(
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 179 |   pub(crate) fn add_configuration_instructions(
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 199 |   pub(crate) fn add_deconfiguration_instructions(
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name`, `description`, and `logger_system` are never read
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/mod.rs:305:3
[INFO] [stderr]     |
[INFO] [stderr] 303 | pub struct SoftwareBundle {
[INFO] [stderr]     |            -------------- fields in this struct
[INFO] [stderr] 304 |   /// Human-readable name of the bundle
[INFO] [stderr] 305 |   name: &'static str,
[INFO] [stderr]     |   ^^^^
[INFO] [stderr] 306 |   /// Description of what this bundle provides
[INFO] [stderr] 307 |   description: &'static str,
[INFO] [stderr]     |   ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 311 |   logger_system: Option<LoggerSystem>,
[INFO] [stderr]     |   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/mod.rs:334:17
[INFO] [stderr]     |
[INFO] [stderr] 314 | impl SoftwareBundle {
[INFO] [stderr]     | ------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 334 |   pub(crate) fn init_logger(&mut self, log_level: LogLevel) -> LogCollector {
[INFO] [stderr]     |                 ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 364 |   fn installer_thread(program: &Package, os: &config::machine::OS, dry_run: bool, logger: Logger) {
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 399 |   fn installer(
[INFO] [stderr]     |      ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 432 |   fn configurator_thread(
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 456 |   fn configurator(
[INFO] [stderr]     |      ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 502 |   pub(crate) fn install(
[INFO] [stderr]     |                 ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 544 |   fn uninstaller_thread(
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 568 |   fn uninstaller(
[INFO] [stderr]     |      ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 614 |   fn deconfigurator_thread(
[INFO] [stderr]     |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 638 |   fn deconfigurator(
[INFO] [stderr]     |      ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 684 |   pub(crate) fn uninstall(
[INFO] [stderr]     |                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/instructions.rs:299:6
[INFO] [stderr]     |
[INFO] [stderr] 298 | impl DownloadTo {
[INFO] [stderr]     | --------------- associated function in this implementation
[INFO] [stderr] 299 |   fn new(url: &'static str, path: &'static str) -> Self {
[INFO] [stderr]     |      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/instructions.rs:381:6
[INFO] [stderr]     |
[INFO] [stderr] 380 | impl ExtractArchive {
[INFO] [stderr]     | ------------------- associated function in this implementation
[INFO] [stderr] 381 |   fn new(archive_path: &'static str, destination: &'static str) -> Self {
[INFO] [stderr]     |      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/instructions.rs:454:6
[INFO] [stderr]     |
[INFO] [stderr] 453 | impl AddEnvVar {
[INFO] [stderr]     | -------------- associated function in this implementation
[INFO] [stderr] 454 |   fn new(name: &'static str, value: &'static str) -> Self {
[INFO] [stderr]     |      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/instructions.rs:499:6
[INFO] [stderr]     |
[INFO] [stderr] 498 | impl CreateShortcut {
[INFO] [stderr]     | ------------------- associated function in this implementation
[INFO] [stderr] 499 |   fn new(name: &'static str, target: &'static str, icon: Option<&'static str>) -> Self {
[INFO] [stderr]     |      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/instructions.rs:567:6
[INFO] [stderr]     |
[INFO] [stderr] 566 | impl WaitForCondition {
[INFO] [stderr]     | --------------------- associated function in this implementation
[INFO] [stderr] 567 |   fn new(check_command: &str, timeout_secs: u64) -> Self {
[INFO] [stderr]     |      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/instructions.rs:798:6
[INFO] [stderr]     |
[INFO] [stderr] 797 | impl CloneRepository {
[INFO] [stderr]     | -------------------- associated function in this implementation
[INFO] [stderr] 798 |   fn new(url: &'static str, path: Option<&'static str>) -> Self {
[INFO] [stderr]     |      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/instructions.rs:840:6
[INFO] [stderr]     |
[INFO] [stderr] 839 | impl RequestSudo {
[INFO] [stderr]     | ---------------- associated function in this implementation
[INFO] [stderr] 840 |   fn new(reason: &'static str) -> Self {
[INFO] [stderr]     |      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/instructions.rs:875:6
[INFO] [stderr]     |
[INFO] [stderr] 874 | impl RestartService {
[INFO] [stderr]     | ------------------- associated function in this implementation
[INFO] [stderr] 875 |   fn new(service_name: &'static str) -> Self {
[INFO] [stderr]     |      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/instructions.rs:932:6
[INFO] [stderr]     |
[INFO] [stderr] 931 | impl BackupFile {
[INFO] [stderr]     | --------------- associated function in this implementation
[INFO] [stderr] 932 |   fn new(path: &'static str) -> Self {
[INFO] [stderr]     |      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/instructions.rs:967:6
[INFO] [stderr]     |
[INFO] [stderr] 966 | impl EditFile {
[INFO] [stderr]     | ------------- associated function in this implementation
[INFO] [stderr] 967 |   fn new(path: &'static str, find: &'static str, replace: &'static str) -> Self {
[INFO] [stderr]     |      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `projektwoche-setup` (lib) generated 13 warnings
[INFO] [stderr] warning: `projektwoche-setup` (lib test) generated 13 warnings (13 duplicates)
[INFO] [stderr] warning: function `ask_text` is never used
[INFO] [stderr]   --> rust/projektwoche-setup/src/config/interactive.rs:88:8
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub fn ask_text(question: &str, default: Option<&str>) -> String {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `ask_choice` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/config/interactive.rs:134:8
[INFO] [stderr]     |
[INFO] [stderr] 134 | pub fn ask_choice<T: ToString + Clone>(
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ask_multiple_choice` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/config/interactive.rs:192:8
[INFO] [stderr]     |
[INFO] [stderr] 192 | pub fn ask_multiple_choice<T: ToString + Clone>(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ask_path` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/config/interactive.rs:252:8
[INFO] [stderr]     |
[INFO] [stderr] 252 | pub fn ask_path(
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `confirm_action` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/config/interactive.rs:327:8
[INFO] [stderr]     |
[INFO] [stderr] 327 | pub fn confirm_action(message: &str, details: Option<&[&str]>) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WizardConfig` is never constructed
[INFO] [stderr]    --> rust/projektwoche-setup/src/config/interactive.rs:357:12
[INFO] [stderr]     |
[INFO] [stderr] 357 | pub struct WizardConfig {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `configuration_wizard` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/config/interactive.rs:365:8
[INFO] [stderr]     |
[INFO] [stderr] 365 | pub fn configuration_wizard() -> Option<WizardConfig> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `MacOS`, `ArchBased`, `GentooBased`, and `AndroidBased` are never constructed
[INFO] [stderr]   --> rust/projektwoche-setup/src/config/machine.rs:77:3
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub enum OsCategory {
[INFO] [stderr]    |          ---------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 77 |   MacOS,
[INFO] [stderr]    |   ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 81 |   ArchBased,
[INFO] [stderr]    |   ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 87 |   GentooBased,
[INFO] [stderr]    |   ^^^^^^^^^^^
[INFO] [stderr] 88 |   /// Android-based systems
[INFO] [stderr] 89 |   AndroidBased,
[INFO] [stderr]    |   ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OsCategory` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: enum `OsSelector` is never used
[INFO] [stderr]   --> rust/projektwoche-setup/src/config/machine.rs:96:10
[INFO] [stderr]    |
[INFO] [stderr] 96 | pub enum OsSelector {
[INFO] [stderr]    |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `matches`, `from_selector`, and `from_categories` are never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/config/machine.rs:148:10
[INFO] [stderr]     |
[INFO] [stderr] 127 | impl OsMatcher {
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 148 |   pub fn matches(&self, os: &OS) -> bool {
[INFO] [stderr]     |          ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 157 |   pub fn from_selector(selector: OsSelector) -> Self {
[INFO] [stderr]     |          ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 190 |   pub fn from_categories(categories: &[OsCategory]) -> Self {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `add_uninstall_instructions`, `add_configuration_instructions`, and `add_deconfiguration_instructions` are never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/mod.rs:159:17
[INFO] [stderr]     |
[INFO] [stderr]  85 | impl InstructionMapping {
[INFO] [stderr]     | ----------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 159 |   pub(crate) fn add_uninstall_instructions(
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 179 |   pub(crate) fn add_configuration_instructions(
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 199 |   pub(crate) fn add_deconfiguration_instructions(
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `init_logger` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/mod.rs:334:17
[INFO] [stderr]     |
[INFO] [stderr] 314 | impl SoftwareBundle {
[INFO] [stderr]     | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 334 |   pub(crate) fn init_logger(&mut self, log_level: LogLevel) -> LogCollector {
[INFO] [stderr]     |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/manager/instructions.rs:725:6
[INFO] [stderr]     |
[INFO] [stderr] 724 | impl InstallPackage {
[INFO] [stderr]     | ------------------- associated function in this implementation
[INFO] [stderr] 725 |   fn new(package_name: &'static str) -> Self {
[INFO] [stderr]     |      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]     --> rust/projektwoche-setup/src/manager/instructions.rs:1007:3
[INFO] [stderr]      |
[INFO] [stderr] 1001 | pub enum Instructions {
[INFO] [stderr]      |          ------------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 1007 |   DownloadTo(DownloadTo),
[INFO] [stderr]      |   ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1011 |   ExtractArchive(ExtractArchive),
[INFO] [stderr]      |   ^^^^^^^^^^^^^^
[INFO] [stderr] 1012 |   /// Add an environment variable
[INFO] [stderr] 1013 |   AddEnvVar(AddEnvVar),
[INFO] [stderr]      |   ^^^^^^^^^
[INFO] [stderr] 1014 |   /// Create a desktop shortcut
[INFO] [stderr] 1015 |   CreateShortcut(CreateShortcut),
[INFO] [stderr]      |   ^^^^^^^^^^^^^^
[INFO] [stderr] 1016 |   /// Wait for a condition to become true
[INFO] [stderr] 1017 |   WaitForCondition(WaitForCondition),
[INFO] [stderr]      |   ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1021 |   InstallPackage(InstallPackage),
[INFO] [stderr]      |   ^^^^^^^^^^^^^^
[INFO] [stderr] 1022 |   /// Clone a Git repository
[INFO] [stderr] 1023 |   CloneRepository(CloneRepository),
[INFO] [stderr]      |   ^^^^^^^^^^^^^^^
[INFO] [stderr] 1024 |   /// Request administrator privileges
[INFO] [stderr] 1025 |   RequestSudo(RequestSudo),
[INFO] [stderr]      |   ^^^^^^^^^^^
[INFO] [stderr] 1026 |   /// Restart a system service
[INFO] [stderr] 1027 |   RestartService(RestartService),
[INFO] [stderr]      |   ^^^^^^^^^^^^^^
[INFO] [stderr] 1028 |   /// Create a backup of a file
[INFO] [stderr] 1029 |   BackupFile(BackupFile),
[INFO] [stderr]      |   ^^^^^^^^^^
[INFO] [stderr] 1030 |   /// Edit a file using find and replace
[INFO] [stderr] 1031 |   EditFile(EditFile),
[INFO] [stderr]      |   ^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `Instructions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `download_and_exec_silent`, `download_and_exec_with_args`, `install_package`, and `execute` are never used
[INFO] [stderr]     --> rust/projektwoche-setup/src/manager/instructions.rs:1128:10
[INFO] [stderr]      |
[INFO] [stderr] 1095 | impl Instruction {
[INFO] [stderr]      | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 1128 |   pub fn download_and_exec_silent(mut self, url: &'static str) -> Instructions {
[INFO] [stderr]      |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1141 |   pub fn download_and_exec_with_args(
[INFO] [stderr]      |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1187 |   pub fn install_package(mut self, package_name: &'static str) -> Instructions {
[INFO] [stderr]      |          ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1224 |   pub fn execute(&self, dry_run: bool) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stderr]      |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `thread_id`, `context`, `file`, and `line` are never read
[INFO] [stderr]   --> rust/projektwoche-setup/src/logger.rs:31:7
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct LogMessage {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 31 |   pub thread_id: ThreadId,
[INFO] [stderr]    |       ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |   pub context: Option<HashMap<String, String>>,
[INFO] [stderr]    |       ^^^^^^^
[INFO] [stderr] 38 |   pub file: Option<&'static str>,
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 39 |   pub line: Option<u32>,
[INFO] [stderr]    |       ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LogMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `with_context` and `with_location` are never used
[INFO] [stderr]   --> rust/projektwoche-setup/src/logger.rs:65:10
[INFO] [stderr]    |
[INFO] [stderr] 42 | impl LogMessage {
[INFO] [stderr]    | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 65 |   pub fn with_context(mut self, context: HashMap<String, String>) -> Self {
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70 |   pub fn with_location(mut self, file: &'static str, line: u32) -> Self {
[INFO] [stderr]    |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `stop` is never used
[INFO] [stderr]    --> rust/projektwoche-setup/src/logger.rs:205:10
[INFO] [stderr]     |
[INFO] [stderr] 163 | impl LogCollector {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 205 |   pub fn stop(&self) {
[INFO] [stderr]     |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `LogCollector` and `Logger`
[INFO] [stderr]  --> rust/projektwoche-setup/examples/logger_demo.rs:2:33
[INFO] [stderr]   |
[INFO] [stderr] 2 |     ConsoleOutput, LevelFilter, LogCollector, LogLevel, Logger, LoggerSystem,
[INFO] [stderr]   |                                 ^^^^^^^^^^^^            ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `projektwoche-setup` (bin "projektwoche-setup" test) generated 28 warnings (10 duplicates)
[INFO] [stderr] warning: `projektwoche-setup` (example "logger_demo") generated 1 warning (run `cargo fix --example "logger_demo" -p projektwoche-setup` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/projektwoche-35ff135ef97eecc2)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/projektwoche_setup-d01591a742df9b37)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/projektwoche_setup-586d74d235600e3b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests projektwoche_setup
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_choice (line 119) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/bundles/projektwoche.rs - bundles::projektwoche::bundle (line 57) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_text (line 84) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_path (line 244) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/config/interactive.rs - config::interactive (line 18) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_multiple_choice (line 178) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_yes_no (line 53) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/config/interactive.rs - config::interactive::WizardConfig (line 351) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/config/interactive.rs - config::interactive::confirm_action (line 316) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/lib.rs - (line 48) - compile ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/manager/instructions.rs - manager::instructions (line 41) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/manager/instructions.rs - manager::instructions::Instruction (line 1073) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/manager/instructions.rs - manager::instructions::Instruction::assert (line 1206) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/config/machine.rs - config::machine::OsMatcher (line 111) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/manager/instructions.rs - manager::instructions::Run (line 251) ... FAILED
[INFO] [stdout] test rust/projektwoche-setup/src/manager/mod.rs - manager::Package (line 218) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_choice (line 119) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `ask_choice` in this scope
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:126:14
[INFO] [stdout]     |
[INFO] [stdout] 126 | let choice = ask_choice(
[INFO] [stdout]     |              ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 119 + use projektwoche_setup::config::interactive::ask_choice;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/bundles/projektwoche.rs - bundles::projektwoche::bundle (line 57) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `projektwoche`
[INFO] [stdout]   --> rust/projektwoche-setup/src/bundles/projektwoche.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 | let bundle = projektwoche::bundle();
[INFO] [stdout]    |              ^^^^^^^^^^^^ use of unresolved module or unlinked crate `projektwoche`
[INFO] [stdout]    |
[INFO] [stdout] help: to make use of source file rust/projektwoche-setup/src/bundles/projektwoche.rs, use `mod projektwoche` in this file to declare the module
[INFO] [stdout]    |
[INFO] [stdout] 57 + mod projektwoche;
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]    |
[INFO] [stdout] 57 + use projektwoche_setup::bundles::projektwoche;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `os` in this scope
[INFO] [stdout]   --> rust/projektwoche-setup/src/bundles/projektwoche.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 | bundle.install(&os, false)?;
[INFO] [stdout]    |                 ^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_text (line 84) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `ask_text` in this scope
[INFO] [stdout]   --> rust/projektwoche-setup/src/config/interactive.rs:85:20
[INFO] [stdout]    |
[INFO] [stdout] 85 | let project_name = ask_text("Enter project name", Some("my-project"));
[INFO] [stdout]    |                    ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 84 + use projektwoche_setup::config::interactive::ask_text;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `ask_text` in this scope
[INFO] [stdout]   --> rust/projektwoche-setup/src/config/interactive.rs:86:19
[INFO] [stdout]    |
[INFO] [stdout] 86 | let description = ask_text("Enter project description", None);
[INFO] [stdout]    |                   ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 84 + use projektwoche_setup::config::interactive::ask_text;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_path (line 244) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `ask_path` in this scope
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:245:19
[INFO] [stdout]     |
[INFO] [stdout] 245 | let install_dir = ask_path(
[INFO] [stdout]     |                   ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 244 + use projektwoche_setup::config::interactive::ask_path;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/config/interactive.rs - config::interactive (line 18) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> rust/projektwoche-setup/src/config/interactive.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::config::interactive::{ask_yes_no, ask_text, ask_choice};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `projektwoche_setup::config`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_multiple_choice (line 178) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `ask_multiple_choice` in this scope
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:186:16
[INFO] [stdout]     |
[INFO] [stdout] 186 | let selected = ask_multiple_choice(
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 178 + use projektwoche_setup::config::interactive::ask_multiple_choice;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_yes_no (line 53) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `ask_yes_no` in this scope
[INFO] [stdout]   --> rust/projektwoche-setup/src/config/interactive.rs:54:25
[INFO] [stdout]    |
[INFO] [stdout] 54 | let install_dev_tools = ask_yes_no("Install development tools?", true);
[INFO] [stdout]    |                         ^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 53 + use projektwoche_setup::config::interactive::ask_yes_no;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/config/interactive.rs - config::interactive::WizardConfig (line 351) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `configuration_wizard` in this scope
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:352:23
[INFO] [stdout]     |
[INFO] [stdout] 352 | if let Some(config) = configuration_wizard() {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 351 + use projektwoche_setup::config::interactive::configuration_wizard;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/config/interactive.rs - config::interactive::confirm_action (line 316) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `confirm_action` in this scope
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/interactive.rs:323:4
[INFO] [stdout]     |
[INFO] [stdout] 323 | if confirm_action("The following will be installed:", Some(&details)) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 316 + use projektwoche_setup::config::interactive::confirm_action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/lib.rs - (line 48) stdout ----
[INFO] [stdout] error[E0624]: method `install` is private
[INFO] [stdout]    --> rust/projektwoche-setup/src/lib.rs:60:8
[INFO] [stdout]     |
[INFO] [stdout]  60 |   bundle.install(&config.machine.os, true)?;
[INFO] [stdout]     |          ^^^^^^^ private method
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/projektwoche-setup/src/manager/mod.rs:502:3
[INFO] [stdout]     |
[INFO] [stdout] 502 | /   pub(crate) fn install(
[INFO] [stdout] 503 | |     &mut self,
[INFO] [stdout] 504 | |     os: &config::machine::OS,
[INFO] [stdout] 505 | |     dry_run: bool,
[INFO] [stdout] 506 | |     logger_system: &LoggerSystem,
[INFO] [stdout] 507 | |   ) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]     | |___________________________________________________________- private method defined here
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `machine` of struct `Config` is private
[INFO] [stdout]   --> rust/projektwoche-setup/src/lib.rs:60:24
[INFO] [stdout]    |
[INFO] [stdout] 60 | bundle.install(&config.machine.os, true)?;
[INFO] [stdout]    |                        ^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: method `install` is private
[INFO] [stdout]    --> rust/projektwoche-setup/src/lib.rs:63:8
[INFO] [stdout]     |
[INFO] [stdout]  63 |   bundle.install(&config.machine.os, false)?;
[INFO] [stdout]     |          ^^^^^^^ private method
[INFO] [stdout]     |
[INFO] [stdout]    ::: rust/projektwoche-setup/src/manager/mod.rs:502:3
[INFO] [stdout]     |
[INFO] [stdout] 502 | /   pub(crate) fn install(
[INFO] [stdout] 503 | |     &mut self,
[INFO] [stdout] 504 | |     os: &config::machine::OS,
[INFO] [stdout] 505 | |     dry_run: bool,
[INFO] [stdout] 506 | |     logger_system: &LoggerSystem,
[INFO] [stdout] 507 | |   ) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]     | |___________________________________________________________- private method defined here
[INFO] [stdout] 
[INFO] [stdout] error[E0616]: field `machine` of struct `Config` is private
[INFO] [stdout]   --> rust/projektwoche-setup/src/lib.rs:63:24
[INFO] [stdout]    |
[INFO] [stdout] 63 | bundle.install(&config.machine.os, false)?;
[INFO] [stdout]    |                        ^^^^^^^ private field
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0616, E0624.
[INFO] [stdout] For more information about an error, try `rustc --explain E0616`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/manager/instructions.rs - manager::instructions (line 41) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> rust/projektwoche-setup/src/manager/instructions.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::manager::instructions::Instruction;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `projektwoche_setup::manager`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/manager/instructions.rs - manager::instructions::Instruction (line 1073) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Instruction`
[INFO] [stdout]     --> rust/projektwoche-setup/src/manager/instructions.rs:1074:19
[INFO] [stdout]      |
[INFO] [stdout] 1074 | let instruction = Instruction::new("Install Node.js")
[INFO] [stdout]      |                   ^^^^^^^^^^^ use of undeclared type `Instruction`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1073 + use projektwoche_setup::manager::instructions::Instruction;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/manager/instructions.rs - manager::instructions::Instruction::assert (line 1206) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Instruction`
[INFO] [stdout]     --> rust/projektwoche-setup/src/manager/instructions.rs:1208:13
[INFO] [stdout]      |
[INFO] [stdout] 1208 | let check = Instruction::new("Check Node.js")
[INFO] [stdout]      |             ^^^^^^^^^^^ use of undeclared type `Instruction`
[INFO] [stdout]      |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout] 1206 + use projektwoche_setup::manager::instructions::Instruction;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/config/machine.rs - config::machine::OsMatcher (line 111) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `OsMatcher`
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/machine.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 | let linux_matcher = OsMatcher::from_category(OsCategory::LinuxBased);
[INFO] [stdout]     |                     ^^^^^^^^^ use of undeclared type `OsMatcher`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 111 + use projektwoche_setup::config::machine::OsMatcher;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `OsCategory`
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/machine.rs:113:46
[INFO] [stdout]     |
[INFO] [stdout] 113 | let linux_matcher = OsMatcher::from_category(OsCategory::LinuxBased);
[INFO] [stdout]     |                                              ^^^^^^^^^^ use of undeclared type `OsCategory`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 111 + use projektwoche_setup::config::machine::OsCategory;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `OsMatcher`
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/machine.rs:116:24
[INFO] [stdout]     |
[INFO] [stdout] 116 | let specific_matcher = OsMatcher::new(&[OS::Windows, OS::MacOS]);
[INFO] [stdout]     |                        ^^^^^^^^^ use of undeclared type `OsMatcher`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 111 + use projektwoche_setup::config::machine::OsMatcher;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `OS`
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/machine.rs:116:41
[INFO] [stdout]     |
[INFO] [stdout] 116 | let specific_matcher = OsMatcher::new(&[OS::Windows, OS::MacOS]);
[INFO] [stdout]     |                                         ^^ use of undeclared type `OS`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 111 + use projektwoche_setup::config::machine::OS;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `OS`
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/machine.rs:116:54
[INFO] [stdout]     |
[INFO] [stdout] 116 | let specific_matcher = OsMatcher::new(&[OS::Windows, OS::MacOS]);
[INFO] [stdout]     |                                                      ^^ use of undeclared type `OS`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 111 + use projektwoche_setup::config::machine::OS;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `current_os` in this scope
[INFO] [stdout]    --> rust/projektwoche-setup/src/config/machine.rs:119:27
[INFO] [stdout]     |
[INFO] [stdout] 119 | if linux_matcher.matches(&current_os) {
[INFO] [stdout]     |                           ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/manager/instructions.rs - manager::instructions::Run (line 251) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Run`
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/instructions.rs:252:1
[INFO] [stdout]     |
[INFO] [stdout] 252 | Run::new("npm install -g yarn")
[INFO] [stdout]     | ^^^ use of undeclared type `Run`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 251 + use projektwoche_setup::manager::instructions::Run;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- rust/projektwoche-setup/src/manager/mod.rs - manager::Package (line 218) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Package`
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:219:20
[INFO] [stdout]     |
[INFO] [stdout] 219 | let node_package = Package::new("Node.js", "JavaScript runtime")
[INFO] [stdout]     |                    ^^^^^^^ use of undeclared type `Package`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 218 + use projektwoche_setup::Package;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `OsMatcher`
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     OsMatcher::from_category(OsCategory::Windows),
[INFO] [stdout]     |     ^^^^^^^^^ use of undeclared type `OsMatcher`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 218 + use projektwoche_setup::config::machine::OsMatcher;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `OsCategory`
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:221:30
[INFO] [stdout]     |
[INFO] [stdout] 221 |     OsMatcher::from_category(OsCategory::Windows),
[INFO] [stdout]     |                              ^^^^^^^^^^ use of undeclared type `OsCategory`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 218 + use projektwoche_setup::config::machine::OsCategory;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InstructionMapping`
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     InstructionMapping::new()
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ use of undeclared type `InstructionMapping`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 218 + use projektwoche_setup::manager::InstructionMapping;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Instruction`
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         Instruction::new("Download Node.js").cmd("curl -o node.msi https://nodejs.org/dist/latest/node-x64.msi"),
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared type `Instruction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 218 + use projektwoche_setup::manager::instructions::Instruction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Instruction`
[INFO] [stdout]    --> rust/projektwoche-setup/src/manager/mod.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |         Instruction::new("Install Node.js").cmd("msiexec /i node.msi /quiet"),
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared type `Instruction`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 218 + use projektwoche_setup::manager::instructions::Instruction;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     rust/projektwoche-setup/src/bundles/projektwoche.rs - bundles::projektwoche::bundle (line 57)
[INFO] [stdout]     rust/projektwoche-setup/src/config/interactive.rs - config::interactive (line 18)
[INFO] [stdout]     rust/projektwoche-setup/src/config/interactive.rs - config::interactive::WizardConfig (line 351)
[INFO] [stdout]     rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_choice (line 119)
[INFO] [stdout]     rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_multiple_choice (line 178)
[INFO] [stdout]     rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_path (line 244)
[INFO] [stdout]     rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_text (line 84)
[INFO] [stdout]     rust/projektwoche-setup/src/config/interactive.rs - config::interactive::ask_yes_no (line 53)
[INFO] [stdout]     rust/projektwoche-setup/src/config/interactive.rs - config::interactive::confirm_action (line 316)
[INFO] [stdout]     rust/projektwoche-setup/src/config/machine.rs - config::machine::OsMatcher (line 111)
[INFO] [stdout]     rust/projektwoche-setup/src/lib.rs - (line 48)
[INFO] [stdout]     rust/projektwoche-setup/src/manager/instructions.rs - manager::instructions (line 41)
[INFO] [stdout]     rust/projektwoche-setup/src/manager/instructions.rs - manager::instructions::Instruction (line 1073)
[INFO] [stdout]     rust/projektwoche-setup/src/manager/instructions.rs - manager::instructions::Instruction::assert (line 1206)
[INFO] [stdout]     rust/projektwoche-setup/src/manager/instructions.rs - manager::instructions::Run (line 251)
[INFO] [stdout]     rust/projektwoche-setup/src/manager/mod.rs - manager::Package (line 218)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 16 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.09s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.38s; merged doctests compilation took 0.28s
[INFO] [stderr] error: doctest failed, to rerun pass `-p projektwoche-setup --doc`
[INFO] running `Command { std: "docker" "inspect" "c5570bd024b8455ea83aa1ea6ac744d7fee6048d8bcd852baa37c97e7ceda2c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c5570bd024b8455ea83aa1ea6ac744d7fee6048d8bcd852baa37c97e7ceda2c6", kill_on_drop: false }`
[INFO] [stdout] c5570bd024b8455ea83aa1ea6ac744d7fee6048d8bcd852baa37c97e7ceda2c6
