[INFO] fetching crate smtpd 0.1.0... [INFO] testing smtpd-0.1.0 against beta-2025-10-28 for beta-1.92-2 [INFO] extracting crate smtpd 0.1.0 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate smtpd 0.1.0 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate smtpd 0.1.0 [INFO] tweaked toml for crates.io crate smtpd 0.1.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate smtpd 0.1.0 on toolchain beta-2025-10-28 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate smtpd 0.1.0 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" "+beta-2025-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b10f2c3125249f6027713c692141d3fc4b406e8aca6e7353ed0e5414dba91fe3 [INFO] running `Command { std: "docker" "start" "-a" "b10f2c3125249f6027713c692141d3fc4b406e8aca6e7353ed0e5414dba91fe3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b10f2c3125249f6027713c692141d3fc4b406e8aca6e7353ed0e5414dba91fe3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b10f2c3125249f6027713c692141d3fc4b406e8aca6e7353ed0e5414dba91fe3", kill_on_drop: false }` [INFO] [stdout] b10f2c3125249f6027713c692141d3fc4b406e8aca6e7353ed0e5414dba91fe3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0cde16f07548ce4a67d0120024c78d9d66fb4b9f0e403f9e1134377609be9831 [INFO] running `Command { std: "docker" "start" "-a" "0cde16f07548ce4a67d0120024c78d9d66fb4b9f0e403f9e1134377609be9831", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling unicode-normalization v0.1.24 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling unicode-bidi v0.3.18 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling idna v0.4.0 [INFO] [stderr] Compiling resolv-conf v0.7.5 [INFO] [stderr] Compiling hostname v0.4.1 [INFO] [stderr] Compiling regex-automata v0.4.11 [INFO] [stderr] Compiling regex v1.11.3 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling enum-as-inner v0.6.1 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.3 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling trust-dns-proto v0.23.2 [INFO] [stderr] Compiling trust-dns-resolver v0.23.2 [INFO] [stderr] Compiling smtpd v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 54.59s [INFO] running `Command { std: "docker" "inspect" "0cde16f07548ce4a67d0120024c78d9d66fb4b9f0e403f9e1134377609be9831", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0cde16f07548ce4a67d0120024c78d9d66fb4b9f0e403f9e1134377609be9831", kill_on_drop: false }` [INFO] [stdout] 0cde16f07548ce4a67d0120024c78d9d66fb4b9f0e403f9e1134377609be9831 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bd5b9f1e0ff816f0dabe26732ed6a6274dc42ffc3557ed993cf8f4e0a3e4a7e6 [INFO] running `Command { std: "docker" "start" "-a" "bd5b9f1e0ff816f0dabe26732ed6a6274dc42ffc3557ed993cf8f4e0a3e4a7e6", kill_on_drop: false }` [INFO] [stderr] Compiling smtpd v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.45s [INFO] running `Command { std: "docker" "inspect" "bd5b9f1e0ff816f0dabe26732ed6a6274dc42ffc3557ed993cf8f4e0a3e4a7e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bd5b9f1e0ff816f0dabe26732ed6a6274dc42ffc3557ed993cf8f4e0a3e4a7e6", kill_on_drop: false }` [INFO] [stdout] bd5b9f1e0ff816f0dabe26732ed6a6274dc42ffc3557ed993cf8f4e0a3e4a7e6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-10-28" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ec87372718d2a8299832a2f17526c08ec358862108491ee8479c8257e49d13bc [INFO] running `Command { std: "docker" "start" "-a" "ec87372718d2a8299832a2f17526c08ec358862108491ee8479c8257e49d13bc", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/smtpd-82d2b554c7e0a9c4) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests smtpd [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test src/core/auth.rs - core::auth::AuthData (line 61) ... FAILED [INFO] [stdout] test src/core/tls.rs - core::tls::TlsConfig (line 24) ... FAILED [INFO] [stdout] test src/core/handler.rs - core::handler::SmtpHandler (line 97) ... FAILED [INFO] [stdout] test src/core.rs - core::SmtpConfig (line 26) ... FAILED [INFO] [stdout] test src/core/handler.rs - core::handler::SmtpHandlerFactory (line 150) ... FAILED [INFO] [stdout] test src/lib.rs - SmtpServer (line 166) ... FAILED [INFO] [stdout] test src/core/tls.rs - core::tls::TlsMode (line 154) ... FAILED [INFO] [stdout] test src/core/tls.rs - core::tls::TlsConfig (line 40) ... FAILED [INFO] [stdout] test src/lib.rs - (line 16) - compile ... ok [INFO] [stdout] test src/lib.rs - get_auth_data (line 748) - compile ... FAILED [INFO] [stdout] test src/lib.rs - handle_mail_cmd (line 938) - compile ... FAILED [INFO] [stdout] test src/core/handler.rs - core::handler::SmtpHandler (line 16) ... FAILED [INFO] [stdout] test src/lib.rs - start_server (line 129) ... FAILED [INFO] [stdout] test src/core/error.rs - core::error::Error (line 32) ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/core/auth.rs - core::auth::AuthData (line 61) stdout ---- [INFO] [stdout] error[E0195]: lifetime parameters or bounds on method `handle_auth` do not match the trait declaration [INFO] [stdout] --> src/core/auth.rs:68:19 [INFO] [stdout] | [INFO] [stdout] 10 | fn handle_auth( [INFO] [stdout] | ^ lifetimes do not match method in trait [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0195`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/core/tls.rs - core::tls::TlsConfig (line 24) stdout ---- [INFO] [stdout] error[E0432]: unresolved import `smtpd::Identity` [INFO] [stdout] --> src/core/tls.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 5 | use smtpd::{Identity, TlsConfig, TlsMode, SmtpConfig, AuthMach}; [INFO] [stdout] | ^^^^^^^^ no `Identity` in the root [INFO] [stdout] | [INFO] [stdout] note: found an item that was configured out [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:113:21 [INFO] [stdout] | [INFO] [stdout] 112 | #[cfg(feature = "native-tls-backend")] [INFO] [stdout] | ------------------------------ the item is gated behind the `native-tls-backend` feature [INFO] [stdout] 113 | pub use native_tls::Identity; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `NativeTls` found for enum `TlsConfig` in the current scope [INFO] [stdout] --> src/core/tls.rs:29:29 [INFO] [stdout] | [INFO] [stdout] 8 | let tls_config = TlsConfig::NativeTls(identity); [INFO] [stdout] | ^^^^^^^^^ variant or associated item not found in `TlsConfig` [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `Required` found for enum `TlsMode` in the current scope [INFO] [stdout] --> src/core/tls.rs:34:24 [INFO] [stdout] | [INFO] [stdout] 13 | tls_mode: TlsMode::Required(tls_config), [INFO] [stdout] | ^^^^^^^^ variant or associated item not found in `TlsMode` [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0432, E0599. [INFO] [stdout] For more information about an error, try `rustc --explain E0432`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/core/handler.rs - core::handler::SmtpHandler (line 97) stdout ---- [INFO] [stdout] error[E0277]: the trait bound `MyHandler: SmtpHandler` is not satisfied [INFO] [stdout] --> src/core/handler.rs:106:20 [INFO] [stdout] | [INFO] [stdout] 12 | type Handler = MyHandler; [INFO] [stdout] | ^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `SmtpHandler` is not implemented for `MyHandler` [INFO] [stdout] --> src/core/handler.rs:101:1 [INFO] [stdout] | [INFO] [stdout] 7 | struct MyHandler { user_id: Option } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] note: required by a bound in `smtpd::SmtpHandlerFactory::Handler` [INFO] [stdout] --> /opt/rustwide/workdir/src/core/handler.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | type Handler: SmtpHandler + 'static; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `SmtpHandlerFactory::Handler` [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/core.rs - core::SmtpConfig (line 26) stdout ---- [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `MyHandlerFactory` in this scope [INFO] [stdout] --> src/core.rs:39:19 [INFO] [stdout] | [INFO] [stdout] 15 | let factory = MyHandlerFactory {}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0422`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/core/handler.rs - core::handler::SmtpHandlerFactory (line 150) stdout ---- [INFO] [stdout] error[E0277]: the trait bound `MyHandler: SmtpHandler` is not satisfied [INFO] [stdout] --> src/core/handler.rs:158:20 [INFO] [stdout] | [INFO] [stdout] 11 | type Handler = MyHandler; [INFO] [stdout] | ^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `SmtpHandler` is not implemented for `MyHandler` [INFO] [stdout] --> src/core/handler.rs:154:1 [INFO] [stdout] | [INFO] [stdout] 7 | struct MyHandler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] note: required by a bound in `smtpd::SmtpHandlerFactory::Handler` [INFO] [stdout] --> /opt/rustwide/workdir/src/core/handler.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 165 | type Handler: SmtpHandler + 'static; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `SmtpHandlerFactory::Handler` [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - SmtpServer (line 166) stdout ---- [INFO] [stdout] error[E0432]: unresolved import `smtpd::MyHandlerFactory` [INFO] [stdout] --> src/lib.rs:168:51 [INFO] [stdout] | [INFO] [stdout] 5 | use smtpd::{SmtpServer, start_server, SmtpConfig, MyHandlerFactory}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | no `MyHandlerFactory` in the root [INFO] [stdout] | help: a similar name exists in the module: `SmtpHandlerFactory` [INFO] [stdout] [INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks [INFO] [stdout] --> src/lib.rs:177:31 [INFO] [stdout] | [INFO] [stdout] 4 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_166_0() { [INFO] [stdout] | ----------------------------------- this is not `async` [INFO] [stdout] ... [INFO] [stdout] 14 | start_server(config, factory).await?; [INFO] [stdout] | ^^^^^ only allowed inside `async` functions and blocks [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0432, E0728. [INFO] [stdout] For more information about an error, try `rustc --explain E0432`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/core/tls.rs - core::tls::TlsMode (line 154) stdout ---- [INFO] [stdout] error[E0432]: unresolved import `smtpd::Identity` [INFO] [stdout] --> src/core/tls.rs:156:33 [INFO] [stdout] | [INFO] [stdout] 5 | use smtpd::{TlsMode, TlsConfig, Identity}; [INFO] [stdout] | ^^^^^^^^ no `Identity` in the root [INFO] [stdout] | [INFO] [stdout] note: found an item that was configured out [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:113:21 [INFO] [stdout] | [INFO] [stdout] 112 | #[cfg(feature = "native-tls-backend")] [INFO] [stdout] | ------------------------------ the item is gated behind the `native-tls-backend` feature [INFO] [stdout] 113 | pub use native_tls::Identity; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `NativeTls` found for enum `TlsConfig` in the current scope [INFO] [stdout] --> src/core/tls.rs:159:29 [INFO] [stdout] | [INFO] [stdout] 8 | let tls_config = TlsConfig::NativeTls(Identity::default()); [INFO] [stdout] | ^^^^^^^^^ variant or associated item not found in `TlsConfig` [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `Explicit` found for enum `TlsMode` in the current scope [INFO] [stdout] --> src/core/tls.rs:160:21 [INFO] [stdout] | [INFO] [stdout] 9 | let mode = TlsMode::Explicit(tls_config); [INFO] [stdout] | ^^^^^^^^ variant or associated item not found in `TlsMode` [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `Required` found for enum `TlsMode` in the current scope [INFO] [stdout] --> src/core/tls.rs:163:30 [INFO] [stdout] | [INFO] [stdout] 12 | let required_mode = TlsMode::Required(tls_config.clone()); [INFO] [stdout] | ^^^^^^^^ variant or associated item not found in `TlsMode` [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `Implicit` found for enum `TlsMode` in the current scope [INFO] [stdout] --> src/core/tls.rs:166:30 [INFO] [stdout] | [INFO] [stdout] 15 | let implicit_mode = TlsMode::Implicit(tls_config); [INFO] [stdout] | ^^^^^^^^ variant or associated item not found in `TlsMode` [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0432, E0599. [INFO] [stdout] For more information about an error, try `rustc --explain E0432`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/core/tls.rs - core::tls::TlsConfig (line 40) stdout ---- [INFO] [stdout] error[E0432]: unresolved import `smtpd::ServerConfig` [INFO] [stdout] --> src/core/tls.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 5 | use smtpd::{ServerConfig, TlsConfig, TlsMode, SmtpConfig, AuthMach}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | no `ServerConfig` in the root [INFO] [stdout] | help: a similar name exists in the module: `ResolverConfig` [INFO] [stdout] | [INFO] [stdout] note: found an item that was configured out [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:116:17 [INFO] [stdout] | [INFO] [stdout] 115 | #[cfg(feature = "rustls-backend")] [INFO] [stdout] | -------------------------- the item is gated behind the `rustls-backend` feature [INFO] [stdout] 116 | pub use rustls::ServerConfig; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `Rustls` found for enum `TlsConfig` in the current scope [INFO] [stdout] --> src/core/tls.rs:45:29 [INFO] [stdout] | [INFO] [stdout] 8 | let tls_config = TlsConfig::Rustls(rustls_config); [INFO] [stdout] | ^^^^^^ variant or associated item not found in `TlsConfig` [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `Required` found for enum `TlsMode` in the current scope [INFO] [stdout] --> src/core/tls.rs:50:24 [INFO] [stdout] | [INFO] [stdout] 13 | tls_mode: TlsMode::Required(tls_config), [INFO] [stdout] | ^^^^^^^^ variant or associated item not found in `TlsMode` [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0432, E0599. [INFO] [stdout] For more information about an error, try `rustc --explain E0432`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - get_auth_data (line 748) stdout ---- [INFO] [stdout] error[E0603]: struct `StreamController` is private [INFO] [stdout] --> src/lib.rs:750:22 [INFO] [stdout] | [INFO] [stdout] 5 | use smtpd::{Session, StreamController, get_auth_data}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ private struct [INFO] [stdout] | [INFO] [stdout] note: the struct `StreamController` is defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | use crate::core::stream::StreamController; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error[E0603]: function `get_auth_data` is private [INFO] [stdout] --> src/lib.rs:750:40 [INFO] [stdout] | [INFO] [stdout] 5 | use smtpd::{Session, StreamController, get_auth_data}; [INFO] [stdout] | ^^^^^^^^^^^^^ private function [INFO] [stdout] | [INFO] [stdout] note: the function `get_auth_data` is defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:756:1 [INFO] [stdout] | [INFO] [stdout] 756 | / async fn get_auth_data<'a>( [INFO] [stdout] 757 | | args: Option<&str>, [INFO] [stdout] 758 | | session: &mut Session<'a>, [INFO] [stdout] 759 | | controller: &mut StreamController, [INFO] [stdout] 760 | | ) -> std::result::Result { [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in an async function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/lib.rs:753:73 [INFO] [stdout] | [INFO] [stdout] 6 | async fn example(mut session: Session<'_>, mut controller: StreamController) { [INFO] [stdout] | ______________________________________________________________________________- [INFO] [stdout] 7 | | let args = Some("PLAIN dGVzdAB0ZXN0ADEyMw=="); // example base64-encoded credentials [INFO] [stdout] 8 | | let auth_data = get_auth_data(args, &mut session, &mut controller).await?; [INFO] [stdout] | | ^ cannot use the `?` operator in an async function that returns `()` [INFO] [stdout] 9 | | // `auth_data` now contains username and password [INFO] [stdout] 10 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0603. [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - handle_mail_cmd (line 938) stdout ---- [INFO] [stdout] error[E0603]: struct `StreamController` is private [INFO] [stdout] --> src/lib.rs:940:22 [INFO] [stdout] | [INFO] [stdout] 5 | use smtpd::{Session, StreamController, handle_mail_cmd}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ private struct [INFO] [stdout] | [INFO] [stdout] note: the struct `StreamController` is defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 105 | use crate::core::stream::StreamController; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error[E0603]: function `handle_mail_cmd` is private [INFO] [stdout] --> src/lib.rs:940:40 [INFO] [stdout] | [INFO] [stdout] 5 | use smtpd::{Session, StreamController, handle_mail_cmd}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ private function [INFO] [stdout] | [INFO] [stdout] note: the function `handle_mail_cmd` is defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:945:1 [INFO] [stdout] | [INFO] [stdout] 945 | / async fn handle_mail_cmd<'a>( [INFO] [stdout] 946 | | args: Option<&str>, [INFO] [stdout] 947 | | session: &mut Session<'a>, [INFO] [stdout] 948 | | controller: &mut StreamController, [INFO] [stdout] 949 | | ) -> std::result::Result<(), CoreError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in an async function that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> src/lib.rs:943:59 [INFO] [stdout] | [INFO] [stdout] 6 | async fn example(mut session: Session<'_>, mut controller: StreamController) { [INFO] [stdout] | ______________________________________________________________________________- [INFO] [stdout] 7 | | let args = Some("FROM: SIZE=1024"); [INFO] [stdout] 8 | | handle_mail_cmd(args, &mut session, &mut controller).await?; [INFO] [stdout] | | ^ cannot use the `?` operator in an async function that returns `()` [INFO] [stdout] 9 | | } [INFO] [stdout] | |_- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0603. [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/core/handler.rs - core::handler::SmtpHandler (line 16) stdout ---- [INFO] [stdout] error[E0195]: lifetime parameters or bounds on method `handle_auth` do not match the trait declaration [INFO] [stdout] --> src/core/handler.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 13 | async fn handle_auth( [INFO] [stdout] | ______________^ [INFO] [stdout] 14 | | &mut self, [INFO] [stdout] 15 | | _session: &Session, [INFO] [stdout] 16 | | data: &AuthData, [INFO] [stdout] 17 | | ) -> Result { [INFO] [stdout] | |_____^ lifetimes do not match method in trait [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `auth_failed` found for enum `smtpd::Response` in the current scope [INFO] [stdout] --> src/core/handler.rs:39:39 [INFO] [stdout] | [INFO] [stdout] 26 | Err(Error::Response(Response::auth_failed("Invalid credentials"))) [INFO] [stdout] | ^^^^^^^^^^^ variant or associated item not found in `smtpd::Response` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `smtpd::Response` consider using one of the following associated functions: [INFO] [stdout] smtpd::Response::new [INFO] [stdout] smtpd::Response::ok [INFO] [stdout] smtpd::Response::info [INFO] [stdout] smtpd::Response::reject [INFO] [stdout] and 4 others [INFO] [stdout] --> /opt/rustwide/workdir/src/core/response.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | / pub fn new( [INFO] [stdout] 59 | | status: usize, [INFO] [stdout] 60 | | message: impl Into>, [INFO] [stdout] 61 | | rfc: impl Into>>, [INFO] [stdout] 62 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn ok(message: impl Into>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn info(message: impl Into>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn reject(message: impl Into>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `invalid_recipient` found for enum `smtpd::Response` in the current scope [INFO] [stdout] --> src/core/handler.rs:50:43 [INFO] [stdout] | [INFO] [stdout] 37 | Err(Error::Response(Response::invalid_recipient( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ variant or associated item not found in `smtpd::Response` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `smtpd::Response` consider using one of the following associated functions: [INFO] [stdout] smtpd::Response::new [INFO] [stdout] smtpd::Response::ok [INFO] [stdout] smtpd::Response::info [INFO] [stdout] smtpd::Response::reject [INFO] [stdout] and 4 others [INFO] [stdout] --> /opt/rustwide/workdir/src/core/response.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | / pub fn new( [INFO] [stdout] 59 | | status: usize, [INFO] [stdout] 60 | | message: impl Into>, [INFO] [stdout] 61 | | rfc: impl Into>>, [INFO] [stdout] 62 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn ok(message: impl Into>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn info(message: impl Into>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn reject(message: impl Into>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/core/handler.rs:72:30 [INFO] [stdout] | [INFO] [stdout] 59 | MyHandler { user_id: 0, account_id: 0 } [INFO] [stdout] | ^ expected `Option`, found integer [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found type `{integer}` [INFO] [stdout] help: try wrapping the expression in `Some` [INFO] [stdout] | [INFO] [stdout] 59 | MyHandler { user_id: Some(0), account_id: 0 } [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `MyHandler` has no field named `account_id` [INFO] [stdout] --> src/core/handler.rs:72:33 [INFO] [stdout] | [INFO] [stdout] 59 | MyHandler { user_id: 0, account_id: 0 } [INFO] [stdout] | ^^^^^^^^^^ `MyHandler` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0195, E0308, E0560, E0599. [INFO] [stdout] For more information about an error, try `rustc --explain E0195`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - start_server (line 129) stdout ---- [INFO] [stdout] error[E0432]: unresolved import `smtpd::MyHandlerFactory` [INFO] [stdout] --> src/lib.rs:131:49 [INFO] [stdout] | [INFO] [stdout] 4 | use smtpd::{start_server, SmtpConfig, AuthMach, MyHandlerFactory}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | no `MyHandlerFactory` in the root [INFO] [stdout] | help: a similar name exists in the module: `SmtpHandlerFactory` [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0432`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/core.rs - core::SmtpConfig (line 26) [INFO] [stdout] src/core/auth.rs - core::auth::AuthData (line 61) [INFO] [stdout] src/core/handler.rs - core::handler::SmtpHandler (line 16) [INFO] [stdout] src/core/handler.rs - core::handler::SmtpHandler (line 97) [INFO] [stdout] src/core/handler.rs - core::handler::SmtpHandlerFactory (line 150) [INFO] [stdout] src/core/tls.rs - core::tls::TlsConfig (line 24) [INFO] [stdout] src/core/tls.rs - core::tls::TlsConfig (line 40) [INFO] [stdout] src/core/tls.rs - core::tls::TlsMode (line 154) [INFO] [stdout] src/lib.rs - SmtpServer (line 166) [INFO] [stdout] src/lib.rs - get_auth_data (line 748) [INFO] [stdout] src/lib.rs - handle_mail_cmd (line 938) [INFO] [stdout] src/lib.rs - start_server (line 129) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 2 passed; 12 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.98s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.29s; merged doctests compilation took 0.30s [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "ec87372718d2a8299832a2f17526c08ec358862108491ee8479c8257e49d13bc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ec87372718d2a8299832a2f17526c08ec358862108491ee8479c8257e49d13bc", kill_on_drop: false }` [INFO] [stdout] ec87372718d2a8299832a2f17526c08ec358862108491ee8479c8257e49d13bc