[INFO] crate zkp-mmap-vec 0.1.0 is already in cache [INFO] documenting zkp-mmap-vec-0.1.0 against master#394e1b40d264aa6928811919c1124fa248e7d802 for pr-73566 [INFO] extracting crate zkp-mmap-vec 0.1.0 into /workspace/builds/worker-13/source [INFO] validating manifest of crates.io crate zkp-mmap-vec 0.1.0 on toolchain 394e1b40d264aa6928811919c1124fa248e7d802 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+394e1b40d264aa6928811919c1124fa248e7d802" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate zkp-mmap-vec 0.1.0 [INFO] finished tweaking crates.io crate zkp-mmap-vec 0.1.0 [INFO] tweaked toml for crates.io crate zkp-mmap-vec 0.1.0 written to /workspace/builds/worker-13/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+394e1b40d264aa6928811919c1124fa248e7d802" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+394e1b40d264aa6928811919c1124fa248e7d802" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "+394e1b40d264aa6928811919c1124fa248e7d802" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 585758cc6ed4121fa1a6c6a6a7a8a1f4dd8b8962cfe665e01139a4995d946869 [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" "585758cc6ed4121fa1a6c6a6a7a8a1f4dd8b8962cfe665e01139a4995d946869", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "585758cc6ed4121fa1a6c6a6a7a8a1f4dd8b8962cfe665e01139a4995d946869", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "585758cc6ed4121fa1a6c6a6a7a8a1f4dd8b8962cfe665e01139a4995d946869", kill_on_drop: false }` [INFO] [stdout] 585758cc6ed4121fa1a6c6a6a7a8a1f4dd8b8962cfe665e01139a4995d946869 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "+394e1b40d264aa6928811919c1124fa248e7d802" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6dd160c0de327395b61e73a688aa805493cdcac6d2866b2f54935b3c21a83dff [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" "6dd160c0de327395b61e73a688aa805493cdcac6d2866b2f54935b3c21a83dff", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.71 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Checking no-std-compat v0.1.1 [INFO] [stderr] Checking getrandom v0.1.14 [INFO] [stderr] Checking memmap v0.7.0 [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] Documenting zkp-mmap-vec v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/lib.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | / #![cfg_attr(not(feature = "std"), no_std)] [INFO] [stdout] 6 | | // #![forbid(unsafe_code)] // We need unsafe in this package [INFO] [stdout] 7 | | #![warn( [INFO] [stdout] 8 | | // Enable sets of warnings [INFO] [stdout] ... | [INFO] [stdout] 51 | | #[cfg(not(feature = "std"))] [INFO] [stdout] 52 | | pub use std::vec::Vec as MmapVec; [INFO] [stdout] | |_________________________________^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | missing_doc_code_examples, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / pub struct MmapVec { [INFO] [stdout] 20 | | mmap: MmapMut, [INFO] [stdout] 21 | | length: usize, [INFO] [stdout] 22 | | capacity: usize, [INFO] [stdout] 23 | | _t: PhantomData, [INFO] [stdout] 24 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | mmap: MmapMut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | length: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | capacity: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | _t: PhantomData, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | / #![allow(unsafe_code)] [INFO] [stdout] 3 | | use log::*; [INFO] [stdout] 4 | | use memmap::{MmapMut, MmapOptions}; [INFO] [stdout] 5 | | use std::{ [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/mmap_vec.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | / impl MmapVec { [INFO] [stdout] 27 | | pub fn with_capacity(capacity: usize) -> Self { [INFO] [stdout] 28 | | // From https://docs.rs/tempfile/3.1.0/tempfile/: tempfile() relies on [INFO] [stdout] 29 | | // the OS to remove the temporary file once the last handle is closed. [INFO] [stdout] ... | [INFO] [stdout] 99 | | } [INFO] [stdout] 100 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | / pub fn with_capacity(capacity: usize) -> Self { [INFO] [stdout] 28 | | // From https://docs.rs/tempfile/3.1.0/tempfile/: tempfile() relies on [INFO] [stdout] 29 | | // the OS to remove the temporary file once the last handle is closed. [INFO] [stdout] 30 | | let file = tempfile().expect("cannot create temporary file"); [INFO] [stdout] ... | [INFO] [stdout] 44 | | } [INFO] [stdout] 45 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | / pub unsafe fn zero_initialized(len: usize) -> Self { [INFO] [stdout] 50 | | let mut result = Self::with_capacity(len); [INFO] [stdout] 51 | | result.length = len; [INFO] [stdout] 52 | | result [INFO] [stdout] 53 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | / pub fn is_empty(&self) -> bool { [INFO] [stdout] 56 | | self.length == 0 [INFO] [stdout] 57 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | / pub fn len(&self) -> usize { [INFO] [stdout] 60 | | self.length [INFO] [stdout] 61 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn push(&mut self, next: T) { [INFO] [stdout] 64 | | if self.length == self.capacity { [INFO] [stdout] 65 | | panic!("MmapVec is at capacity") [INFO] [stdout] 66 | | } [INFO] [stdout] ... | [INFO] [stdout] 69 | | self[end] = next; [INFO] [stdout] 70 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 72 | / pub fn resize(&mut self, size: usize, fill: T) { [INFO] [stdout] 73 | | if size > self.capacity { [INFO] [stdout] 74 | | panic!("MmapVec is at capacity") [INFO] [stdout] 75 | | } [INFO] [stdout] ... | [INFO] [stdout] 79 | | self.length = size; [INFO] [stdout] 80 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | / pub fn extend_from_slice(&mut self, slice: &[T]) { [INFO] [stdout] 83 | | if self.length + slice.len() > self.capacity { [INFO] [stdout] 84 | | panic!("MmapVec would grow beyond capacity") [INFO] [stdout] 85 | | } [INFO] [stdout] ... | [INFO] [stdout] 88 | | self.as_mut_slice()[start..].clone_from_slice(slice); [INFO] [stdout] 89 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | / pub fn as_slice(&self) -> &[T] { [INFO] [stdout] 93 | | self [INFO] [stdout] 94 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | / pub fn as_mut_slice(&mut self) -> &mut [T] { [INFO] [stdout] 98 | | self [INFO] [stdout] 99 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:119:1 [INFO] [stdout] | [INFO] [stdout] 119 | / impl Extend for MmapVec { [INFO] [stdout] 120 | | fn extend>(&mut self, iter: I) { [INFO] [stdout] 121 | | // The function signature is for compatibility with Vec::extend. [INFO] [stdout] 122 | | // OPT: Specialize for SliceIterator [INFO] [stdout] ... | [INFO] [stdout] 126 | | } [INFO] [stdout] 127 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:120:5 [INFO] [stdout] | [INFO] [stdout] 120 | / fn extend>(&mut self, iter: I) { [INFO] [stdout] 121 | | // The function signature is for compatibility with Vec::extend. [INFO] [stdout] 122 | | // OPT: Specialize for SliceIterator [INFO] [stdout] 123 | | for i in iter { [INFO] [stdout] 124 | | self.push(i) [INFO] [stdout] 125 | | } [INFO] [stdout] 126 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | / impl<'a, T: 'a + Clone> Extend<&'a T> for MmapVec { [INFO] [stdout] 130 | | fn extend>(&mut self, iter: I) { [INFO] [stdout] 131 | | // The function signature is for compatibility with Vec::extend. [INFO] [stdout] 132 | | for i in iter { [INFO] [stdout] ... | [INFO] [stdout] 135 | | } [INFO] [stdout] 136 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | / fn extend>(&mut self, iter: I) { [INFO] [stdout] 131 | | // The function signature is for compatibility with Vec::extend. [INFO] [stdout] 132 | | for i in iter { [INFO] [stdout] 133 | | self.push(i.clone()) [INFO] [stdout] 134 | | } [INFO] [stdout] 135 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:111:1 [INFO] [stdout] | [INFO] [stdout] 111 | / impl Clone for MmapVec { [INFO] [stdout] 112 | | fn clone(&self) -> Self { [INFO] [stdout] 113 | | let mut clone = Self::with_capacity(self.capacity); [INFO] [stdout] 114 | | clone.extend(self.iter()); [INFO] [stdout] 115 | | clone [INFO] [stdout] 116 | | } [INFO] [stdout] 117 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | / fn clone(&self) -> Self { [INFO] [stdout] 113 | | let mut clone = Self::with_capacity(self.capacity); [INFO] [stdout] 114 | | clone.extend(self.iter()); [INFO] [stdout] 115 | | clone [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:102:1 [INFO] [stdout] | [INFO] [stdout] 102 | / impl PartialEq for MmapVec { [INFO] [stdout] 103 | | fn eq(&self, other: &Self) -> bool { [INFO] [stdout] 104 | | if self.len() != other.len() { [INFO] [stdout] 105 | | return false; [INFO] [stdout] ... | [INFO] [stdout] 108 | | } [INFO] [stdout] 109 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | / fn eq(&self, other: &Self) -> bool { [INFO] [stdout] 104 | | if self.len() != other.len() { [INFO] [stdout] 105 | | return false; [INFO] [stdout] 106 | | } [INFO] [stdout] 107 | | self.iter().zip(other.iter()).all(|(a, b)| a == b) [INFO] [stdout] 108 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:138:1 [INFO] [stdout] | [INFO] [stdout] 138 | / impl Deref for MmapVec { [INFO] [stdout] 139 | | type Target = [T]; [INFO] [stdout] 140 | | [INFO] [stdout] 141 | | #[inline] [INFO] [stdout] ... | [INFO] [stdout] 144 | | } [INFO] [stdout] 145 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | type Target = [T]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | / fn deref(&self) -> &[T] { [INFO] [stdout] 143 | | unsafe { slice::from_raw_parts(self.mmap.as_ptr() as *const T, self.length) } [INFO] [stdout] 144 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:147:1 [INFO] [stdout] | [INFO] [stdout] 147 | / impl DerefMut for MmapVec { [INFO] [stdout] 148 | | #[inline] [INFO] [stdout] 149 | | fn deref_mut(&mut self) -> &mut [T] { [INFO] [stdout] 150 | | unsafe { slice::from_raw_parts_mut(self.mmap.as_mut_ptr() as *mut T, self.length) } [INFO] [stdout] 151 | | } [INFO] [stdout] 152 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/mmap_vec.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | / fn deref_mut(&mut self) -> &mut [T] { [INFO] [stdout] 150 | | unsafe { slice::from_raw_parts_mut(self.mmap.as_mut_ptr() as *mut T, self.length) } [INFO] [stdout] 151 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.65s [INFO] running `Command { std: "docker" "inspect" "6dd160c0de327395b61e73a688aa805493cdcac6d2866b2f54935b3c21a83dff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6dd160c0de327395b61e73a688aa805493cdcac6d2866b2f54935b3c21a83dff", kill_on_drop: false }` [INFO] [stdout] 6dd160c0de327395b61e73a688aa805493cdcac6d2866b2f54935b3c21a83dff