[INFO] crate cacache 7.0.0 is already in cache [INFO] documenting cacache-7.0.0 against try#66dfc4e010913fbed0c4ea91fc2c010004b0f441 for pr-73566 [INFO] extracting crate cacache 7.0.0 into /workspace/builds/worker-8/source [INFO] validating manifest of crates.io crate cacache 7.0.0 on toolchain 66dfc4e010913fbed0c4ea91fc2c010004b0f441 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+66dfc4e010913fbed0c4ea91fc2c010004b0f441" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate cacache 7.0.0 [INFO] finished tweaking crates.io crate cacache 7.0.0 [INFO] tweaked toml for crates.io crate cacache 7.0.0 written to /workspace/builds/worker-8/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+66dfc4e010913fbed0c4ea91fc2c010004b0f441" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+66dfc4e010913fbed0c4ea91fc2c010004b0f441" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env@sha256:819119df93c0f5eca3f29186f14981ef29945a311854d7222af07488600a2584" "/opt/rustwide/cargo-home/bin/cargo" "+66dfc4e010913fbed0c4ea91fc2c010004b0f441" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7357237f9354a91832c8185baebe863f94fa56b0c30dfaa5defe9f721089a7f1 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "7357237f9354a91832c8185baebe863f94fa56b0c30dfaa5defe9f721089a7f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7357237f9354a91832c8185baebe863f94fa56b0c30dfaa5defe9f721089a7f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7357237f9354a91832c8185baebe863f94fa56b0c30dfaa5defe9f721089a7f1", kill_on_drop: false }` [INFO] [stdout] 7357237f9354a91832c8185baebe863f94fa56b0c30dfaa5defe9f721089a7f1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-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" "--network" "none" "rustops/crates-build-env@sha256:819119df93c0f5eca3f29186f14981ef29945a311854d7222af07488600a2584" "/opt/rustwide/cargo-home/bin/cargo" "+66dfc4e010913fbed0c4ea91fc2c010004b0f441" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b6a9224b00058e18c063b56446d1dbaed290e852e4eb55896a0f19d9a5375ac8 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "b6a9224b00058e18c063b56446d1dbaed290e852e4eb55896a0f19d9a5375ac8", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling typenum v1.12.0 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Checking byte-tools v0.3.1 [INFO] [stderr] Checking opaque-debug v0.2.3 [INFO] [stderr] Checking fake-simd v0.1.2 [INFO] [stderr] Checking futures-channel v0.3.5 [INFO] [stderr] Checking kv-log-macro v1.0.6 [INFO] [stderr] Checking getrandom v0.1.14 [INFO] [stderr] Checking socket2 v0.3.12 [INFO] [stderr] Compiling syn v1.0.33 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Checking block-padding v0.1.5 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking tempfile v3.1.0 [INFO] [stderr] Checking generic-array v0.12.3 [INFO] [stderr] Checking digest v0.8.1 [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking sha-1 v0.8.2 [INFO] [stderr] Checking sha2 v0.8.2 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.64 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.64 [INFO] [stderr] Compiling pin-project-internal v0.4.22 [INFO] [stderr] Compiling futures-macro v0.3.5 [INFO] [stderr] Compiling thiserror-impl v1.0.20 [INFO] [stderr] Compiling serde_derive v1.0.114 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.64 [INFO] [stderr] Checking thiserror v1.0.20 [INFO] [stderr] Checking wasm-bindgen v0.2.64 [INFO] [stderr] Checking pin-project v0.4.22 [INFO] [stderr] Checking js-sys v0.3.41 [INFO] [stderr] Checking futures-util v0.3.5 [INFO] [stderr] Checking ssri v5.0.0 [INFO] [stderr] Checking web-sys v0.3.41 [INFO] [stderr] Checking blocking v0.4.6 [INFO] [stderr] Checking futures-executor v0.3.5 [INFO] [stderr] Checking futures v0.3.5 [INFO] [stderr] Checking smol v0.1.18 [INFO] [stderr] Checking gloo-timers v0.2.1 [INFO] [stderr] Checking futures-timer v3.0.2 [INFO] [stderr] Checking async-std v1.6.2 [INFO] [stderr] Documenting cacache v7.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | /// Represents a cache index entry, which points to content. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:124:23 [INFO] [stdout] | [INFO] [stdout] 124 | #![warn(missing_docs, missing_doc_code_examples)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | /// Key this entry is stored under. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | /// Integrity hash for the stored data. Acts as a key into {cache}/content. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | /// Timestamp in unix milliseconds when this entry was written. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | /// Size of data associated with this entry. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | /// Arbitrary JSON associated with this entry. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | / /// File handle for reading data asynchronously. [INFO] [stdout] 19 | | /// [INFO] [stdout] 20 | | /// Make sure to call `.check()` when done reading to verify that the [INFO] [stdout] 21 | | /// extracted data passes integrity verification. [INFO] [stdout] | |_________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | reader: read::AsyncReader, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:252:1 [INFO] [stdout] | [INFO] [stdout] 252 | / /// File handle for reading data synchronously. [INFO] [stdout] 253 | | /// [INFO] [stdout] 254 | | /// Make sure to call `get.check()` when done reading [INFO] [stdout] 255 | | /// to verify that the extracted data passes integrity [INFO] [stdout] 256 | | /// verification. [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | reader: read::Reader, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | /// A reference to an open file writing to the cache. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | cache: PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | key: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | written: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | pub(crate) writer: write::AsyncWriter, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | opts: WriteOpts, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:153:1 [INFO] [stdout] | [INFO] [stdout] 153 | /// Builder for options and flags for opening a new cache file to write data into. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub(crate) algorithm: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub(crate) sri: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 158 | pub(crate) size: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 159 | pub(crate) time: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | pub(crate) metadata: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:242:1 [INFO] [stdout] | [INFO] [stdout] 242 | /// A reference to an open file writing to the cache. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:244:5 [INFO] [stdout] | [INFO] [stdout] 244 | cache: PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:245:5 [INFO] [stdout] | [INFO] [stdout] 245 | key: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:246:5 [INFO] [stdout] | [INFO] [stdout] 246 | written: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 247 | pub(crate) writer: write::Writer, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:248:5 [INFO] [stdout] | [INFO] [stdout] 248 | opts: WriteOpts, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:33:1 [INFO] [stdout] | [INFO] [stdout] 33 | /// Error type returned by all API calls. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | / /// Returned when an index entry could not be found during [INFO] [stdout] 37 | | /// lookup. [INFO] [stdout] | |_______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | /// Returned when a size check has failed. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | /// Returned when an integrity check has failed. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | /// The underlying error [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | /// Returned if an internal (e.g. io) operation has failed. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | /// The underlying error [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:228:1 [INFO] [stdout] | [INFO] [stdout] 228 | / /// Gets the metadata entry for a certain key. [INFO] [stdout] 229 | | /// [INFO] [stdout] 230 | | /// Note that the existence of a metadata entry is not a guarantee that the [INFO] [stdout] 231 | | /// underlying data exists, since they are stored and managed independently. [INFO] [stdout] 232 | | /// To verify that the underlying associated data exists, use `exists()`. [INFO] [stdout] | |_________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:241:1 [INFO] [stdout] | [INFO] [stdout] 241 | /// Returns true if the given hash exists in the cache. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:442:1 [INFO] [stdout] | [INFO] [stdout] 442 | / /// Gets metadata for a certain key. [INFO] [stdout] 443 | | /// [INFO] [stdout] 444 | | /// Note that the existence of a metadata entry is not a guarantee that the [INFO] [stdout] 445 | | /// underlying data exists, since they are stored and managed independently. [INFO] [stdout] 446 | | /// To verify that the underlying associated data exists, use `exists_sync()`. [INFO] [stdout] | |______________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:455:1 [INFO] [stdout] | [INFO] [stdout] 455 | /// Returns true if the given hash exists in the cache. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ls.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | /// Returns a synchronous iterator that lists all cache index entries. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub mod path; [INFO] [stdout] 2 | | pub mod read; [INFO] [stdout] 3 | | pub mod rm; [INFO] [stdout] 4 | | pub mod write; [INFO] [stdout] | |______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/path.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use ssri::Integrity; [INFO] [stdout] 2 | | use std::path::{Path, PathBuf}; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | const CONTENT_VERSION: &str = "2"; [INFO] [stdout] ... | [INFO] [stdout] 41 | | } [INFO] [stdout] 42 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/path.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pub fn content_path(cache: &Path, sri: &Integrity) -> PathBuf { [INFO] [stdout] 12 | | let mut path = PathBuf::new(); [INFO] [stdout] 13 | | let (algo, hex) = sri.to_hex(); [INFO] [stdout] 14 | | path.push(cache); [INFO] [stdout] ... | [INFO] [stdout] 20 | | path [INFO] [stdout] 21 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/path.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | const CONTENT_VERSION: &str = "2"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use std::fs::{self, File}; [INFO] [stdout] 2 | | use std::path::Path; [INFO] [stdout] 3 | | use std::pin::Pin; [INFO] [stdout] 4 | | use std::task::{Context, Poll}; [INFO] [stdout] ... | [INFO] [stdout] 117 | | } [INFO] [stdout] 118 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | / pub struct Reader { [INFO] [stdout] 14 | | fd: File, [INFO] [stdout] 15 | | checker: IntegrityChecker, [INFO] [stdout] 16 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | fd: File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | checker: IntegrityChecker, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | / pub struct AsyncReader { [INFO] [stdout] 33 | | fd: async_std::fs::File, [INFO] [stdout] 34 | | checker: IntegrityChecker, [INFO] [stdout] 35 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | fd: async_std::fs::File, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | checker: IntegrityChecker, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | / pub fn open(cache: &Path, sri: Integrity) -> Result { [INFO] [stdout] 56 | | let cpath = path::content_path(&cache, &sri); [INFO] [stdout] 57 | | Ok(Reader { [INFO] [stdout] 58 | | fd: File::open(cpath).to_internal()?, [INFO] [stdout] 59 | | checker: IntegrityChecker::new(sri), [INFO] [stdout] 60 | | }) [INFO] [stdout] 61 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:63:1 [INFO] [stdout] | [INFO] [stdout] 63 | / pub async fn open_async(cache: &Path, sri: Integrity) -> Result { [INFO] [stdout] 64 | | let cpath = path::content_path(&cache, &sri); [INFO] [stdout] 65 | | Ok(AsyncReader { [INFO] [stdout] 66 | | fd: async_std::fs::File::open(cpath).await.to_internal()?, [INFO] [stdout] 67 | | checker: IntegrityChecker::new(sri), [INFO] [stdout] 68 | | }) [INFO] [stdout] 69 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:71:1 [INFO] [stdout] | [INFO] [stdout] 71 | / pub fn read(cache: &Path, sri: &Integrity) -> Result> { [INFO] [stdout] 72 | | let cpath = path::content_path(&cache, &sri); [INFO] [stdout] 73 | | let ret = fs::read(&cpath).to_internal()?; [INFO] [stdout] 74 | | sri.check(&ret)?; [INFO] [stdout] 75 | | Ok(ret) [INFO] [stdout] 76 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | / pub async fn read_async<'a>(cache: &'a Path, sri: &'a Integrity) -> Result> { [INFO] [stdout] 79 | | let cpath = path::content_path(&cache, &sri); [INFO] [stdout] 80 | | let ret = async_std::fs::read(&cpath).await.to_internal()?; [INFO] [stdout] 81 | | sri.check(&ret)?; [INFO] [stdout] 82 | | Ok(ret) [INFO] [stdout] 83 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:85:1 [INFO] [stdout] | [INFO] [stdout] 85 | / pub fn copy(cache: &Path, sri: &Integrity, to: &Path) -> Result { [INFO] [stdout] 86 | | let cpath = path::content_path(&cache, &sri); [INFO] [stdout] 87 | | let ret = fs::copy(&cpath, to).to_internal()?; [INFO] [stdout] 88 | | let data = fs::read(cpath).to_internal()?; [INFO] [stdout] 89 | | sri.check(data)?; [INFO] [stdout] 90 | | Ok(ret) [INFO] [stdout] 91 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:93:1 [INFO] [stdout] | [INFO] [stdout] 93 | / pub async fn copy_async<'a>(cache: &'a Path, sri: &'a Integrity, to: &'a Path) -> Result { [INFO] [stdout] 94 | | let cpath = path::content_path(&cache, &sri); [INFO] [stdout] 95 | | let ret = async_std::fs::copy(&cpath, to).await.to_internal()?; [INFO] [stdout] 96 | | let data = async_std::fs::read(cpath).await.to_internal()?; [INFO] [stdout] 97 | | sri.check(data)?; [INFO] [stdout] 98 | | Ok(ret) [INFO] [stdout] 99 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:101:1 [INFO] [stdout] | [INFO] [stdout] 101 | / pub fn has_content(cache: &Path, sri: &Integrity) -> Option { [INFO] [stdout] 102 | | if path::content_path(&cache, &sri).exists() { [INFO] [stdout] 103 | | Some(sri.clone()) [INFO] [stdout] 104 | | } else { [INFO] [stdout] 105 | | None [INFO] [stdout] 106 | | } [INFO] [stdout] 107 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | / pub async fn has_content_async(cache: &Path, sri: &Integrity) -> Option { [INFO] [stdout] 110 | | if async_std::fs::metadata(path::content_path(&cache, &sri)) [INFO] [stdout] 111 | | .await [INFO] [stdout] 112 | | .is_ok() [INFO] [stdout] ... | [INFO] [stdout] 117 | | } [INFO] [stdout] 118 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | / impl Reader { [INFO] [stdout] 27 | | pub fn check(self) -> Result { [INFO] [stdout] 28 | | Ok(self.checker.result()?) [INFO] [stdout] 29 | | } [INFO] [stdout] 30 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | / pub fn check(self) -> Result { [INFO] [stdout] 28 | | Ok(self.checker.result()?) [INFO] [stdout] 29 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | / impl AsyncReader { [INFO] [stdout] 50 | | pub fn check(self) -> Result { [INFO] [stdout] 51 | | Ok(self.checker.result()?) [INFO] [stdout] 52 | | } [INFO] [stdout] 53 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | / pub fn check(self) -> Result { [INFO] [stdout] 51 | | Ok(self.checker.result()?) [INFO] [stdout] 52 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/rm.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use std::fs; [INFO] [stdout] 2 | | use std::path::Path; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | use async_std::fs as afs; [INFO] [stdout] ... | [INFO] [stdout] 19 | | Ok(()) [INFO] [stdout] 20 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/rm.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / pub fn rm(cache: &Path, sri: &Integrity) -> Result<()> { [INFO] [stdout] 11 | | fs::remove_file(path::content_path(&cache, &sri)).to_internal()?; [INFO] [stdout] 12 | | Ok(()) [INFO] [stdout] 13 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/rm.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | / pub async fn rm_async(cache: &Path, sri: &Integrity) -> Result<()> { [INFO] [stdout] 16 | | afs::remove_file(path::content_path(&cache, &sri)) [INFO] [stdout] 17 | | .await [INFO] [stdout] 18 | | .to_internal()?; [INFO] [stdout] 19 | | Ok(()) [INFO] [stdout] 20 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use std::fs::DirBuilder; [INFO] [stdout] 2 | | use std::io::prelude::*; [INFO] [stdout] 3 | | use std::path::{Path, PathBuf}; [INFO] [stdout] 4 | | use std::pin::Pin; [INFO] [stdout] ... | [INFO] [stdout] 313 | | } [INFO] [stdout] 314 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | / pub struct Writer { [INFO] [stdout] 19 | | cache: PathBuf, [INFO] [stdout] 20 | | builder: IntegrityOpts, [INFO] [stdout] 21 | | tmpfile: NamedTempFile, [INFO] [stdout] 22 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | cache: PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | builder: IntegrityOpts, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | tmpfile: NamedTempFile, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct AsyncWriter(Mutex); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:64:24 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct AsyncWriter(Mutex); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:71:1 [INFO] [stdout] | [INFO] [stdout] 71 | / struct Inner { [INFO] [stdout] 72 | | cache: PathBuf, [INFO] [stdout] 73 | | builder: IntegrityOpts, [INFO] [stdout] 74 | | tmpfile: NamedTempFile, [INFO] [stdout] 75 | | buf: Vec, [INFO] [stdout] 76 | | last_op: Option, [INFO] [stdout] 77 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | cache: PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | builder: IntegrityOpts, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | tmpfile: NamedTempFile, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | buf: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | last_op: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:66:1 [INFO] [stdout] | [INFO] [stdout] 66 | / enum State { [INFO] [stdout] 67 | | Idle(Option), [INFO] [stdout] 68 | | Busy(JoinHandle), [INFO] [stdout] 69 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | Idle(Option), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | Busy(JoinHandle), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:79:1 [INFO] [stdout] | [INFO] [stdout] 79 | / enum Operation { [INFO] [stdout] 80 | | Write(std::io::Result), [INFO] [stdout] 81 | | Flush(std::io::Result<()>), [INFO] [stdout] 82 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | Write(std::io::Result), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | Flush(std::io::Result<()>), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:276:1 [INFO] [stdout] | [INFO] [stdout] 276 | / fn io_error(err: impl Into>) -> std::io::Error { [INFO] [stdout] 277 | | std::io::Error::new(std::io::ErrorKind::Other, err) [INFO] [stdout] 278 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | / impl Writer { [INFO] [stdout] 25 | | pub fn new(cache: &Path, algo: Algorithm) -> Result { [INFO] [stdout] 26 | | let cache_path = cache.to_path_buf(); [INFO] [stdout] 27 | | let mut tmp_path = cache_path.clone(); [INFO] [stdout] ... | [INFO] [stdout] 50 | | } [INFO] [stdout] 51 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | / pub fn new(cache: &Path, algo: Algorithm) -> Result { [INFO] [stdout] 26 | | let cache_path = cache.to_path_buf(); [INFO] [stdout] 27 | | let mut tmp_path = cache_path.clone(); [INFO] [stdout] 28 | | tmp_path.push("tmp"); [INFO] [stdout] ... | [INFO] [stdout] 37 | | }) [INFO] [stdout] 38 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | / pub fn close(self) -> Result { [INFO] [stdout] 41 | | let sri = self.builder.result(); [INFO] [stdout] 42 | | let cpath = path::content_path(&self.cache, &sri); [INFO] [stdout] 43 | | DirBuilder::new() [INFO] [stdout] ... | [INFO] [stdout] 49 | | Ok(sri) [INFO] [stdout] 50 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | / impl AsyncWriter { [INFO] [stdout] 85 | | #[allow(clippy::new_ret_no_self)] [INFO] [stdout] 86 | | #[allow(clippy::needless_lifetimes)] [INFO] [stdout] 87 | | pub async fn new(cache: &Path, algo: Algorithm) -> Result { [INFO] [stdout] ... | [INFO] [stdout] 161 | | } [INFO] [stdout] 162 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 87 | / pub async fn new(cache: &Path, algo: Algorithm) -> Result { [INFO] [stdout] 88 | | let cache_path = cache.to_path_buf(); [INFO] [stdout] 89 | | let mut tmp_path = cache_path.clone(); [INFO] [stdout] 90 | | tmp_path.push("tmp"); [INFO] [stdout] ... | [INFO] [stdout] 104 | | }))))) [INFO] [stdout] 105 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 107 | / pub async fn close(self) -> Result { [INFO] [stdout] 108 | | // NOTE: How do I even get access to `inner` safely??? [INFO] [stdout] 109 | | // let inner = ???; [INFO] [stdout] 110 | | // Blocking, but should be a very fast op. [INFO] [stdout] ... | [INFO] [stdout] 160 | | .to_internal()??) [INFO] [stdout] 161 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use std::path::PathBuf; [INFO] [stdout] 2 | | [INFO] [stdout] 3 | | use thiserror::Error; [INFO] [stdout] 4 | | [INFO] [stdout] ... | [INFO] [stdout] 64 | | [INFO] [stdout] 65 | | pub type InternalResult = std::result::Result; [INFO] [stdout] | |___________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / pub struct InternalError { [INFO] [stdout] 8 | | source: Box, [INFO] [stdout] 9 | | context: Vec, [INFO] [stdout] 10 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | source: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | context: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | /// The result type returned by calls to this library [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | pub type InternalResult = std::result::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / pub trait Internal { [INFO] [stdout] 13 | | fn to_internal(self) -> InternalResult; [INFO] [stdout] 14 | | fn with_context String>(self, f: F) -> InternalResult; [INFO] [stdout] 15 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | fn to_internal(self) -> InternalResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | fn with_context String>(self, f: F) -> InternalResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / use std::collections::HashSet; [INFO] [stdout] 2 | | use std::fs::{self, OpenOptions}; [INFO] [stdout] 3 | | use std::hash::{Hash, Hasher}; [INFO] [stdout] 4 | | use std::io::{ErrorKind, Write}; [INFO] [stdout] ... | [INFO] [stdout] 492 | | } [INFO] [stdout] 493 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | /// Represents a cache index entry, which points to content. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | / struct SerializableMetadata { [INFO] [stdout] 44 | | key: String, [INFO] [stdout] 45 | | integrity: Option, [INFO] [stdout] 46 | | time: u128, [INFO] [stdout] 47 | | size: usize, [INFO] [stdout] 48 | | metadata: Value, [INFO] [stdout] 49 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | key: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | integrity: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | time: u128, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | size: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | metadata: Value, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | / pub fn insert(cache: &Path, key: &str, opts: WriteOpts) -> Result { [INFO] [stdout] 66 | | let bucket = bucket_path(&cache, &key); [INFO] [stdout] 67 | | fs::create_dir_all(bucket.parent().unwrap()).with_context(|| { [INFO] [stdout] 68 | | format!( [INFO] [stdout] ... | [INFO] [stdout] 96 | | .unwrap()) [INFO] [stdout] 97 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:99:1 [INFO] [stdout] | [INFO] [stdout] 99 | / pub async fn insert_async<'a>(cache: &'a Path, key: &'a str, opts: WriteOpts) -> Result { [INFO] [stdout] 100 | | let bucket = bucket_path(&cache, &key); [INFO] [stdout] 101 | | afs::create_dir_all(bucket.parent().unwrap()) [INFO] [stdout] 102 | | .await [INFO] [stdout] ... | [INFO] [stdout] 135 | | .unwrap()) [INFO] [stdout] 136 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:138:1 [INFO] [stdout] | [INFO] [stdout] 138 | / pub fn find(cache: &Path, key: &str) -> Result> { [INFO] [stdout] 139 | | let bucket = bucket_path(cache, &key); [INFO] [stdout] 140 | | Ok(bucket_entries(&bucket) [INFO] [stdout] 141 | | .with_context(|| format!("Failed to read index bucket entries from {:?}", bucket))? [INFO] [stdout] ... | [INFO] [stdout] 163 | | })) [INFO] [stdout] 164 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:166:1 [INFO] [stdout] | [INFO] [stdout] 166 | / pub async fn find_async(cache: &Path, key: &str) -> Result> { [INFO] [stdout] 167 | | let bucket = bucket_path(cache, &key); [INFO] [stdout] 168 | | Ok(bucket_entries_async(&bucket) [INFO] [stdout] 169 | | .await [INFO] [stdout] ... | [INFO] [stdout] 192 | | })) [INFO] [stdout] 193 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:195:1 [INFO] [stdout] | [INFO] [stdout] 195 | / pub fn delete(cache: &Path, key: &str) -> Result<()> { [INFO] [stdout] 196 | | insert( [INFO] [stdout] 197 | | cache, [INFO] [stdout] 198 | | key, [INFO] [stdout] ... | [INFO] [stdout] 207 | | .map(|_| ()) [INFO] [stdout] 208 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:210:1 [INFO] [stdout] | [INFO] [stdout] 210 | / pub async fn delete_async(cache: &Path, key: &str) -> Result<()> { [INFO] [stdout] 211 | | insert( [INFO] [stdout] 212 | | cache, [INFO] [stdout] 213 | | key, [INFO] [stdout] ... | [INFO] [stdout] 222 | | .map(|_| ()) [INFO] [stdout] 223 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:225:1 [INFO] [stdout] | [INFO] [stdout] 225 | / pub fn ls(cache: &Path) -> impl Iterator> { [INFO] [stdout] 226 | | WalkDir::new(cache.join(format!("index-v{}", INDEX_VERSION))) [INFO] [stdout] 227 | | .into_iter() [INFO] [stdout] 228 | | .map(|bucket| { [INFO] [stdout] ... | [INFO] [stdout] 257 | | }) [INFO] [stdout] 258 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:260:1 [INFO] [stdout] | [INFO] [stdout] 260 | / fn bucket_path(cache: &Path, key: &str) -> PathBuf { [INFO] [stdout] 261 | | let hashed = hash_key(&key); [INFO] [stdout] 262 | | cache [INFO] [stdout] 263 | | .join(format!("index-v{}", INDEX_VERSION)) [INFO] [stdout] ... | [INFO] [stdout] 266 | | .join(&hashed[4..]) [INFO] [stdout] 267 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:269:1 [INFO] [stdout] | [INFO] [stdout] 269 | / fn hash_key(key: &str) -> String { [INFO] [stdout] 270 | | let mut hasher = Sha1::new(); [INFO] [stdout] 271 | | hasher.input(&key); [INFO] [stdout] 272 | | hex::encode(hasher.result()) [INFO] [stdout] 273 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:275:1 [INFO] [stdout] | [INFO] [stdout] 275 | / fn hash_entry(key: &str) -> String { [INFO] [stdout] 276 | | let mut hasher = Sha256::new(); [INFO] [stdout] 277 | | hasher.input(&key); [INFO] [stdout] 278 | | hex::encode(hasher.result()) [INFO] [stdout] 279 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:281:1 [INFO] [stdout] | [INFO] [stdout] 281 | / fn now() -> u128 { [INFO] [stdout] 282 | | SystemTime::now() [INFO] [stdout] 283 | | .duration_since(UNIX_EPOCH) [INFO] [stdout] 284 | | .unwrap() [INFO] [stdout] 285 | | .as_millis() [INFO] [stdout] 286 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:288:1 [INFO] [stdout] | [INFO] [stdout] 288 | / fn bucket_entries(bucket: &Path) -> InternalResult> { [INFO] [stdout] 289 | | use std::io::{BufRead, BufReader}; [INFO] [stdout] 290 | | fs::File::open(bucket) [INFO] [stdout] 291 | | .map(|file| { [INFO] [stdout] ... | [INFO] [stdout] 311 | | }) [INFO] [stdout] 312 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:314:1 [INFO] [stdout] | [INFO] [stdout] 314 | / async fn bucket_entries_async(bucket: &Path) -> InternalResult> { [INFO] [stdout] 315 | | let file_result = afs::File::open(bucket).await; [INFO] [stdout] 316 | | let file; [INFO] [stdout] 317 | | if let Err(err) = file_result { [INFO] [stdout] ... | [INFO] [stdout] 339 | | Ok(vec) [INFO] [stdout] 340 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | const INDEX_VERSION: &str = "5"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | //! Functions for reading from cache. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | / impl Reader { [INFO] [stdout] 37 | | /// Checks that data read from disk passes integrity checks. Returns the [INFO] [stdout] 38 | | /// algorithm that was used verified the data. Should be called only after [INFO] [stdout] 39 | | /// all data has been read from disk. [INFO] [stdout] ... | [INFO] [stdout] 121 | | } [INFO] [stdout] 122 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:267:1 [INFO] [stdout] | [INFO] [stdout] 267 | / impl SyncReader { [INFO] [stdout] 268 | | /// Checks that data read from disk passes integrity checks. Returns the [INFO] [stdout] 269 | | /// algorithm that was used verified the data. Should be called only after [INFO] [stdout] 270 | | /// all data has been read from disk. [INFO] [stdout] ... | [INFO] [stdout] 343 | | } [INFO] [stdout] 344 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ls.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | //! Functions for iterating over the cache. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | //! Functions for writing to cache. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:73:1 [INFO] [stdout] | [INFO] [stdout] 73 | / impl Writer { [INFO] [stdout] 74 | | /// Creates a new writable file handle into the cache. [INFO] [stdout] 75 | | /// [INFO] [stdout] 76 | | /// ## Example [INFO] [stdout] ... | [INFO] [stdout] 122 | | } [INFO] [stdout] 123 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / /// Closes the Writer handle and writes content and index entries. Also [INFO] [stdout] 102 | | /// verifies data against `size` and `integrity` options, if provided. [INFO] [stdout] 103 | | /// Must be called manually in order to complete the writing process, [INFO] [stdout] 104 | | /// otherwise everything will be thrown out. [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:163:1 [INFO] [stdout] | [INFO] [stdout] 163 | / impl WriteOpts { [INFO] [stdout] 164 | | /// Creates a blank set of cache writing options. [INFO] [stdout] 165 | | pub fn new() -> WriteOpts { [INFO] [stdout] 166 | | Default::default() [INFO] [stdout] ... | [INFO] [stdout] 239 | | } [INFO] [stdout] 240 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | /// Creates a blank set of cache writing options. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | /// Opens the file handle for writing, returning an Writer instance. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | /// Opens the file handle for writing synchronously, returning a SyncWriter instance. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:206:5 [INFO] [stdout] | [INFO] [stdout] 206 | /// Configures the algorithm to write data under. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:212:5 [INFO] [stdout] | [INFO] [stdout] 212 | / /// Sets the expected size of the data to write. If there's a date size [INFO] [stdout] 213 | | /// mismatch, `put.commit()` will return an error. [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | /// Sets arbitrary additional metadata to associate with the index entry. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:225:5 [INFO] [stdout] | [INFO] [stdout] 225 | / /// Sets the specific time in unix milliseconds to associate with this [INFO] [stdout] 226 | | /// entry. This is usually automatically set to the write time, but can be [INFO] [stdout] 227 | | /// useful to change for tests and such. [INFO] [stdout] | |____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:233:5 [INFO] [stdout] | [INFO] [stdout] 233 | / /// Sets the expected integrity hash of the written data. If there's a [INFO] [stdout] 234 | | /// mismatch between this Integrity and the one calculated by the write, [INFO] [stdout] 235 | | /// `put.commit()` will error. [INFO] [stdout] | |__________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:260:1 [INFO] [stdout] | [INFO] [stdout] 260 | / impl SyncWriter { [INFO] [stdout] 261 | | /// Creates a new writable file handle into the cache. [INFO] [stdout] 262 | | /// [INFO] [stdout] 263 | | /// ## Example [INFO] [stdout] ... | [INFO] [stdout] 312 | | } [INFO] [stdout] 313 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:285:5 [INFO] [stdout] | [INFO] [stdout] 285 | / /// Closes the Writer handle and writes content and index entries. Also [INFO] [stdout] 286 | | /// verifies data against `size` and `integrity` options, if provided. [INFO] [stdout] 287 | | /// Must be called manually in order to complete the writing process, [INFO] [stdout] 288 | | /// otherwise everything will be thrown out. [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/rm.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | //! Functions for removing things from the cache. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | / impl Internal for std::result::Result { [INFO] [stdout] 18 | | fn to_internal(self) -> InternalResult { [INFO] [stdout] 19 | | self.map_err(|e| InternalError { [INFO] [stdout] 20 | | source: Box::new(e), [INFO] [stdout] ... | [INFO] [stdout] 30 | | } [INFO] [stdout] 31 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | / fn to_internal(self) -> InternalResult { [INFO] [stdout] 19 | | self.map_err(|e| InternalError { [INFO] [stdout] 20 | | source: Box::new(e), [INFO] [stdout] 21 | | context: Vec::new(), [INFO] [stdout] 22 | | }) [INFO] [stdout] 23 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/errors.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | / fn with_context String>(self, f: F) -> InternalResult { [INFO] [stdout] 26 | | self.map_err(|e| InternalError { [INFO] [stdout] 27 | | source: Box::new(e), [INFO] [stdout] 28 | | context: vec![f()], [INFO] [stdout] 29 | | }) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:57:1 [INFO] [stdout] | [INFO] [stdout] 57 | impl Eq for SerializableMetadata {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:51:1 [INFO] [stdout] | [INFO] [stdout] 51 | / impl PartialEq for SerializableMetadata { [INFO] [stdout] 52 | | fn eq(&self, other: &Self) -> bool { [INFO] [stdout] 53 | | self.key == other.key [INFO] [stdout] 54 | | } [INFO] [stdout] 55 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | / fn eq(&self, other: &Self) -> bool { [INFO] [stdout] 53 | | self.key == other.key [INFO] [stdout] 54 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 59 | / impl Hash for SerializableMetadata { [INFO] [stdout] 60 | | fn hash(&self, state: &mut H) { [INFO] [stdout] 61 | | self.key.hash(state); [INFO] [stdout] 62 | | } [INFO] [stdout] 63 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/index.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | / fn hash(&self, state: &mut H) { [INFO] [stdout] 61 | | self.key.hash(state); [INFO] [stdout] 62 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | / impl std::io::Read for Reader { [INFO] [stdout] 19 | | fn read(&mut self, buf: &mut [u8]) -> std::io::Result { [INFO] [stdout] 20 | | let amt = self.fd.read(buf)?; [INFO] [stdout] 21 | | self.checker.input(&buf[..amt]); [INFO] [stdout] 22 | | Ok(amt) [INFO] [stdout] 23 | | } [INFO] [stdout] 24 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | / fn read(&mut self, buf: &mut [u8]) -> std::io::Result { [INFO] [stdout] 20 | | let amt = self.fd.read(buf)?; [INFO] [stdout] 21 | | self.checker.input(&buf[..amt]); [INFO] [stdout] 22 | | Ok(amt) [INFO] [stdout] 23 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:261:1 [INFO] [stdout] | [INFO] [stdout] 261 | / impl std::io::Read for SyncReader { [INFO] [stdout] 262 | | fn read(&mut self, buf: &mut [u8]) -> std::io::Result { [INFO] [stdout] 263 | | self.reader.read(buf) [INFO] [stdout] 264 | | } [INFO] [stdout] 265 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:262:5 [INFO] [stdout] | [INFO] [stdout] 262 | / fn read(&mut self, buf: &mut [u8]) -> std::io::Result { [INFO] [stdout] 263 | | self.reader.read(buf) [INFO] [stdout] 264 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | / impl Write for Writer { [INFO] [stdout] 54 | | fn write(&mut self, buf: &[u8]) -> std::io::Result { [INFO] [stdout] 55 | | self.builder.input(&buf); [INFO] [stdout] 56 | | self.tmpfile.write(&buf) [INFO] [stdout] ... | [INFO] [stdout] 61 | | } [INFO] [stdout] 62 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | / fn write(&mut self, buf: &[u8]) -> std::io::Result { [INFO] [stdout] 55 | | self.builder.input(&buf); [INFO] [stdout] 56 | | self.tmpfile.write(&buf) [INFO] [stdout] 57 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | / fn flush(&mut self) -> std::io::Result<()> { [INFO] [stdout] 60 | | self.tmpfile.flush() [INFO] [stdout] 61 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:251:1 [INFO] [stdout] | [INFO] [stdout] 251 | / impl Write for SyncWriter { [INFO] [stdout] 252 | | fn write(&mut self, buf: &[u8]) -> std::io::Result { [INFO] [stdout] 253 | | self.writer.write(buf) [INFO] [stdout] 254 | | } [INFO] [stdout] ... | [INFO] [stdout] 257 | | } [INFO] [stdout] 258 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:252:5 [INFO] [stdout] | [INFO] [stdout] 252 | / fn write(&mut self, buf: &[u8]) -> std::io::Result { [INFO] [stdout] 253 | | self.writer.write(buf) [INFO] [stdout] 254 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:255:5 [INFO] [stdout] | [INFO] [stdout] 255 | / fn flush(&mut self) -> std::io::Result<()> { [INFO] [stdout] 256 | | self.writer.flush() [INFO] [stdout] 257 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | / impl AsyncRead for AsyncReader { [INFO] [stdout] 38 | | fn poll_read( [INFO] [stdout] 39 | | mut self: Pin<&mut Self>, [INFO] [stdout] 40 | | cx: &mut Context<'_>, [INFO] [stdout] ... | [INFO] [stdout] 46 | | } [INFO] [stdout] 47 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/read.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | / fn poll_read( [INFO] [stdout] 39 | | mut self: Pin<&mut Self>, [INFO] [stdout] 40 | | cx: &mut Context<'_>, [INFO] [stdout] 41 | | buf: &mut [u8], [INFO] [stdout] ... | [INFO] [stdout] 45 | | Poll::Ready(Ok(amt)) [INFO] [stdout] 46 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | / impl AsyncRead for Reader { [INFO] [stdout] 27 | | fn poll_read( [INFO] [stdout] 28 | | mut self: Pin<&mut Self>, [INFO] [stdout] 29 | | cx: &mut TaskContext<'_>, [INFO] [stdout] ... | [INFO] [stdout] 33 | | } [INFO] [stdout] 34 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/get.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | / fn poll_read( [INFO] [stdout] 28 | | mut self: Pin<&mut Self>, [INFO] [stdout] 29 | | cx: &mut TaskContext<'_>, [INFO] [stdout] 30 | | buf: &mut [u8], [INFO] [stdout] 31 | | ) -> Poll> { [INFO] [stdout] 32 | | Pin::new(&mut self.reader).poll_read(cx, buf) [INFO] [stdout] 33 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:164:1 [INFO] [stdout] | [INFO] [stdout] 164 | / impl AsyncWrite for AsyncWriter { [INFO] [stdout] 165 | | fn poll_write( [INFO] [stdout] 166 | | mut self: Pin<&mut Self>, [INFO] [stdout] 167 | | cx: &mut Context<'_>, [INFO] [stdout] ... | [INFO] [stdout] 273 | | } [INFO] [stdout] 274 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 165 | / fn poll_write( [INFO] [stdout] 166 | | mut self: Pin<&mut Self>, [INFO] [stdout] 167 | | cx: &mut Context<'_>, [INFO] [stdout] 168 | | buf: &[u8], [INFO] [stdout] ... | [INFO] [stdout] 214 | | } [INFO] [stdout] 215 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | / fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stdout] 218 | | let state = &mut *self.0.lock().unwrap(); [INFO] [stdout] 219 | | [INFO] [stdout] 220 | | loop { [INFO] [stdout] ... | [INFO] [stdout] 247 | | } [INFO] [stdout] 248 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/content/write.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 250 | / fn poll_close(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { [INFO] [stdout] 251 | | let state = &mut *self.0.lock().unwrap(); [INFO] [stdout] 252 | | [INFO] [stdout] 253 | | loop { [INFO] [stdout] ... | [INFO] [stdout] 272 | | } [INFO] [stdout] 273 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | / impl AsyncWrite for Writer { [INFO] [stdout] 56 | | fn poll_write( [INFO] [stdout] 57 | | mut self: Pin<&mut Self>, [INFO] [stdout] 58 | | cx: &mut TaskContext<'_>, [INFO] [stdout] ... | [INFO] [stdout] 70 | | } [INFO] [stdout] 71 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | / fn poll_write( [INFO] [stdout] 57 | | mut self: Pin<&mut Self>, [INFO] [stdout] 58 | | cx: &mut TaskContext<'_>, [INFO] [stdout] 59 | | buf: &[u8], [INFO] [stdout] 60 | | ) -> Poll> { [INFO] [stdout] 61 | | Pin::new(&mut self.writer).poll_write(cx, buf) [INFO] [stdout] 62 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | / fn poll_flush(mut self: Pin<&mut Self>, cx: &mut TaskContext<'_>) -> Poll> { [INFO] [stdout] 65 | | Pin::new(&mut self.writer).poll_flush(cx) [INFO] [stdout] 66 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/put.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | / fn poll_close(mut self: Pin<&mut Self>, cx: &mut TaskContext<'_>) -> Poll> { [INFO] [stdout] 69 | | Pin::new(&mut self.writer).poll_close(cx) [INFO] [stdout] 70 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 172 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 57.10s [INFO] running `Command { std: "docker" "inspect" "b6a9224b00058e18c063b56446d1dbaed290e852e4eb55896a0f19d9a5375ac8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b6a9224b00058e18c063b56446d1dbaed290e852e4eb55896a0f19d9a5375ac8", kill_on_drop: false }` [INFO] [stdout] b6a9224b00058e18c063b56446d1dbaed290e852e4eb55896a0f19d9a5375ac8