riptun 0.1.4

riptun is a cross platform library for creating, managing, and leveraging both sync and async TUN/TAP devices.
Documentation
Build #2203223 2025-06-07 05:28:21

# rustc version rustc 1.89.0-nightly (44f415c1d 2025-06-06)

# docs.rs version docsrs 0.6.0 (d2911047 2025-05-28)

# build log [INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace/builds/riptun-0.1.4/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace/builds/riptun-0.1.4/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "6442450944" "--cpus" "6" "--user" "1001:1001" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20250606-1.89.0-nightly-44f415c1d\", \"--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" "--config" "build.rustdocflags=[\"-Zmetrics-dir=/opt/rustwide/target/metrics\"]", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 082fed8ed2d3f4678e4cab2bedb83aa1eb900518f93de33b9b90fbf08b0701f2 [INFO] running `Command { std: "docker" "start" "-a" "082fed8ed2d3f4678e4cab2bedb83aa1eb900518f93de33b9b90fbf08b0701f2", kill_on_drop: false }` [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/tun/sync.rs:68:21 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn drain<R>(&mut self, range: R) -> Drain<Queue> [INFO] [stderr] | ^^^^^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 68 | pub fn drain<R>(&mut self, range: R) -> Drain<'_, Queue> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/tun/sync.rs:77:17 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn iter(&self) -> Iter<Queue> { [INFO] [stderr] | ^^^^^ ----------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 77 | pub fn iter(&self) -> Iter<'_, Queue> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/tun/sync.rs:83:21 [INFO] [stderr] | [INFO] [stderr] 83 | pub fn iter_mut(&mut self) -> IterMut<Queue> { [INFO] [stderr] | ^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 83 | pub fn iter_mut(&mut self) -> IterMut<'_, Queue> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/tun/async/std.rs:72:21 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn drain<R>(&mut self, range: R) -> Drain<AsyncStdQueue> [INFO] [stderr] | ^^^^^^^^^ -------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 72 | pub fn drain<R>(&mut self, range: R) -> Drain<'_, AsyncStdQueue> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/tun/async/std.rs:81:17 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn iter(&self) -> Iter<AsyncStdQueue> { [INFO] [stderr] | ^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 81 | pub fn iter(&self) -> Iter<'_, AsyncStdQueue> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/tun/async/std.rs:87:21 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn iter_mut(&mut self) -> IterMut<AsyncStdQueue> { [INFO] [stderr] | ^^^^^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 87 | pub fn iter_mut(&mut self) -> IterMut<'_, AsyncStdQueue> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/tun/async/tokio.rs:70:21 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn drain<R>(&mut self, range: R) -> Drain<TokioQueue> [INFO] [stderr] | ^^^^^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 70 | pub fn drain<R>(&mut self, range: R) -> Drain<'_, TokioQueue> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/tun/async/tokio.rs:79:17 [INFO] [stderr] | [INFO] [stderr] 79 | pub fn iter(&self) -> Iter<TokioQueue> { [INFO] [stderr] | ^^^^^ ---------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 79 | pub fn iter(&self) -> Iter<'_, TokioQueue> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/tun/async/tokio.rs:85:21 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn iter_mut(&mut self) -> IterMut<TokioQueue> { [INFO] [stderr] | ^^^^^^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 85 | pub fn iter_mut(&mut self) -> IterMut<'_, TokioQueue> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `riptun` (lib) generated 9 warnings (run `cargo fix --lib -p riptun` to apply 9 suggestions) [INFO] [stderr] Scraping riptun v0.1.4 (/opt/rustwide/workdir) [INFO] [stderr] Documenting riptun v0.1.4 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.07s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/riptun/index.html [INFO] running `Command { std: "docker" "inspect" "082fed8ed2d3f4678e4cab2bedb83aa1eb900518f93de33b9b90fbf08b0701f2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "082fed8ed2d3f4678e4cab2bedb83aa1eb900518f93de33b9b90fbf08b0701f2", kill_on_drop: false }` [INFO] [stdout] 082fed8ed2d3f4678e4cab2bedb83aa1eb900518f93de33b9b90fbf08b0701f2