[INFO] cloning repository https://github.com/ernoba/melisa_core
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ernoba/melisa_core" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fernoba%2Fmelisa_core", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fernoba%2Fmelisa_core'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 07e27deb37d698cee52ac27fc3700d3c2299ffac
[INFO] testing ernoba/melisa_core against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fernoba%2Fmelisa_core" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ernoba/melisa_core
[INFO] finished tweaking git repo https://github.com/ernoba/melisa_core
[INFO] tweaked toml for git repo https://github.com/ernoba/melisa_core written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ernoba/melisa_core on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ernoba/melisa_core 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f187cf0651b505947c4fe0f8d23287ea97f1649616bd1fce16e351f76cc40c3a
[INFO] running `Command { std: "docker" "start" "-a" "f187cf0651b505947c4fe0f8d23287ea97f1649616bd1fce16e351f76cc40c3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f187cf0651b505947c4fe0f8d23287ea97f1649616bd1fce16e351f76cc40c3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f187cf0651b505947c4fe0f8d23287ea97f1649616bd1fce16e351f76cc40c3a", kill_on_drop: false }`
[INFO] [stdout] f187cf0651b505947c4fe0f8d23287ea97f1649616bd1fce16e351f76cc40c3a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6f75056e9575a525b83dc32fea2492ab43479147c44e91a1d0e10ebb9b758f98
[INFO] running `Command { std: "docker" "start" "-a" "6f75056e9575a525b83dc32fea2492ab43479147c44e91a1d0e10ebb9b758f98", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling radix_trie v0.2.1
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling nix v0.27.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling fd-lock v4.0.4
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling sysinfo v0.30.13
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling rustyline-derive v0.10.0
[INFO] [stderr]    Compiling rustyline v13.0.0
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling melisa v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Hinter`
[INFO] [stdout]   --> src/cli/helper.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 | use rustyline::hint::{Hinter, HistoryHinter};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Validator`
[INFO] [stdout]   --> src/cli/helper.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 | use rustyline::validate::{Validator, MatchingBracketValidator};
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]    --> src/core/container/query.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |     use std::path::Path;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `report_orphaned_sudoers` is never used
[INFO] [stdout]    --> src/core/user/management.rs:308:10
[INFO] [stdout]     |
[INFO] [stdout] 308 | async fn report_orphaned_sudoers(existing_usernames: &[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: missing documentation for the crate
[INFO] [stdout]    --> src/main.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / #![warn(missing_docs)]
[INFO] [stdout]   2 | | #![warn(clippy::pedantic)]
[INFO] [stdout]   3 | | #![warn(clippy::unwrap_used)] // Enforce robust error handling instead of panics
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/main.rs:1:9
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/main.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod cli;
[INFO] [stdout]   | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/main.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod core;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/main.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod deployment;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/main.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod distros;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod color;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod executor;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod helper;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod loading;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod melisa_cli;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod prompt;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod wellcome;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/helper.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub hinter: HistoryHinter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/helper.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub highlighter: MatchingBracketHighlighter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/helper.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub validator: MatchingBracketValidator,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/helper.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub file_completer: FilenameCompleter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/cli/wellcome.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn display_melisa_banner() {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod container;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod metadata;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod project;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod root_check;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/core/mod.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod setup;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/core/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod user;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/container/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod lifecycle;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/container/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod network;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/container/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod query;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/core/container/mod.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod types;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/container/query.rs:235:1
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub fn path_exists(p: &str) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/guard/filter.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 |     TooLong { length: usize, limit: usize },
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/guard/filter.rs:78:30
[INFO] [stdout]    |
[INFO] [stdout] 78 |     TooLong { length: usize, limit: usize },
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/guard/filter.rs:82:22
[INFO] [stdout]    |
[INFO] [stdout] 82 |     ShellInjection { pattern: String },
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/guard/filter.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |     PathTraversal { pattern: String },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/project/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod management;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/core/project/management.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const PROJECTS_MASTER_PATH: &str = "/var/melisa/projects";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/core/project/management.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn validate_project_name(name: &str) -> Result<(), String> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/core/project/management.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn validate_server_username(username: &str) -> Result<(), String> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/core/project/management.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub async fn create_new_project(project_name: &str, audit: bool) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub async fn delete_project(master_path: &str, project_name: &str) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:199:1
[INFO] [stdout]     |
[INFO] [stdout] 199 | / pub async fn invite_users_to_project(
[INFO] [stdout] 200 | |     project_name: &str,
[INFO] [stdout] 201 | |     target_users: &[&str],
[INFO] [stdout] 202 | |     audit: bool,
[INFO] [stdout] 203 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | / pub async fn remove_users_from_project(
[INFO] [stdout] 264 | |     project_name: &str,
[INFO] [stdout] 265 | |     target_users: &[&str],
[INFO] [stdout] 266 | |     audit: bool,
[INFO] [stdout] 267 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:315:1
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub async fn pull_user_workspace(from_user: &str, project_name: &str, audit: bool) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | pub async fn update_project_for_user(project_name: &str, username: &str, audit: bool) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:425:1
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub async fn distribute_master_to_all_members(project_name: &str, audit: bool) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:454:1
[INFO] [stdout]     |
[INFO] [stdout] 454 | pub async fn list_projects(home_dir: &str) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/user/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod management;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/user/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod sudoers;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/user/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod types;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/core/user/sudoers.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const SUDOERS_DIR:         &str = "/etc/sudoers.d";
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/core/user/sudoers.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const SUDOERS_FILE_PREFIX: &str = "melisa_";
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/user/sudoers.rs:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn sudoers_file_path(username: &str) -> String {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/user/sudoers.rs:146:1
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub async fn configure_sudoers(username: &str, role: UserRole, audit: bool) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/user/sudoers.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | pub async fn check_if_admin(username: &str) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/user/sudoers.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub async fn remove_orphaned_sudoers_files(existing_usernames: &[String]) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/user/sudoers.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub async fn clean_orphaned_sudoers(existing_usernames: &[String]) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/deployment/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod dependency;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/deployment/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod deployer;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/deployment/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod manifest;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/deployment/manifest/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod parser;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/deployment/manifest/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod types;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/deployment/manifest/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod validator;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/distros/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod abstraction;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/distros/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod builtin_distros;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/distros/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod registry;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/distros/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod container;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/distros/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod host_distro;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/distros/mod.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod lxc_distro;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.43s
[INFO] running `Command { std: "docker" "inspect" "6f75056e9575a525b83dc32fea2492ab43479147c44e91a1d0e10ebb9b758f98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6f75056e9575a525b83dc32fea2492ab43479147c44e91a1d0e10ebb9b758f98", kill_on_drop: false }`
[INFO] [stdout] 6f75056e9575a525b83dc32fea2492ab43479147c44e91a1d0e10ebb9b758f98
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4ab6b57e29230a2a0e584f3e08dd02d0552a10965bb45f8e0f84f744f88ed53a
[INFO] running `Command { std: "docker" "start" "-a" "4ab6b57e29230a2a0e584f3e08dd02d0552a10965bb45f8e0f84f744f88ed53a", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling melisa v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Hinter`
[INFO] [stdout]   --> src/cli/helper.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 | use rustyline::hint::{Hinter, HistoryHinter};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Validator`
[INFO] [stdout]   --> src/cli/helper.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 | use rustyline::validate::{Validator, MatchingBracketValidator};
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]    --> src/core/container/query.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |     use std::path::Path;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/core/container/query.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/deployment/manifest/validator.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `report_orphaned_sudoers` is never used
[INFO] [stdout]    --> src/core/user/management.rs:308:10
[INFO] [stdout]     |
[INFO] [stdout] 308 | async fn report_orphaned_sudoers(existing_usernames: &[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: missing documentation for the crate
[INFO] [stdout]    --> src/main.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / #![warn(missing_docs)]
[INFO] [stdout]   2 | | #![warn(clippy::pedantic)]
[INFO] [stdout]   3 | | #![warn(clippy::unwrap_used)] // Enforce robust error handling instead of panics
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/main.rs:1:9
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/main.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod cli;
[INFO] [stdout]   | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/main.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod core;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/main.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod deployment;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/main.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod distros;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod color;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod executor;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod helper;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod loading;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod melisa_cli;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod prompt;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod wellcome;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/helper.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub hinter: HistoryHinter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/helper.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub highlighter: MatchingBracketHighlighter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/helper.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub validator: MatchingBracketValidator,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/helper.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub file_completer: FilenameCompleter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/cli/wellcome.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn display_melisa_banner() {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod container;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod metadata;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod project;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod root_check;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/core/mod.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod setup;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/core/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod user;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/container/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod lifecycle;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/container/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod network;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/container/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod query;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/core/container/mod.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod types;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/container/query.rs:235:1
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub fn path_exists(p: &str) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/guard/filter.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 |     TooLong { length: usize, limit: usize },
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/guard/filter.rs:78:30
[INFO] [stdout]    |
[INFO] [stdout] 78 |     TooLong { length: usize, limit: usize },
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/guard/filter.rs:82:22
[INFO] [stdout]    |
[INFO] [stdout] 82 |     ShellInjection { pattern: String },
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/guard/filter.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |     PathTraversal { pattern: String },
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/project/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod management;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/core/project/management.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const PROJECTS_MASTER_PATH: &str = "/var/melisa/projects";
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/core/project/management.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn validate_project_name(name: &str) -> Result<(), String> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/core/project/management.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn validate_server_username(username: &str) -> Result<(), String> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/core/project/management.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub async fn create_new_project(project_name: &str, audit: bool) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub async fn delete_project(master_path: &str, project_name: &str) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:199:1
[INFO] [stdout]     |
[INFO] [stdout] 199 | / pub async fn invite_users_to_project(
[INFO] [stdout] 200 | |     project_name: &str,
[INFO] [stdout] 201 | |     target_users: &[&str],
[INFO] [stdout] 202 | |     audit: bool,
[INFO] [stdout] 203 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | / pub async fn remove_users_from_project(
[INFO] [stdout] 264 | |     project_name: &str,
[INFO] [stdout] 265 | |     target_users: &[&str],
[INFO] [stdout] 266 | |     audit: bool,
[INFO] [stdout] 267 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:315:1
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub async fn pull_user_workspace(from_user: &str, project_name: &str, audit: bool) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:372:1
[INFO] [stdout]     |
[INFO] [stdout] 372 | pub async fn update_project_for_user(project_name: &str, username: &str, audit: bool) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:425:1
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub async fn distribute_master_to_all_members(project_name: &str, audit: bool) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/project/management.rs:454:1
[INFO] [stdout]     |
[INFO] [stdout] 454 | pub async fn list_projects(home_dir: &str) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/user/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod management;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/user/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod sudoers;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/core/user/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod types;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/core/user/sudoers.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const SUDOERS_DIR:         &str = "/etc/sudoers.d";
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/core/user/sudoers.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const SUDOERS_FILE_PREFIX: &str = "melisa_";
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/user/sudoers.rs:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn sudoers_file_path(username: &str) -> String {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/user/sudoers.rs:146:1
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub async fn configure_sudoers(username: &str, role: UserRole, audit: bool) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/user/sudoers.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | pub async fn check_if_admin(username: &str) -> bool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/user/sudoers.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub async fn remove_orphaned_sudoers_files(existing_usernames: &[String]) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/core/user/sudoers.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub async fn clean_orphaned_sudoers(existing_usernames: &[String]) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/deployment/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod dependency;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/deployment/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod deployer;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/deployment/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod manifest;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/deployment/manifest/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod parser;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/deployment/manifest/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod types;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/deployment/manifest/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod validator;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/distros/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod abstraction;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/distros/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod builtin_distros;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/distros/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod registry;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/distros/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod container;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/distros/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod host_distro;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/distros/mod.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod lxc_distro;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 10.38s
[INFO] running `Command { std: "docker" "inspect" "4ab6b57e29230a2a0e584f3e08dd02d0552a10965bb45f8e0f84f744f88ed53a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4ab6b57e29230a2a0e584f3e08dd02d0552a10965bb45f8e0f84f744f88ed53a", kill_on_drop: false }`
[INFO] [stdout] 4ab6b57e29230a2a0e584f3e08dd02d0552a10965bb45f8e0f84f744f88ed53a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] eebd36147ef141c7f25b85dec1a330c34f8d6886b78eec83c545e11c122c40fd
[INFO] running `Command { std: "docker" "start" "-a" "eebd36147ef141c7f25b85dec1a330c34f8d6886b78eec83c545e11c122c40fd", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Hinter`
[INFO] [stderr]   --> src/cli/helper.rs:18:23
[INFO] [stderr]    |
[INFO] [stderr] 18 | use rustyline::hint::{Hinter, HistoryHinter};
[INFO] [stderr]    |                       ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Validator`
[INFO] [stderr]   --> src/cli/helper.rs:19:27
[INFO] [stderr]    |
[INFO] [stderr] 19 | use rustyline::validate::{Validator, MatchingBracketValidator};
[INFO] [stderr]    |                           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::Path`
[INFO] [stderr]    --> src/core/container/query.rs:153:9
[INFO] [stderr]     |
[INFO] [stderr] 153 |     use std::path::Path;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/core/container/query.rs:245:9
[INFO] [stderr]     |
[INFO] [stderr] 245 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]   --> src/deployment/manifest/validator.rs:84:9
[INFO] [stderr]    |
[INFO] [stderr] 84 |     use super::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `report_orphaned_sudoers` is never used
[INFO] [stderr]    --> src/core/user/management.rs:308:10
[INFO] [stderr]     |
[INFO] [stderr] 308 | async fn report_orphaned_sudoers(existing_usernames: &[String]) {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for the crate
[INFO] [stderr]    --> src/main.rs:1:1
[INFO] [stderr]     |
[INFO] [stderr]   1 | / #![warn(missing_docs)]
[INFO] [stderr]   2 | | #![warn(clippy::pedantic)]
[INFO] [stderr]   3 | | #![warn(clippy::unwrap_used)] // Enforce robust error handling instead of panics
[INFO] [stderr] ...   |
[INFO] [stderr] 145 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> src/main.rs:1:9
[INFO] [stderr]     |
[INFO] [stderr]   1 | #![warn(missing_docs)]
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/main.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub mod cli;
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/main.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub mod core;
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/main.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub mod deployment;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/main.rs:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub mod distros;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/cli/mod.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub mod color;
[INFO] [stderr]   | ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/cli/mod.rs:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub mod executor;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/cli/mod.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub mod helper;
[INFO] [stderr]   | ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/cli/mod.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub mod loading;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/cli/mod.rs:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub mod melisa_cli;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/cli/mod.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub mod prompt;
[INFO] [stderr]    | ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/cli/mod.rs:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub mod wellcome;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/cli/helper.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub hinter: HistoryHinter,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/cli/helper.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub highlighter: MatchingBracketHighlighter,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/cli/helper.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub validator: MatchingBracketValidator,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/cli/helper.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub file_completer: FilenameCompleter,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]  --> src/cli/wellcome.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn display_melisa_banner() {
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/core/mod.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub mod container;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/core/mod.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub mod metadata;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/core/mod.rs:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub mod project;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/core/mod.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub mod root_check;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/core/mod.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub mod setup;
[INFO] [stderr]    | ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/core/mod.rs:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub mod user;
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/core/container/mod.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub mod lifecycle;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/core/container/mod.rs:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub mod network;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/core/container/mod.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub mod query;
[INFO] [stderr]   | ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/core/container/mod.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub mod types;
[INFO] [stderr]    | ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/core/container/query.rs:235:1
[INFO] [stderr]     |
[INFO] [stderr] 235 | pub fn path_exists(p: &str) -> bool {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/core/guard/filter.rs:78:15
[INFO] [stderr]    |
[INFO] [stderr] 78 |     TooLong { length: usize, limit: usize },
[INFO] [stderr]    |               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/core/guard/filter.rs:78:30
[INFO] [stderr]    |
[INFO] [stderr] 78 |     TooLong { length: usize, limit: usize },
[INFO] [stderr]    |                              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/core/guard/filter.rs:82:22
[INFO] [stderr]    |
[INFO] [stderr] 82 |     ShellInjection { pattern: String },
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/core/guard/filter.rs:84:21
[INFO] [stderr]    |
[INFO] [stderr] 84 |     PathTraversal { pattern: String },
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/core/project/mod.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub mod management;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a constant
[INFO] [stderr]   --> src/core/project/management.rs:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub const PROJECTS_MASTER_PATH: &str = "/var/melisa/projects";
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]   --> src/core/project/management.rs:26:1
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub fn validate_project_name(name: &str) -> Result<(), String> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]   --> src/core/project/management.rs:53:1
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub fn validate_server_username(username: &str) -> Result<(), String> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]   --> src/core/project/management.rs:71:1
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub async fn create_new_project(project_name: &str, audit: bool) {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/core/project/management.rs:139:1
[INFO] [stderr]     |
[INFO] [stderr] 139 | pub async fn delete_project(master_path: &str, project_name: &str) {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/core/project/management.rs:199:1
[INFO] [stderr]     |
[INFO] [stderr] 199 | / pub async fn invite_users_to_project(
[INFO] [stderr] 200 | |     project_name: &str,
[INFO] [stderr] 201 | |     target_users: &[&str],
[INFO] [stderr] 202 | |     audit: bool,
[INFO] [stderr] 203 | | ) {
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/core/project/management.rs:263:1
[INFO] [stderr]     |
[INFO] [stderr] 263 | / pub async fn remove_users_from_project(
[INFO] [stderr] 264 | |     project_name: &str,
[INFO] [stderr] 265 | |     target_users: &[&str],
[INFO] [stderr] 266 | |     audit: bool,
[INFO] [stderr] 267 | | ) {
[INFO] [stderr]     | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/core/project/management.rs:315:1
[INFO] [stderr]     |
[INFO] [stderr] 315 | pub async fn pull_user_workspace(from_user: &str, project_name: &str, audit: bool) -> bool {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/core/project/management.rs:372:1
[INFO] [stderr]     |
[INFO] [stderr] 372 | pub async fn update_project_for_user(project_name: &str, username: &str, audit: bool) {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/core/project/management.rs:425:1
[INFO] [stderr]     |
[INFO] [stderr] 425 | pub async fn distribute_master_to_all_members(project_name: &str, audit: bool) {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/core/project/management.rs:454:1
[INFO] [stderr]     |
[INFO] [stderr] 454 | pub async fn list_projects(home_dir: &str) {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/core/user/mod.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub mod management;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/core/user/mod.rs:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub mod sudoers;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/core/user/mod.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub mod types;
[INFO] [stderr]   | ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a constant
[INFO] [stderr]  --> src/core/user/sudoers.rs:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub const SUDOERS_DIR:         &str = "/etc/sudoers.d";
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a constant
[INFO] [stderr]  --> src/core/user/sudoers.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const SUDOERS_FILE_PREFIX: &str = "melisa_";
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/core/user/sudoers.rs:104:1
[INFO] [stderr]     |
[INFO] [stderr] 104 | pub fn sudoers_file_path(username: &str) -> String {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/core/user/sudoers.rs:146:1
[INFO] [stderr]     |
[INFO] [stderr] 146 | pub async fn configure_sudoers(username: &str, role: UserRole, audit: bool) {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/core/user/sudoers.rs:242:1
[INFO] [stderr]     |
[INFO] [stderr] 242 | pub async fn check_if_admin(username: &str) -> bool {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/core/user/sudoers.rs:267:1
[INFO] [stderr]     |
[INFO] [stderr] 267 | pub async fn remove_orphaned_sudoers_files(existing_usernames: &[String]) {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]    --> src/core/user/sudoers.rs:304:1
[INFO] [stderr]     |
[INFO] [stderr] 304 | pub async fn clean_orphaned_sudoers(existing_usernames: &[String]) {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/deployment/mod.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub mod dependency;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/deployment/mod.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub mod deployer;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/deployment/mod.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub mod manifest;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/deployment/manifest/mod.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub mod parser;
[INFO] [stderr]   | ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/deployment/manifest/mod.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub mod types;
[INFO] [stderr]   | ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/deployment/manifest/mod.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub mod validator;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/distros/mod.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub mod abstraction;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/distros/mod.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub mod builtin_distros;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/distros/mod.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub mod registry;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/distros/mod.rs:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub mod container;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/distros/mod.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub mod host_distro;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/distros/mod.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub mod lxc_distro;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `melisa` (bin "melisa" test) generated 72 warnings (run `cargo fix --bin "melisa" -p melisa --tests` to apply 5 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/melisa-66290a30dff87cdf)
[INFO] [stdout] 
[INFO] [stdout] running 215 tests
[INFO] [stdout] test cli::color::tests::test_color_constants_are_distinct ... ok
[INFO] [stdout] test cli::color::tests::test_color_constants_are_valid_ansi_sequences ... ok
[INFO] [stdout] test cli::executor::tests::test_arbitrary_command_is_not_melisa ... ok
[INFO] [stdout] test cli::color::tests::test_reset_constant_is_correct_ansi_reset ... ok
[INFO] [stdout] test cli::executor::tests::test_cd_token_is_first_class_command ... ok
[INFO] [stdout] test cli::executor::tests::test_parse_command_audit_flag_in_middle_is_stripped ... ok
[INFO] [stdout] test cli::executor::tests::test_exit_token_is_first_class_command ... ok
[INFO] [stdout] test cli::executor::tests::test_parse_command_empty_input_produces_empty_tokens ... ok
[INFO] [stdout] test cli::executor::tests::test_parse_command_no_audit_flag_returns_false ... ok
[INFO] [stdout] test cli::executor::tests::test_require_arg_returns_err_when_index_out_of_bounds ... ok
[INFO] [stdout] test cli::executor::tests::test_parse_command_with_audit_flag_sets_true_and_strips_flag ... ok
[INFO] [stdout] test core::container::lifecycle::tests::test_audit_mode_flag_is_boolean ... ok
[INFO] [stdout] test cli::executor::tests::test_parse_command_preserves_argument_order ... ok
[INFO] [stdout] test cli::executor::tests::test_parse_command_whitespace_only_produces_empty_tokens ... ok
[INFO] [stdout] test core::container::lifecycle::tests::test_get_pkg_manager_for_distro_alpine ... ok
[INFO] [stdout] test core::container::lifecycle::tests::test_get_pkg_manager_for_distro_arch ... ok
[INFO] [stdout] test core::container::lifecycle::tests::test_get_pkg_manager_for_distro_ubuntu ... ok
[INFO] [stdout] test core::container::lifecycle::tests::test_get_pkg_update_cmd_apk ... ok
[INFO] [stdout] test core::container::lifecycle::tests::test_get_pkg_update_cmd_apt ... ok
[INFO] [stdout] test core::container::lifecycle::tests::test_get_pkg_update_cmd_unknown_falls_back_to_true ... ok
[INFO] [stdout] test cli::executor::tests::test_require_arg_returns_value_when_present ... ok
[INFO] [stdout] test core::container::lifecycle::tests::test_slug_split_extracts_distro_release_arch ... ok
[INFO] [stdout] test core::container::network::tests::test_bind_mount_entry_format_is_correct ... ok
[INFO] [stdout] test core::container::lifecycle::tests::test_get_pkg_manager_for_distro_fedora ... ok
[INFO] [stdout] test cli::loading::tests::test_execute_with_spinner_handles_option_result ... ok
[INFO] [stdout] test core::container::lifecycle::tests::test_metadata_content_format ... ok
[INFO] [stdout] test core::container::network::tests::test_bind_entry_removal_logic ... ok
[INFO] [stdout] test core::container::network::tests::test_network_stanza_contains_required_lxc_keys ... ok
[INFO] [stdout] test core::container::network::tests::test_dns_content_is_valid_resolv_conf ... ok
[INFO] [stdout] test core::container::network::tests::test_lxcbr0_path_is_correct ... ok
[INFO] [stdout] test core::container::network::tests::test_no_shell_interpolation_in_dns_content ... ok
[INFO] [stdout] test core::container::query::tests::test_empty_command_args_are_rejected ... ok
[INFO] [stdout] test core::container::query::tests::test_ip_extraction_filters_loopback ... ok
[INFO] [stdout] test core::container::query::tests::test_ip_extraction_from_lxc_info_output ... ok
[INFO] [stdout] test core::container::query::tests::test_running_state_detection_requires_running_substring ... ok
[INFO] [stdout] test core::container::query::tests::test_upload_extract_cmd_format ... ok
[INFO] [stdout] test core::container::query::tests::test_upload_uses_stdin_tar_stream ... ok
[INFO] [stdout] test core::container::types::tests::test_container_status_display_running ... ok
[INFO] [stdout] test core::container::types::tests::test_container_status_display_stopped ... ok
[INFO] [stdout] test core::container::types::tests::test_container_status_display_unknown ... ok
[INFO] [stdout] test core::container::types::tests::test_container_status_equality ... ok
[INFO] [stdout] test core::container::types::tests::test_distro_metadata_fields_are_accessible ... ok
[INFO] [stdout] test core::container::types::tests::test_lxc_base_path_constant_is_absolute ... ok
[INFO] [stdout] test core::container::types::tests::test_lxc_path_alias_matches_base_path ... ok
[INFO] [stdout] test core::guard::filter::tests::test_allow_cd_single_level_up ... ok
[INFO] [stdout] test core::guard::filter::tests::test_allow_cd_with_absolute_path ... ok
[INFO] [stdout] test core::guard::filter::tests::test_allow_container_name_with_hyphen ... ok
[INFO] [stdout] test core::guard::filter::tests::test_allow_empty_input ... ok
[INFO] [stdout] test core::guard::filter::tests::test_allow_send_passthrough_with_logical_and ... ok
[INFO] [stdout] test core::guard::filter::tests::test_allow_send_passthrough_with_pipe ... ok
[INFO] [stdout] test core::guard::filter::tests::test_allow_standard_melisa_command ... ok
[INFO] [stdout] test core::guard::filter::tests::test_allow_whitespace_only_input ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_backtick_substitution_injection ... ok
[INFO] [stdout] test core::guard::filter::tests::test_allow_input_at_exact_max_length ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_cd_with_deep_path_traversal ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_double_ampersand_injection ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_carriage_return_injection ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_input_exceeding_max_length ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_logical_or_injection ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_newline_injection ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_null_byte_at_end_of_input ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_null_byte_in_command ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_output_redirection_injection ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_pipe_injection ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_posix_path_traversal_in_upload ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_reason_display_shell_injection_includes_pattern ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_reason_display_path_traversal_includes_pattern ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_reason_display_too_long_is_informative ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_reason_too_long_carries_correct_lengths ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_semicolon_separator_injection ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_send_passthrough_with_path_traversal ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_subshell_substitution_injection ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_url_encoded_path_traversal ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_variable_expansion_injection ... ok
[INFO] [stdout] test core::container::network::tests::test_orbstack_override_content_clears_condition ... ok
[INFO] [stdout] test core::guard::filter::tests::test_block_windows_path_traversal_in_upload ... ok
[INFO] [stdout] test core::metadata::tests::test_inspect_metadata_returns_not_found_for_missing_container ... ok
[INFO] [stdout] test core::metadata::tests::test_melisa_version_constant_is_semver_like ... ok
[INFO] [stdout] test core::metadata::tests::test_temp_path_has_tmp_suffix ... ok
[INFO] [stdout] test core::metadata::tests::test_metadata_content_has_required_fields ... ok
[INFO] [stdout] test core::metadata::tests::test_metadata_file_path_is_inside_rootfs ... ok
[INFO] [stdout] test core::metadata::tests::test_temp_path_differs_from_final_path ... ok
[INFO] [stdout] test core::project::management::tests::test_projects_master_path_is_absolute ... ok
[INFO] [stdout] test core::project::management::tests::test_validate_project_name_allows_valid ... ok
[INFO] [stdout] test core::project::management::tests::test_validate_project_name_rejects_path_traversal ... ok
[INFO] [stdout] test core::project::management::tests::test_validate_project_name_rejects_spaces ... ok
[INFO] [stdout] test core::project::management::tests::test_validate_project_name_rejects_empty ... ok
[INFO] [stdout] test core::project::management::tests::test_validate_project_name_rejects_too_long ... ok
[INFO] [stdout] test core::project::management::tests::test_validate_server_username_rejects_path_traversal ... ok
[INFO] [stdout] test core::project::management::tests::test_validate_server_username_rejects_shell_metachar ... ok
[INFO] [stdout] test core::project::management::tests::test_validate_server_username_allows_valid ... ok
[INFO] [stdout] test core::project::management::tests::test_validate_server_username_rejects_leading_digit ... ok
[INFO] [stdout] test core::root_check::tests::test_admin_check_allows_root_user ... ok
[INFO] [stdout] test core::root_check::tests::test_admin_check_uses_sudo_user_not_uid ... ok
[INFO] [stdout] test core::root_check::tests::test_effective_uid_nonzero_means_non_root ... ok
[INFO] [stdout] test core::root_check::tests::test_effective_uid_zero_means_root ... ok
[INFO] [stdout] test core::root_check::tests::test_get_melisa_user_falls_back_gracefully ... ok
[INFO] [stdout] test core::root_check::tests::test_admin_check_returns_bool_without_panic ... ok
[INFO] [stdout] test core::root_check::tests::test_sudoers_path_format_matches_convention ... ok
[INFO] [stdout] test core::setup::tests::test_backup_path_has_melisa_bak_suffix ... ok
[INFO] [stdout] test core::setup::tests::test_projects_master_path_is_set ... ok
[INFO] [stdout] test core::setup::tests::test_quota_rule_format_is_valid ... ok
[INFO] [stdout] test core::user::management::tests::test_home_directory_path_construction ... ok
[INFO] [stdout] test core::user::management::tests::test_melisa_shell_path_constant_is_correct ... ok
[INFO] [stdout] test core::user::management::tests::test_role_selection_defaults_to_regular_for_unknown_input ... ok
[INFO] [stdout] test core::user::management::tests::test_role_selection_one_maps_to_admin ... ok
[INFO] [stdout] test core::user::management::tests::test_username_extraction_from_sudoers_filename ... ok
[INFO] [stdout] test core::user::sudoers::tests::test_build_sudoers_rule_admin_has_all_four_markers ... ok
[INFO] [stdout] test core::user::sudoers::tests::test_all_commands_have_wildcard_suffix ... ok
[INFO] [stdout] test core::user::sudoers::tests::test_build_sudoers_rule_admin_includes_admin_marker ... ok
[INFO] [stdout] test core::user::sudoers::tests::test_build_sudoers_rule_regular_excludes_user_management ... ok
[INFO] [stdout] test core::user::sudoers::tests::test_build_sudoers_rule_regular_user_contains_lxc_commands ... ok
[INFO] [stdout] test core::user::sudoers::tests::test_build_sudoers_rule_rejects_username_with_slash ... ok
[INFO] [stdout] test core::user::sudoers::tests::test_no_colon_number_patterns_in_commands ... ok
[INFO] [stdout] test core::user::sudoers::tests::test_sudoers_file_path_format ... ok
[INFO] [stdout] test core::user::sudoers::tests::test_multiline_format_valid_continuation ... ok
[INFO] [stdout] test core::user::types::tests::test_user_role_clone ... ok
[INFO] [stdout] test core::user::sudoers::tests::test_build_sudoers_rule_rejects_invalid_username ... ok
[INFO] [stdout] test core::user::types::tests::test_user_role_display_admin ... ok
[INFO] [stdout] test core::user::types::tests::test_user_role_display_regular ... ok
[INFO] [stdout] test core::user::types::tests::test_user_role_equality ... ok
[INFO] [stdout] test deployment::dependency::tests::test_build_system_install_cmd_apt_with_packages_produces_install_command ... ok
[INFO] [stdout] test deployment::dependency::tests::test_build_system_install_cmd_apk_uses_add_subcommand ... ok
[INFO] [stdout] test deployment::dependency::tests::test_build_system_install_cmd_dnf_uses_install_y ... ok
[INFO] [stdout] test deployment::dependency::tests::test_build_system_install_cmd_pacman_uses_noconfirm_flag ... ok
[INFO] [stdout] test deployment::dependency::tests::test_build_system_install_cmd_returns_none_when_package_list_is_empty ... ok
[INFO] [stdout] test deployment::dependency::tests::test_build_system_install_cmd_unknown_pm_returns_none ... ok
[INFO] [stdout] test deployment::dependency::tests::test_build_system_install_cmd_yum_uses_install_y ... ok
[INFO] [stdout] test deployment::dependency::tests::test_build_update_cmd_apk_produces_apk_update ... ok
[INFO] [stdout] test deployment::dependency::tests::test_build_update_cmd_apt_produces_apt_get_update ... ok
[INFO] [stdout] test deployment::dependency::tests::test_build_update_cmd_pacman_produces_sy_noconfirm ... ok
[INFO] [stdout] test deployment::dependency::tests::test_build_update_cmd_dnf_produces_check_update ... ok
[INFO] [stdout] test deployment::dependency::tests::test_build_update_cmd_unknown_pm_falls_back_to_apt_get ... ok
[INFO] [stdout] test deployment::dependency::tests::test_build_update_cmd_yum_produces_check_update ... ok
[INFO] [stdout] test deployment::dependency::tests::test_has_lang_deps_returns_false_when_all_lang_lists_are_empty ... ok
[INFO] [stdout] test deployment::dependency::tests::test_has_lang_deps_returns_true_when_composer_is_filled ... ok
[INFO] [stdout] test deployment::dependency::tests::test_has_lang_deps_returns_true_when_npm_is_filled ... ok
[INFO] [stdout] test deployment::dependency::tests::test_has_lang_deps_returns_true_when_gem_is_filled ... ok
[INFO] [stdout] test deployment::deployer::tests::test_build_env_inject_cmd_contains_key_and_value ... ok
[INFO] [stdout] test deployment::dependency::tests::test_has_lang_deps_returns_true_when_cargo_is_filled ... ok
[INFO] [stdout] test deployment::dependency::tests::test_has_lang_deps_returns_true_when_pip_is_filled ... ok
[INFO] [stdout] test deployment::deployer::tests::test_build_env_inject_cmd_removes_existing_entry_before_appending ... ok
[INFO] [stdout] test deployment::deployer::tests::test_build_health_check_retry_plan_applies_defaults_when_fields_are_none ... ok
[INFO] [stdout] test deployment::deployer::tests::test_build_health_check_retry_plan_uses_explicit_values ... ok
[INFO] [stdout] test deployment::deployer::tests::test_build_env_inject_cmd_handles_database_url_with_special_chars ... ok
[INFO] [stdout] test deployment::deployer::tests::test_format_ports_summary_empty_returns_none_label ... ok
[INFO] [stdout] test deployment::deployer::tests::test_format_ports_summary_multiple_ports_are_comma_separated ... ok
[INFO] [stdout] test deployment::deployer::tests::test_format_ports_summary_single_port ... ok
[INFO] [stdout] test deployment::deployer::tests::test_format_volumes_summary_multiple_volumes ... ok
[INFO] [stdout] test cli::loading::tests::test_execute_with_spinner_returns_operation_result_in_audit_mode ... ok
[INFO] [stdout] test deployment::deployer::tests::test_format_volumes_summary_empty_returns_none_label ... ok
[INFO] [stdout] test cli::loading::tests::test_execute_with_spinner_returns_operation_result_with_spinner ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_load_mel_file_returns_not_found_for_missing_path ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_load_mel_file_services_parsed_correctly ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_load_mel_file_health_section_is_optional ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_load_mel_file_empty_dependencies_is_valid ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_validate_manifest_bad_port_format_returns_invalid_error ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_validate_manifest_bad_volume_format_returns_invalid_error ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_validate_manifest_blank_project_name_returns_invalid_error ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_validate_manifest_empty_project_name_returns_invalid_error ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_load_mel_file_returns_toml_parse_error_for_invalid_syntax ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_validate_manifest_valid_ports_pass ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_validate_manifest_empty_distro_returns_invalid_error ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_validate_manifest_valid_volumes_pass ... ok
[INFO] [stdout] test deployment::manifest::types::tests::test_default_auto_start_is_true ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_load_mel_file_parses_minimal_manifest_successfully ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_validate_manifest_valid_manifest_passes ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_load_mel_file_lifecycle_hook_order_is_preserved ... ok
[INFO] [stdout] test deployment::manifest::parser::tests::test_load_mel_file_parses_full_manifest_successfully ... ok
[INFO] [stdout] test deployment::manifest::types::tests::test_dependency_section_default_all_fields_are_empty ... ok
[INFO] [stdout] test deployment::manifest::types::tests::test_effective_name_handles_multiple_spaces ... ok
[INFO] [stdout] test deployment::manifest::types::tests::test_effective_name_slugifies_project_name_when_container_name_is_absent ... ok
[INFO] [stdout] test deployment::manifest::types::tests::test_lifecycle_section_default_all_hooks_are_empty ... ok
[INFO] [stdout] test deployment::manifest::types::tests::test_port_section_default_expose_is_empty ... ok
[INFO] [stdout] test deployment::manifest::types::tests::test_volume_section_default_mounts_is_empty ... ok
[INFO] [stdout] test distros::container::tests::test_alpine_pkg_manager ... ok
[INFO] [stdout] test distros::container::tests::test_arch_pkg_manager ... ok
[INFO] [stdout] test distros::container::tests::test_pkg_update_cmd_apk ... ok
[INFO] [stdout] test distros::container::tests::test_fedora_pkg_manager ... ok
[INFO] [stdout] test distros::container::tests::test_pkg_update_cmd_unknown_fallback ... ok
[INFO] [stdout] test distros::container::tests::test_ubuntu_pkg_manager ... ok
[INFO] [stdout] test distros::container::tests::test_pkg_update_cmd_apt ... ok
[INFO] [stdout] test distros::host_distro::orbstack_tests::test_classify_distro_detects_orbstack ... ok
[INFO] [stdout] test distros::host_distro::orbstack_tests::test_orbstack_config_values ... ok
[INFO] [stdout] test distros::host_distro::tests::test_classify_distro_alpine_maps_to_alpine ... ok
[INFO] [stdout] test distros::host_distro::tests::test_classify_distro_arch_maps_to_arch_family ... ok
[INFO] [stdout] test distros::host_distro::tests::test_classify_distro_centos_maps_to_fedora_family ... ok
[INFO] [stdout] test distros::host_distro::tests::test_classify_distro_debian_maps_to_debian_family ... ok
[INFO] [stdout] test distros::host_distro::tests::test_classify_distro_fedora_maps_to_fedora_family ... ok
[INFO] [stdout] test distros::host_distro::tests::test_classify_distro_opensuse_maps_to_suse ... ok
[INFO] [stdout] test distros::host_distro::tests::test_classify_distro_ubuntu_maps_to_debian_family ... ok
[INFO] [stdout] test distros::host_distro::tests::test_classify_distro_unknown_returns_unknown ... ok
[INFO] [stdout] test distros::host_distro::tests::test_firewall_kind_equality ... ok
[INFO] [stdout] test deployment::manifest::types::tests::test_effective_name_preserves_lowercase_project_name ... ok
[INFO] [stdout] test deployment::manifest::types::tests::test_effective_name_uses_explicit_container_name_when_set ... ok
[INFO] [stdout] test deployment::manifest::validator::tests::test_manifest_distro_validation ... ok
[INFO] [stdout] test distros::host_distro::tests::test_get_distro_config_arch_uses_pacman_and_iptables ... ok
[INFO] [stdout] test distros::host_distro::tests::test_get_distro_config_debian_uses_apt_get ... ok
[INFO] [stdout] test distros::host_distro::tests::test_get_distro_config_fedora_uses_dnf_and_firewalld ... ok
[INFO] [stdout] test distros::lxc_distro::tests::test_cache_permission_is_not_world_writable ... ok
[INFO] [stdout] test distros::lxc_distro::tests::test_cache_ttl_constant_is_one_hour ... ok
[INFO] [stdout] test distros::lxc_distro::tests::test_lock_stale_threshold_is_sixty_seconds ... ok
[INFO] [stdout] test distros::lxc_distro::tests::test_parse_distro_list_extracts_valid_entries ... ok
[INFO] [stdout] test distros::lxc_distro::tests::test_parse_distro_list_skips_lines_with_fewer_than_three_columns ... ok
[INFO] [stdout] test distros::registry::tests::test_registry_fallback_for_unknown ... ok
[INFO] [stdout] test distros::registry::tests::test_registry_finds_container_distros ... ok
[INFO] [stdout] test distros::lxc_distro::tests::test_parse_distro_list_builds_correct_slug_format ... ok
[INFO] [stdout] test distros::registry::tests::test_registry_finds_debian_family ... ok
[INFO] [stdout] test tests::test_allowed_env_vars_includes_required_vars ... ok
[INFO] [stdout] test tests::test_allowed_env_vars_does_not_include_dangerous_or_conflicting_vars ... ok
[INFO] [stdout] test distros::lxc_distro::tests::test_parse_distro_list_returns_empty_for_blank_input ... ok
[INFO] [stdout] test distros::registry::tests::test_registry_finds_fedora_family ... ok
[INFO] [stdout] test distros::lxc_distro::tests::test_parse_distro_list_skips_header_lines ... ok
[INFO] [stderr] sudo: unable to resolve host eebd36147ef1: Temporary failure in name resolution
[INFO] [stderr] usage: sudo -h | -K | -k | -V
[INFO] [stderr] usage: sudo -v [-ABkNnS] [-g group] [-h host] [-p prompt] [-u user]
[INFO] [stderr] usage: sudo -l [-ABkNnS] [-g group] [-h host] [-p prompt] [-U user]
[INFO] [stderr]             [-u user] [command [arg ...]]
[INFO] [stderr] usage: sudo [-ABbEHkNnPS] [-r role] [-t type] [-C num] [-D directory]
[INFO] [stderr]             [-g group] [-h host] [-p prompt] [-R directory] [-T timeout]
[INFO] [stderr]             [-u user] [VAR=value] [-i | -s] [command [arg ...]]
[INFO] [stderr] usage: sudo -e [-ABkNnS] [-r role] [-t type] [-C num] [-D directory]
[INFO] [stderr]             [-g group] [-h host] [-p prompt] [-R directory] [-T timeout]
[INFO] [stderr]             [-u user] file ...
[INFO] [stdout] test core::container::lifecycle::tests::test_run_sudo_does_not_panic_with_empty_args ... ok
[INFO] [stdout] test distros::host_distro::tests::test_get_distro_config_all_variants_have_non_empty_lxc_packages ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- distros::host_distro::tests::test_get_distro_config_all_variants_have_non_empty_lxc_packages stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'distros::host_distro::tests::test_get_distro_config_all_variants_have_non_empty_lxc_packages' (224) panicked at src/distros/host_distro.rs:98:14:
[INFO] [stdout] Unknown distro should always be available
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x583cb75f4c2a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x583cb75f4c2a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x583cb75f4c2a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x583cb75f4c2a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x583cb760b67a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x583cb760b67a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x583cb75f98a2 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x583cb75f98a2 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x583cb75d273f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x583cb75d273f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x583cb75ec599 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x583cb7466a6c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x583cb7466a6c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x583cb75ec812 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x583cb75ec812 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x583cb75d27f8 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x583cb75c9f99 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x583cb75d350d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x583cb760be3c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x583cb760bb34 - core[35159d6ffb30e017]::panicking::panic_display::<&str>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x583cb760bb34 - core[35159d6ffb30e017]::option::expect_failed
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/option.rs:2260:5
[INFO] [stdout]   21:     0x583cb72f4a1f - <core[35159d6ffb30e017]::option::Option<melisa[134442f5912127]::distros::abstraction::DistroConfig>>::expect
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/option.rs:971:21
[INFO] [stdout]   22:     0x583cb72fa5f9 - melisa[134442f5912127]::distros::host_distro::get_distro_config::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/distros/host_distro.rs:98:14
[INFO] [stdout]   23:     0x583cb72e4f40 - <core[35159d6ffb30e017]::option::Option<melisa[134442f5912127]::distros::abstraction::DistroConfig>>::unwrap_or_else::<melisa[134442f5912127]::distros::host_distro::get_distro_config::{closure#0}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/option.rs:1067:21
[INFO] [stdout]   24:     0x583cb72fbcad - melisa[134442f5912127]::distros::host_distro::get_distro_config
[INFO] [stdout]                                at /opt/rustwide/workdir/src/distros/host_distro.rs:95:34
[INFO] [stdout]   25:     0x583cb72d822f - melisa[134442f5912127]::distros::host_distro::tests::test_get_distro_config_all_variants_have_non_empty_lxc_packages
[INFO] [stdout]                                at /opt/rustwide/workdir/src/distros/host_distro.rs:257:26
[INFO] [stdout]   26:     0x583cb72d66a7 - melisa[134442f5912127]::distros::host_distro::tests::test_get_distro_config_all_variants_have_non_empty_lxc_packages::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/distros/host_distro.rs:252:73
[INFO] [stdout]   27:     0x583cb72b1d16 - <melisa[134442f5912127]::distros::host_distro::tests::test_get_distro_config_all_variants_have_non_empty_lxc_packages::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x583cb7459d4b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29:     0x583cb7459d4b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   30:     0x583cb746753b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   31:     0x583cb746753b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   32:     0x583cb746753b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   33:     0x583cb746753b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   34:     0x583cb746753b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   35:     0x583cb746753b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   36:     0x583cb746753b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   37:     0x583cb7461f14 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   38:     0x583cb7461f14 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   39:     0x583cb746a142 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   40:     0x583cb746a142 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   41:     0x583cb746a142 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   42:     0x583cb746a142 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   43:     0x583cb746a142 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   44:     0x583cb746a142 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   45:     0x583cb746a142 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x583cb75f3eaf - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   47:     0x583cb75f3eaf - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   48:     0x7b33ad0f4aa4 - <unknown>
[INFO] [stdout]   49:     0x7b33ad181a64 - clone
[INFO] [stdout]   50:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     distros::host_distro::tests::test_get_distro_config_all_variants_have_non_empty_lxc_packages
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 214 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin melisa`
[INFO] running `Command { std: "docker" "inspect" "eebd36147ef141c7f25b85dec1a330c34f8d6886b78eec83c545e11c122c40fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eebd36147ef141c7f25b85dec1a330c34f8d6886b78eec83c545e11c122c40fd", kill_on_drop: false }`
[INFO] [stdout] eebd36147ef141c7f25b85dec1a330c34f8d6886b78eec83c545e11c122c40fd
