smtp-codec 0.2.0

Low-level SMTP Parser and Serializer
Documentation

Build #3374060 2026-05-24 20:35:54

# rustc version rustc 1.98.0-nightly (23a3312d9 2026-05-23)

# docs.rs version docsrs 0.0.0 (f16e33f3e6ac9fc9e4413728c5dd1b2ba1c6b799 2026-05-23 )

# build log [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "1001:1001" "095899b8c98d34d7d27e9903b0e6e3717b7b4cad602e797e157587458aa279b2" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260523-1.98.0-nightly-23a3312d9\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }` [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/utils.rs:3:40 [INFO] [stderr] | [INFO] [stderr] 3 | pub(crate) fn escape_quoted(unescaped: &str) -> Cow<str> { [INFO] [stderr] | ^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 3 | pub(crate) fn escape_quoted(unescaped: &str) -> Cow<'_, str> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/utils.rs:17:40 [INFO] [stderr] | [INFO] [stderr] 17 | pub(crate) fn unescape_quoted(escaped: &str) -> Cow<str> { [INFO] [stderr] | ^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 17 | pub(crate) fn unescape_quoted(escaped: &str) -> Cow<'_, str> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `smtp-codec` (lib) generated 2 warnings (run `cargo fix --lib -p smtp-codec` to apply 2 suggestions) [INFO] [stderr] Scraping smtp-codec v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Documenting smtp-codec v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unresolved link to `32` [INFO] [stderr] --> src/parse/command.rs:111:30 [INFO] [stderr] | [INFO] [stderr] 111 | /// then the "xtext" syntax [32] SHOULD be used. [INFO] [stderr] | ^^ no item named `32` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `4` [INFO] [stderr] --> src/parse/trace.rs:43:59 [INFO] [stderr] | [INFO] [stderr] 43 | /// Caution: Where "date-time" is as defined in RFC 5322 [4] [INFO] [stderr] | ^ no item named `4` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `4` [INFO] [stderr] --> src/parse/trace.rs:149:44 [INFO] [stderr] | [INFO] [stderr] 149 | /// ; msg-id is defined in RFC 5322 [4] [INFO] [stderr] | ^ no item named `4` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `9` [INFO] [stderr] --> src/parse/trace.rs:213:57 [INFO] [stderr] | [INFO] [stderr] 213 | /// Authority (IANA) in the "mail parameters" registry [9]. SMTP servers SHOULD NOT [INFO] [stderr] | ^ no item named `9` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC821` [INFO] [stderr] --> src/types.rs:441:34 [INFO] [stderr] | [INFO] [stderr] 441 | /// Expand the mailing list [RFC821] [INFO] [stderr] | ^^^^^^ no item named `RFC821` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC5321` [INFO] [stderr] --> src/types.rs:442:41 [INFO] [stderr] | [INFO] [stderr] 442 | /// Command description updated by [RFC5321] [INFO] [stderr] | ^^^^^^^ no item named `RFC5321` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC821` [INFO] [stderr] --> src/types.rs:444:37 [INFO] [stderr] | [INFO] [stderr] 444 | /// Supply helpful information [RFC821] [INFO] [stderr] | ^^^^^^ no item named `RFC821` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC5321` [INFO] [stderr] --> src/types.rs:445:41 [INFO] [stderr] | [INFO] [stderr] 445 | /// Command description updated by [RFC5321] [INFO] [stderr] | ^^^^^^^ no item named `RFC5321` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC6152` [INFO] [stderr] --> src/types.rs:448:57 [INFO] [stderr] | [INFO] [stderr] 448 | /// SMTP and Submit transport of 8bit MIME content [RFC6152] [INFO] [stderr] | ^^^^^^^ no item named `RFC6152` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC1870` [INFO] [stderr] --> src/types.rs:451:35 [INFO] [stderr] | [INFO] [stderr] 451 | /// Message size declaration [RFC1870] [INFO] [stderr] | ^^^^^^^ no item named `RFC1870` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC3030` [INFO] [stderr] --> src/types.rs:454:19 [INFO] [stderr] | [INFO] [stderr] 454 | /// Chunking [RFC3030] [INFO] [stderr] | ^^^^^^^ no item named `RFC3030` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC3030` [INFO] [stderr] --> src/types.rs:457:22 [INFO] [stderr] | [INFO] [stderr] 457 | /// Binary MIME [RFC3030] [INFO] [stderr] | ^^^^^^^ no item named `RFC3030` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC1845` [INFO] [stderr] --> src/types.rs:460:29 [INFO] [stderr] | [INFO] [stderr] 460 | /// Checkpoint/Restart [RFC1845] [INFO] [stderr] | ^^^^^^^ no item named `RFC1845` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC2852` [INFO] [stderr] --> src/types.rs:463:21 [INFO] [stderr] | [INFO] [stderr] 463 | /// Deliver By [RFC2852] [INFO] [stderr] | ^^^^^^^ no item named `RFC2852` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC2920` [INFO] [stderr] --> src/types.rs:466:29 [INFO] [stderr] | [INFO] [stderr] 466 | /// Command Pipelining [RFC2920] [INFO] [stderr] | ^^^^^^^ no item named `RFC2920` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC3461` [INFO] [stderr] --> src/types.rs:469:39 [INFO] [stderr] | [INFO] [stderr] 469 | /// Delivery Status Notification [RFC3461] [INFO] [stderr] | ^^^^^^^ no item named `RFC3461` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC1985` [INFO] [stderr] --> src/types.rs:472:24 [INFO] [stderr] | [INFO] [stderr] 472 | /// Extended Turn [RFC1985] [INFO] [stderr] | ^^^^^^^ no item named `RFC1985` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC5321` [INFO] [stderr] --> src/types.rs:473:15 [INFO] [stderr] | [INFO] [stderr] 473 | /// SMTP [RFC5321] only. Not for use on Submit port 587. [INFO] [stderr] | ^^^^^^^ no item named `RFC5321` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC2034` [INFO] [stderr] --> src/types.rs:476:32 [INFO] [stderr] | [INFO] [stderr] 476 | /// Enhanced Status Codes [RFC2034] [INFO] [stderr] | ^^^^^^^ no item named `RFC2034` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC3207` [INFO] [stderr] --> src/types.rs:479:20 [INFO] [stderr] | [INFO] [stderr] 479 | /// Start TLS [RFC3207] [INFO] [stderr] | ^^^^^^^ no item named `RFC3207` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC3865` [INFO] [stderr] --> src/types.rs:482:40 [INFO] [stderr] | [INFO] [stderr] 482 | /// Notification of no soliciting [RFC3865] [INFO] [stderr] | ^^^^^^^ no item named `RFC3865` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC3885` [INFO] [stderr] --> src/types.rs:485:27 [INFO] [stderr] | [INFO] [stderr] 485 | /// Message Tracking [RFC3885] [INFO] [stderr] | ^^^^^^^ no item named `RFC3885` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC2645` [INFO] [stderr] --> src/types.rs:488:29 [INFO] [stderr] | [INFO] [stderr] 488 | /// Authenticated TURN [RFC2645] [INFO] [stderr] | ^^^^^^^ no item named `RFC2645` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC5321` [INFO] [stderr] --> src/types.rs:489:15 [INFO] [stderr] | [INFO] [stderr] 489 | /// SMTP [RFC5321] only. Not for use on Submit port 587. [INFO] [stderr] | ^^^^^^^ no item named `RFC5321` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC4954` [INFO] [stderr] --> src/types.rs:492:25 [INFO] [stderr] | [INFO] [stderr] 492 | /// Authentication [RFC4954] [INFO] [stderr] | ^^^^^^^ no item named `RFC4954` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC4468` [INFO] [stderr] --> src/types.rs:495:25 [INFO] [stderr] | [INFO] [stderr] 495 | /// Remote Content [RFC4468] [INFO] [stderr] | ^^^^^^^ no item named `RFC4468` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC6409` [INFO] [stderr] --> src/types.rs:496:17 [INFO] [stderr] | [INFO] [stderr] 496 | /// Submit [RFC6409] only. Not for use with SMTP on port 25. [INFO] [stderr] | ^^^^^^^ no item named `RFC6409` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC4865` [INFO] [stderr] --> src/types.rs:499:33 [INFO] [stderr] | [INFO] [stderr] 499 | /// Future Message Release [RFC4865] [INFO] [stderr] | ^^^^^^^ no item named `RFC4865` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC4141` [INFO] [stderr] --> src/types.rs:502:40 [INFO] [stderr] | [INFO] [stderr] 502 | /// Content Conversion Permission [RFC4141] [INFO] [stderr] | ^^^^^^^ no item named `RFC4141` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC4141` [INFO] [stderr] --> src/types.rs:505:41 [INFO] [stderr] | [INFO] [stderr] 505 | /// Content Conversion Negotiation [RFC4141] [INFO] [stderr] | ^^^^^^^ no item named `RFC4141` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC6531` [INFO] [stderr] --> src/types.rs:508:42 [INFO] [stderr] | [INFO] [stderr] 508 | /// Internationalized email address [RFC6531] [INFO] [stderr] | ^^^^^^^ no item named `RFC6531` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC6710` [INFO] [stderr] --> src/types.rs:511:36 [INFO] [stderr] | [INFO] [stderr] 511 | /// Priority Message Handling [RFC6710] [INFO] [stderr] | ^^^^^^^ no item named `RFC6710` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC7293` [INFO] [stderr] --> src/types.rs:514:40 [INFO] [stderr] | [INFO] [stderr] 514 | /// Require Recipient Valid Since [RFC7293] [INFO] [stderr] | ^^^^^^^ no item named `RFC7293` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `RFC8689` [INFO] [stderr] --> src/types.rs:517:22 [INFO] [stderr] | [INFO] [stderr] 517 | /// Require TLS [RFC8689] [INFO] [stderr] | ^^^^^^^ no item named `RFC8689` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `Postmaster` [INFO] [stderr] --> src/parse/command.rs:122:54 [INFO] [stderr] | [INFO] [stderr] 122 | /// rcpt = "RCPT TO:" ( "<Postmaster@" Domain ">" / "<Postmaster>" / Forward-path ) [SP Rcpt-parameters] CRLF [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(rustdoc::invalid_html_tags)]` on by default [INFO] [stderr] [INFO] [stderr] warning: this URL is not a hyperlink [INFO] [stderr] --> src/parse/command.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | /// https://interoperability.blob.core.windows.net/files/MS-XLOGIN/[MS-XLOGIN].pdf [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: bare URLs are not automatically turned into clickable links [INFO] [stderr] = note: `#[warn(rustdoc::bare_urls)]` on by default [INFO] [stderr] help: use an automatic link instead [INFO] [stderr] | [INFO] [stderr] 229 | /// <https://interoperability.blob.core.windows.net/files/MS-XLOGIN/>[MS-XLOGIN].pdf [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `SP` [INFO] [stderr] --> src/parse/response.rs:249:24 [INFO] [stderr] | [INFO] [stderr] 249 | /// Any CHAR excluding <SP> and all control characters [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `CRLF` [INFO] [stderr] --> src/parse/trace.rs:23:56 [INFO] [stderr] | [INFO] [stderr] 23 | /// Return-path-line = "Return-Path:" FWS Reverse-path <CRLF> [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `CRLF` [INFO] [stderr] --> src/parse/trace.rs:32:45 [INFO] [stderr] | [INFO] [stderr] 32 | /// Time-stamp-line = "Received:" FWS Stamp <CRLF> [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `smtp-codec` (lib doc) generated 39 warnings (run `cargo fix --lib -p smtp-codec` to apply 1 suggestion) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.72s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/smtp_codec/index.html [INFO] running `Command { std: "docker" "inspect" "095899b8c98d34d7d27e9903b0e6e3717b7b4cad602e797e157587458aa279b2", kill_on_drop: false }`