[INFO] fetching crate secrets 1.0.0... [INFO] documenting secrets-1.0.0 against master#394e1b40d264aa6928811919c1124fa248e7d802 for pr-73566 [INFO] extracting crate secrets 1.0.0 into /workspace/builds/worker-4/source [INFO] validating manifest of crates.io crate secrets 1.0.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 secrets 1.0.0 [INFO] finished tweaking crates.io crate secrets 1.0.0 [INFO] tweaked toml for crates.io crate secrets 1.0.0 written to /workspace/builds/worker-4/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-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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] 453d1d7f8dd5ced6cc56c62dc37792181cd5abad74491932da4e6b97a5bcd3d1 [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" "453d1d7f8dd5ced6cc56c62dc37792181cd5abad74491932da4e6b97a5bcd3d1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "453d1d7f8dd5ced6cc56c62dc37792181cd5abad74491932da4e6b97a5bcd3d1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "453d1d7f8dd5ced6cc56c62dc37792181cd5abad74491932da4e6b97a5bcd3d1", kill_on_drop: false }` [INFO] [stdout] 453d1d7f8dd5ced6cc56c62dc37792181cd5abad74491932da4e6b97a5bcd3d1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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] 9fe484a6a5bcde8073f941e516efbc5ae12acf9ebedaa2d2ef52c270b1efe222 [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" "9fe484a6a5bcde8073f941e516efbc5ae12acf9ebedaa2d2ef52c270b1efe222", kill_on_drop: false }` [INFO] [stderr] Compiling secrets v1.0.0 (/opt/rustwide/workdir) [INFO] [stderr] Documenting secrets v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / /// A type for protecting secrets allocated on the stack. [INFO] [stdout] 13 | | /// [INFO] [stdout] 14 | | /// Stack-allocated secrets have distinct security needs from [INFO] [stdout] 15 | | /// heap-allocated secrets, and should be preferred when possible. They [INFO] [stdout] ... | [INFO] [stdout] 79 | | /// [INFO] [stdout] 80 | | /// [mlock]: http://man7.org/linux/man-pages/man2/mlock.2.html [INFO] [stdout] | |______________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | #![warn(rustdoc)] [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: `#[warn(private_doc_tests)]` implied by `#[warn(rustdoc)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret_box.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / /// [INFO] [stdout] 8 | | /// A type for protecting fixed-length secrets allocated on the heap. [INFO] [stdout] 9 | | /// [INFO] [stdout] 10 | | /// Heap-allocated secrets have distinct security needs from [INFO] [stdout] ... | [INFO] [stdout] 128 | | /// [mlock]: http://man7.org/linux/man-pages/man2/mlock.2.html [INFO] [stdout] 129 | | /// [refcell]: std::cell::RefCell [INFO] [stdout] | |_________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret_vec.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / /// A type for protecting variable-length secrets allocated on the heap. [INFO] [stdout] 8 | | /// [INFO] [stdout] 9 | | /// Heap-allocated secrets have distinct security needs from [INFO] [stdout] 10 | | /// stack-allocated ones. They provide the following guarantees: [INFO] [stdout] ... | [INFO] [stdout] 127 | | /// [mlock]: http://man7.org/linux/man-pages/man2/mlock.2.html [INFO] [stdout] 128 | | /// [refcell]: std::cell::RefCell [INFO] [stdout] | |_________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / /// A type for protecting secrets allocated on the stack. [INFO] [stdout] 13 | | /// [INFO] [stdout] 14 | | /// Stack-allocated secrets have distinct security needs from [INFO] [stdout] 15 | | /// heap-allocated secrets, and should be preferred when possible. They [INFO] [stdout] ... | [INFO] [stdout] 79 | | /// [INFO] [stdout] 80 | | /// [mlock]: http://man7.org/linux/man-pages/man2/mlock.2.html [INFO] [stdout] | |______________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | / /// Creates a new [`Secret`] and invokes the provided callback with [INFO] [stdout] 97 | | /// a wrapper to the protected memory. This memory will be filled [INFO] [stdout] 98 | | /// with a well-defined, arbitrary byte pattern, and should be [INFO] [stdout] 99 | | /// initialized to something meaningful before actual use. [INFO] [stdout] ... | [INFO] [stdout] 108 | | /// }); [INFO] [stdout] 109 | | /// ``` [INFO] [stdout] | |___________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | / /// Creates a new [`Secret`] filled with zeroed bytes and invokes the [INFO] [stdout] 131 | | /// callback with a wrapper to the protected memory. [INFO] [stdout] 132 | | /// [INFO] [stdout] 133 | | /// ``` [INFO] [stdout] ... | [INFO] [stdout] 137 | | /// }); [INFO] [stdout] 138 | | /// ``` [INFO] [stdout] | |___________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | / /// Creates a new [`Secret`] from existing, unprotected data, and [INFO] [stdout] 150 | | /// immediately zeroes out the memory of the data being moved in. [INFO] [stdout] 151 | | /// Invokes the callback with a wrapper to the protected memory. [INFO] [stdout] 152 | | /// [INFO] [stdout] ... | [INFO] [stdout] 161 | | /// assert_eq!(bytes, [0, 0, 0, 0]); [INFO] [stdout] 162 | | /// ``` [INFO] [stdout] | |___________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret.rs:175:5 [INFO] [stdout] | [INFO] [stdout] 175 | / /// Creates a new [`Secret`] filled with random bytes and invokes [INFO] [stdout] 176 | | /// the callback with a wrapper to the protected memory. [INFO] [stdout] 177 | | /// [INFO] [stdout] 178 | | /// ``` [INFO] [stdout] ... | [INFO] [stdout] 182 | | /// }) [INFO] [stdout] 183 | | /// ``` [INFO] [stdout] | |___________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret_box.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | / /// Instantiates and returns a new [`SecretBox`]. [INFO] [stdout] 162 | | /// [INFO] [stdout] 163 | | /// Accepts a callback function that is responsible for initializing [INFO] [stdout] 164 | | /// its contents. The value yielded to the initialization callback [INFO] [stdout] ... | [INFO] [stdout] 173 | | /// assert_eq!(*secret.borrow(), 0x20); [INFO] [stdout] 174 | | /// ``` [INFO] [stdout] | |___________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret_box.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 204 | / /// Immutably borrows the contents of the [`SecretBox`]. Returns a [INFO] [stdout] 205 | | /// wrapper that ensures the underlying memory is [INFO] [stdout] 206 | | /// [`mprotect(2)`][mprotect]ed once all borrows exit scope. [INFO] [stdout] 207 | | /// [INFO] [stdout] ... | [INFO] [stdout] 220 | | /// [INFO] [stdout] 221 | | /// [mprotect]: http://man7.org/linux/man-pages/man2/mprotect.2.html [INFO] [stdout] | |________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret_box.rs:226:5 [INFO] [stdout] | [INFO] [stdout] 226 | / /// Mutably borrows the contents of the [`SecretBox`]. Returns a [INFO] [stdout] 227 | | /// wrapper that ensures the underlying memory is [INFO] [stdout] 228 | | /// [`mprotect(2)`][mprotect]ed once this borrow exits scope. [INFO] [stdout] 229 | | /// [INFO] [stdout] ... | [INFO] [stdout] 241 | | /// [INFO] [stdout] 242 | | /// [mprotect]: http://man7.org/linux/man-pages/man2/mprotect.2.html [INFO] [stdout] | |________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret_vec.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | / /// Instantiates and returns a new `SecretVec`. [INFO] [stdout] 161 | | /// [INFO] [stdout] 162 | | /// Accepts a callback function that is responsible for initializing [INFO] [stdout] 163 | | /// its contents. The value yielded to the initialization callback [INFO] [stdout] ... | [INFO] [stdout] 175 | | /// assert_eq!(*secret.borrow(), [0x10, 0x20]); [INFO] [stdout] 176 | | /// ``` [INFO] [stdout] | |___________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret_vec.rs:216:5 [INFO] [stdout] | [INFO] [stdout] 216 | / /// Immutably borrows the contents of the [`SecretVec`]. Returns a [INFO] [stdout] 217 | | /// wrapper that ensures the underlying memory is [INFO] [stdout] 218 | | /// [`mprotect(2)`][mprotect]ed once all borrows exit scope. [INFO] [stdout] 219 | | /// [INFO] [stdout] ... | [INFO] [stdout] 232 | | /// [INFO] [stdout] 233 | | /// [mprotect]: http://man7.org/linux/man-pages/man2/mprotect.2.html [INFO] [stdout] | |________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: documentation test in private item [INFO] [stdout] --> src/secret_vec.rs:238:5 [INFO] [stdout] | [INFO] [stdout] 238 | / /// Mutably borrows the contents of the [`SecretVec`]. Returns a [INFO] [stdout] 239 | | /// wrapper that ensures the underlying memory is [INFO] [stdout] 240 | | /// [`mprotect(2)`][mprotect]ed once this borrow exits scope. [INFO] [stdout] 241 | | /// [INFO] [stdout] ... | [INFO] [stdout] 253 | | /// [INFO] [stdout] 254 | | /// [mprotect]: http://man7.org/linux/man-pages/man2/mprotect.2.html [INFO] [stdout] | |________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | /// The internal protected memory for the [`Secret`]. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | #![warn(rustdoc)] [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: `#[warn(missing_doc_code_examples)]` implied by `#[warn(rustdoc)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | /// The internal protected memory underlying the [`SecretBox`]. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | /// The internal protected memory underlying the [`SecretVec`]. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/lib.rs:184:1 [INFO] [stdout] | [INFO] [stdout] 184 | / /// Macros for ensuring code correctness inspired by [sqlite]. [INFO] [stdout] 185 | | /// [INFO] [stdout] 186 | | /// [sqlite]: https://www.sqlite.org/assert.html [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/lib.rs:325:1 [INFO] [stdout] | [INFO] [stdout] 325 | /// Container for FFI-related code. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | //! Rust bindings to libsodium functions. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | / /// Initialized libsodium. This function *must* be called at least once [INFO] [stdout] 48 | | /// prior to using any of the other functions in this library, and [INFO] [stdout] 49 | | /// callers *must* verify that it returns `true`. If it returns `false`, [INFO] [stdout] 50 | | /// libsodium was unable to be properly set up and this library *must [INFO] [stdout] 51 | | /// not* be used. [INFO] [stdout] 52 | | /// [INFO] [stdout] 53 | | /// Calling it multiple times is a no-op. [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:99:1 [INFO] [stdout] | [INFO] [stdout] 99 | / /// Allocates memory that can store `count` objects of type `T` and [INFO] [stdout] 100 | | /// fills that memory with garbage bytes. Callers must ensure that they [INFO] [stdout] 101 | | /// call [`sodium::free`] when this memory is no longer used. [INFO] [stdout] | |_____________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `[sodium::free]` cannot be resolved, ignoring it. [INFO] [stdout] --> src/ffi/sodium.rs:101:11 [INFO] [stdout] | [INFO] [stdout] 101 | /// call [`sodium::free`] when this memory is no longer used. [INFO] [stdout] | ^^^^^^^^^^^^^^ cannot be resolved, ignoring [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | #![warn(rustdoc)] [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: `#[warn(intra_doc_link_resolution_failure)]` implied by `#[warn(rustdoc)]` [INFO] [stdout] = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:106:1 [INFO] [stdout] | [INFO] [stdout] 106 | / /// Releases memory acquired with [`sodium::allocarray`]. This function [INFO] [stdout] 107 | | /// may panic if it detects that certain soundness and safety guarantees [INFO] [stdout] 108 | | /// have been violated (e.g., an underflowing write). [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `[sodium::allocarray]` cannot be resolved, ignoring it. [INFO] [stdout] --> src/ffi/sodium.rs:106:36 [INFO] [stdout] | [INFO] [stdout] 106 | /// Releases memory acquired with [`sodium::allocarray`]. This function [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ cannot be resolved, ignoring [INFO] [stdout] | [INFO] [stdout] = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:113:1 [INFO] [stdout] | [INFO] [stdout] 113 | /// Calls the platform's underlying `mlock(2)` implementation. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:121:1 [INFO] [stdout] | [INFO] [stdout] 121 | /// Calls the platform's underlying `munlock(2)` implementation. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | / /// Sets the page protection level of [`sodium::allocarray`]-allocated [INFO] [stdout] 130 | | /// memory to `PROT_NONE`. This must be used in lieu of a raw call to [INFO] [stdout] 131 | | /// `mprotect` which is unaware of the specific allocation pattern used [INFO] [stdout] 132 | | /// by libsodium. [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `[sodium::allocarray]` cannot be resolved, ignoring it. [INFO] [stdout] --> src/ffi/sodium.rs:129:40 [INFO] [stdout] | [INFO] [stdout] 129 | /// Sets the page protection level of [`sodium::allocarray`]-allocated [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ cannot be resolved, ignoring [INFO] [stdout] | [INFO] [stdout] = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:140:1 [INFO] [stdout] | [INFO] [stdout] 140 | / /// Sets the page protection level of [`sodium::allocarray`]-allocated [INFO] [stdout] 141 | | /// memory to `PROT_READ`. This must be used in lieu of a raw call to [INFO] [stdout] 142 | | /// `mprotect` which is unaware of the specific allocation pattern used [INFO] [stdout] 143 | | /// by libsodium. [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `[sodium::allocarray]` cannot be resolved, ignoring it. [INFO] [stdout] --> src/ffi/sodium.rs:140:40 [INFO] [stdout] | [INFO] [stdout] 140 | /// Sets the page protection level of [`sodium::allocarray`]-allocated [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ cannot be resolved, ignoring [INFO] [stdout] | [INFO] [stdout] = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | / /// Sets the page protection level of [`sodium::allocarray`]-allocated [INFO] [stdout] 152 | | /// memory to `PROT_WRITE`. This must be used in lieu of a raw call to [INFO] [stdout] 153 | | /// `mprotect` which is unaware of the specific allocation pattern used [INFO] [stdout] 154 | | /// by libsodium. [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `[sodium::allocarray]` cannot be resolved, ignoring it. [INFO] [stdout] --> src/ffi/sodium.rs:151:40 [INFO] [stdout] | [INFO] [stdout] 151 | /// Sets the page protection level of [`sodium::allocarray`]-allocated [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ cannot be resolved, ignoring [INFO] [stdout] | [INFO] [stdout] = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | / /// Compares `l` and `r` for equality in constant time, preventing [INFO] [stdout] 163 | | /// side-channel attacks when comparing equality of secret data. [INFO] [stdout] | |________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:178:1 [INFO] [stdout] | [INFO] [stdout] 178 | / /// Copies bytes from `src` to `dst` before zeroing the bytes in `src`. [INFO] [stdout] 179 | | /// `dst` *must* be at least as long as `src` and *must not* overlap [INFO] [stdout] 180 | | /// `src`. [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:203:1 [INFO] [stdout] | [INFO] [stdout] 203 | /// Fills `bytes` with zeroes. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:208:1 [INFO] [stdout] | [INFO] [stdout] 208 | /// Fills `bytes` with random bytes. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | fn sodium_init() -> c_int; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | fn sodium_allocarray(count: size_t, size: size_t) -> *mut c_void; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | fn sodium_free(ptr: *mut c_void); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | fn sodium_mlock(ptr: *mut c_void, len: size_t) -> c_int; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | fn sodium_munlock(ptr: *mut c_void, len: size_t) -> c_int; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | fn sodium_mprotect_noaccess(ptr: *mut c_void) -> c_int; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | fn sodium_mprotect_readonly(ptr: *mut c_void) -> c_int; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | fn sodium_mprotect_readwrite(ptr: *mut c_void) -> c_int; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | fn sodium_memcmp(l: *const c_void, r: *const c_void, len: size_t) -> c_int; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | fn sodium_memzero(ptr: *mut c_void, len: size_t); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | fn randombytes_buf(ptr: *mut c_void, len: size_t); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | / /// The global [`sync::Once`] that ensures we only perform [INFO] [stdout] 11 | | /// library initialization one time. [INFO] [stdout] | |____________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `[sync::Once]` cannot be resolved, ignoring it. [INFO] [stdout] --> src/ffi/sodium.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | /// The global [`sync::Once`] that ensures we only perform [INFO] [stdout] | ^^^^^^^^^^^^ cannot be resolved, ignoring [INFO] [stdout] | [INFO] [stdout] = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/ffi/sodium.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | / /// A flag that returns whether or not this library has been safely [INFO] [stdout] 15 | | /// initialized. [INFO] [stdout] | |________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/lib.rs:330:1 [INFO] [stdout] | [INFO] [stdout] 330 | /// Container for `Box`. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:38:1 [INFO] [stdout] | [INFO] [stdout] 38 | / /// NOTE: This implementation is not meant to be exposed directly to [INFO] [stdout] 39 | | /// end-users, and user-facing wrappers must be written with care to [INFO] [stdout] 40 | | /// ensure they statically enforce the required invariants. These [INFO] [stdout] 41 | | /// invariants are asserted with `debug_assert` in order to catch bugs [INFO] [stdout] ... | [INFO] [stdout] 45 | | /// [INFO] [stdout] 46 | | /// TODO: document invariants [INFO] [stdout] | |_____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | /// the non-null pointer to the underlying protected memory [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | /// the number of elements of `T` that can be stored in `ptr` [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | /// the pointer's current protection level [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | / /// the number of outstanding borrows; mutable borrows are tracked [INFO] [stdout] 59 | | /// here even though there is a max of one, so that asserts can [INFO] [stdout] 60 | | /// ensure invariants are obeyed [INFO] [stdout] | |____________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | /// The page protection applied to the memory underlying a [`Box`]. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | / /// Any attempt to read, write, or execute this memory will result [INFO] [stdout] 16 | | /// in a segfault. [INFO] [stdout] | |______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | / /// Any attempt to write to or execute the contents of this memory [INFO] [stdout] 20 | | /// will result in a segfault. Reads are permitted. [INFO] [stdout] | |_______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | / /// Any attempt to execute the contents of this memory will result [INFO] [stdout] 24 | | /// in a segfault. Reads and writes are permitted. [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:475:1 [INFO] [stdout] | [INFO] [stdout] 475 | /// Immediately changes the page protection level on `ptr` to `prot`. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | / /// The type used for storing ref counts. Overflowing this type by [INFO] [stdout] 29 | | /// borrowing too many times will cause a runtime panic. It seems [INFO] [stdout] 30 | | /// implausible that there would be many legitimate use-cases where [INFO] [stdout] 31 | | /// someone needs more than 255 simultaneous borrows of secret data. [INFO] [stdout] ... | [INFO] [stdout] 34 | | /// such that a user who did need a larger value could provide a [INFO] [stdout] 35 | | /// larger replacement. [INFO] [stdout] | |_______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | / impl Box { [INFO] [stdout] 65 | | /// Instantiates a new [`Box`] that can hold `len` elements of type [INFO] [stdout] 66 | | /// `T`. The callback `F` will be used for initialization and will [INFO] [stdout] 67 | | /// be called with a mutable reference to the unlocked [`Box`]. The [INFO] [stdout] ... | [INFO] [stdout] 386 | | } [INFO] [stdout] 387 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | / /// Instantiates a new [`Box`] that can hold `len` elements of type [INFO] [stdout] 66 | | /// `T`. The callback `F` will be used for initialization and will [INFO] [stdout] 67 | | /// be called with a mutable reference to the unlocked [`Box`]. The [INFO] [stdout] 68 | | /// [`Box`] will be locked before it is returned from this function. [INFO] [stdout] | |________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | / /// Instantiates a new [`Box`] that can hold `len` elements of type [INFO] [stdout] 85 | | /// `T`. The callback `F` will be used for initialization and will [INFO] [stdout] 86 | | /// be called with a mutable reference to the unlocked [`Box`]. This [INFO] [stdout] 87 | | /// callback must return a [`Result`] indicating whether or not the [INFO] [stdout] 88 | | /// initialization succeeded (the [`Ok`] value is ignored). The [INFO] [stdout] 89 | | /// [`Box`] will be locked before it is returned from this function. [INFO] [stdout] | |________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | /// Returns the number of elements in the [`Box`]. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | /// Returns true if the [`Box`] is empty. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | / /// Returns the size in bytes of the data contained in the [`Box`]. [INFO] [stdout] 117 | | /// This does not include incidental metadata used in the [INFO] [stdout] 118 | | /// implementation of [`Box`] itself, only the size of the data [INFO] [stdout] 119 | | /// allocated on behalf of the user. [INFO] [stdout] 120 | | /// [INFO] [stdout] 121 | | /// It is the maximum number of bytes that can be read from the [INFO] [stdout] 122 | | /// internal pointer. [INFO] [stdout] | |_________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:127:5 [INFO] [stdout] | [INFO] [stdout] 127 | / /// Allows the contents of the [`Box`] to be read from. Any call to [INFO] [stdout] 128 | | /// this function *must* be balanced with a call to [INFO] [stdout] 129 | | /// [`lock`][Box::lock]. Mirroring Rust's borrowing rules, there may [INFO] [stdout] 130 | | /// be any number of outstanding immutable unlocks (technically, [INFO] [stdout] 131 | | /// limited by the max value of [`RefCount`]) *or* one mutable [INFO] [stdout] 132 | | /// unlock. [INFO] [stdout] | |_______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | / /// Allows the contents of the [`Box`] to be read from and written [INFO] [stdout] 139 | | /// to. Any call to this function *must* be balanced with a call to [INFO] [stdout] 140 | | /// [`lock`][Box::lock]. Mirroring Rust's borrowing rules, there may [INFO] [stdout] 141 | | /// be any number of outstanding immutable unlocks (technically, [INFO] [stdout] 142 | | /// limited by the max value of [`RefCount`]) *or* one mutable [INFO] [stdout] 143 | | /// unlock. [INFO] [stdout] | |_______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | / /// Disables all access to the underlying memory. Must only be [INFO] [stdout] 150 | | /// called to precisely balance prior calls to [`unlock`][Box::unlock] [INFO] [stdout] 151 | | /// and [`unlock_mut`][Box::unlock_mut]. [INFO] [stdout] 152 | | /// [INFO] [stdout] ... | [INFO] [stdout] 155 | | /// method and leaving an outstanding unlock will result in a [INFO] [stdout] 156 | | /// runtime panic when this object is dropped. [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | / /// Converts the [`Box`]'s contents into a reference. This must only [INFO] [stdout] 162 | | /// happen while it is unlocked, and the reference must go out of [INFO] [stdout] 163 | | /// scope before it is locked. [INFO] [stdout] 164 | | /// [INFO] [stdout] 165 | | /// Panics if `len == 0`, in which case it would be unsafe to [INFO] [stdout] 166 | | /// dereference the internal pointer. [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 180 | / /// Converts the [`Box`]'s contents into a mutable reference. This [INFO] [stdout] 181 | | /// must only happen while it is mutably unlocked, and the slice [INFO] [stdout] 182 | | /// must go out of scope before it is locked. [INFO] [stdout] 183 | | /// [INFO] [stdout] 184 | | /// Panics if `len == 0`, in which case it would be unsafe to [INFO] [stdout] 185 | | /// dereference the internal pointer. [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:199:5 [INFO] [stdout] | [INFO] [stdout] 199 | / /// Converts the [`Box`]'s contents into a slice. This must only [INFO] [stdout] 200 | | /// happen while it is unlocked, and the slice must go out of scope [INFO] [stdout] 201 | | /// before it is locked. [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 227 | / /// Converts the [`Box`]'s contents into a mutable slice. This must [INFO] [stdout] 228 | | /// only happen while it is mutably unlocked, and the slice must go [INFO] [stdout] 229 | | /// out of scope before it is locked. [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | / /// Instantiates a new [`Box`] that can hold `len` elements of type [INFO] [stdout] 243 | | /// `T`. This [`Box`] will be unlocked and *must* be locked before [INFO] [stdout] 244 | | /// it is dropped. [INFO] [stdout] 245 | | /// [INFO] [stdout] 246 | | /// TODO: make `len` a `NonZero` when it's stabilized and remove the [INFO] [stdout] 247 | | /// related panic. [INFO] [stdout] | |______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | / /// Performs the underlying retain half of the retain/release logic [INFO] [stdout] 276 | | /// for monitoring outstanding calls to unlock. [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 338 | / /// Removes one outsdanding retain, and changes the memory [INFO] [stdout] 339 | | /// protection level back to [`Prot::NoAccess`] when the number of [INFO] [stdout] 340 | | /// outstanding retains reaches zero. [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:382:5 [INFO] [stdout] | [INFO] [stdout] 382 | / /// Returns true if the protection level is [`NoAccess`]. Ignores [INFO] [stdout] 383 | | /// ref count. [INFO] [stdout] | |__________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `[NoAccess]` cannot be resolved, ignoring it. [INFO] [stdout] --> src/boxed.rs:382:50 [INFO] [stdout] | [INFO] [stdout] 382 | /// Returns true if the protection level is [`NoAccess`]. Ignores [INFO] [stdout] | ^^^^^^^^^^ cannot be resolved, ignoring [INFO] [stdout] | [INFO] [stdout] = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:389:1 [INFO] [stdout] | [INFO] [stdout] 389 | / impl Box { [INFO] [stdout] 390 | | /// Instantiates a new [`Box`] with crypotgraphically-randomized [INFO] [stdout] 391 | | /// contents. [INFO] [stdout] 392 | | pub(crate) fn random(len: usize) -> Self { [INFO] [stdout] 393 | | Self::new(len, |b| b.as_mut_slice().randomize()) [INFO] [stdout] 394 | | } [INFO] [stdout] 395 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:390:5 [INFO] [stdout] | [INFO] [stdout] 390 | / /// Instantiates a new [`Box`] with crypotgraphically-randomized [INFO] [stdout] 391 | | /// contents. [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:397:1 [INFO] [stdout] | [INFO] [stdout] 397 | / impl Box { [INFO] [stdout] 398 | | /// Instantiates a new [`Box`] whose backing memory is zeroed. [INFO] [stdout] 399 | | pub(crate) fn zero(len: usize) -> Self { [INFO] [stdout] 400 | | Self::new(len, |b| b.as_mut_slice().zero()) [INFO] [stdout] 401 | | } [INFO] [stdout] 402 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:398:5 [INFO] [stdout] | [INFO] [stdout] 398 | /// Instantiates a new [`Box`] whose backing memory is zeroed. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/lib.rs:333:1 [INFO] [stdout] | [INFO] [stdout] 333 | /// Container for `Secret`. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | /// The internal protected memory for the [`Secret`]. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | / /// A mutable [`Deref`]-wrapper around a [`Secret`]'s internal [INFO] [stdout] 87 | | /// contents that intercepts calls like [`Clone::clone`] and [INFO] [stdout] 88 | | /// [`Debug::fmt`] that are likely to result in the inadvertent [INFO] [stdout] 89 | | /// disclosure of secret data. [INFO] [stdout] | |______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | /// a reference to the underlying secret data that will be derefed [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | / impl Secret { [INFO] [stdout] 96 | | /// Creates a new [`Secret`] and invokes the provided callback with [INFO] [stdout] 97 | | /// a wrapper to the protected memory. This memory will be filled [INFO] [stdout] 98 | | /// with a well-defined, arbitrary byte pattern, and should be [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/secret.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | / impl Secret { [INFO] [stdout] 130 | | /// Creates a new [`Secret`] filled with zeroed bytes and invokes the [INFO] [stdout] 131 | | /// callback with a wrapper to the protected memory. [INFO] [stdout] 132 | | /// [INFO] [stdout] ... | [INFO] [stdout] 171 | | } [INFO] [stdout] 172 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:174:1 [INFO] [stdout] | [INFO] [stdout] 174 | / impl Secret { [INFO] [stdout] 175 | | /// Creates a new [`Secret`] filled with random bytes and invokes [INFO] [stdout] 176 | | /// the callback with a wrapper to the protected memory. [INFO] [stdout] 177 | | /// [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/secret.rs:209:1 [INFO] [stdout] | [INFO] [stdout] 209 | / impl<'a, T: Bytes> RefMut<'a, T> { [INFO] [stdout] 210 | | /// Instantiates a new `RefMut`. [INFO] [stdout] 211 | | pub(crate) fn new(data: &'a mut T) -> Self { [INFO] [stdout] 212 | | Self { data } [INFO] [stdout] 213 | | } [INFO] [stdout] 214 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:210:5 [INFO] [stdout] | [INFO] [stdout] 210 | /// Instantiates a new `RefMut`. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/lib.rs:336:1 [INFO] [stdout] | [INFO] [stdout] 336 | /// Container for `SecretBox`. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:136:1 [INFO] [stdout] | [INFO] [stdout] 136 | / /// An immutable wrapper around the internal contents of a [INFO] [stdout] 137 | | /// [`SecretBox`]. This wrapper [`Deref`]s to its slice representation [INFO] [stdout] 138 | | /// for convenience. [INFO] [stdout] 139 | | /// [INFO] [stdout] 140 | | /// When this wrapper is dropped, it ensures that the underlying memory [INFO] [stdout] 141 | | /// is re-locked. [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 143 | / /// an imutably-unlocked reference to the protected memory of a [INFO] [stdout] 144 | | /// [`SecretBox`]. [INFO] [stdout] | |______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:148:1 [INFO] [stdout] | [INFO] [stdout] 148 | / /// A mutable wrapper around the internal contents of a [INFO] [stdout] 149 | | /// [`SecretBox`]. This wrapper [`Deref`]s to its slice representation [INFO] [stdout] 150 | | /// for convenience. [INFO] [stdout] 151 | | /// [INFO] [stdout] 152 | | /// When this wrapper is dropped, it ensures that the underlying memory [INFO] [stdout] 153 | | /// is re-locked. [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | / /// a mutably-unlocked reference to the protected memory of a [INFO] [stdout] 156 | | /// [`SecretBox`]. [INFO] [stdout] | |______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:160:1 [INFO] [stdout] | [INFO] [stdout] 160 | / impl SecretBox { [INFO] [stdout] 161 | | /// Instantiates and returns a new [`SecretBox`]. [INFO] [stdout] 162 | | /// [INFO] [stdout] 163 | | /// Accepts a callback function that is responsible for initializing [INFO] [stdout] ... | [INFO] [stdout] 245 | | } [INFO] [stdout] 246 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | / /// Instantiates and returns a new [`SecretBox`]. Has equivalent [INFO] [stdout] 185 | | /// semantics to [`new`][SecretBox::new], but allows the callback to [INFO] [stdout] 186 | | /// return success or failure through a [`Result`]. [INFO] [stdout] 187 | | /// [INFO] [stdout] 188 | | /// # Errors [INFO] [stdout] 189 | | /// [INFO] [stdout] 190 | | /// Returns `Err` only if the user-provided callback does. [INFO] [stdout] | |______________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:199:5 [INFO] [stdout] | [INFO] [stdout] 199 | /// Returns the size in bytes of the [`SecretBox`]. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:248:1 [INFO] [stdout] | [INFO] [stdout] 248 | / impl SecretBox { [INFO] [stdout] 249 | | /// Creates a new [`SecretBox`] filled with cryptographically-random [INFO] [stdout] 250 | | /// bytes. [INFO] [stdout] 251 | | pub fn random() -> Self { [INFO] [stdout] ... | [INFO] [stdout] 255 | | } [INFO] [stdout] 256 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | / /// Creates a new [`SecretBox`] filled with cryptographically-random [INFO] [stdout] 250 | | /// bytes. [INFO] [stdout] | |______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:258:1 [INFO] [stdout] | [INFO] [stdout] 258 | / impl SecretBox { [INFO] [stdout] 259 | | /// Creates a new [`SecretBox`] filled with zeroes. [INFO] [stdout] 260 | | pub fn zero() -> Self { [INFO] [stdout] 261 | | Self { [INFO] [stdout] ... | [INFO] [stdout] 264 | | } [INFO] [stdout] 265 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:259:5 [INFO] [stdout] | [INFO] [stdout] 259 | /// Creates a new [`SecretBox`] filled with zeroes. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:287:1 [INFO] [stdout] | [INFO] [stdout] 287 | / impl<'a, T: Bytes> Ref<'a, T> { [INFO] [stdout] 288 | | /// Instantiates a new `Ref`. [INFO] [stdout] 289 | | fn new(boxed: &'a Box) -> Self { [INFO] [stdout] 290 | | proven!(boxed.len() == 1, [INFO] [stdout] ... | [INFO] [stdout] 296 | | } [INFO] [stdout] 297 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:288:5 [INFO] [stdout] | [INFO] [stdout] 288 | /// Instantiates a new `Ref`. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:349:1 [INFO] [stdout] | [INFO] [stdout] 349 | / impl<'a, T: Bytes> RefMut<'a, T> { [INFO] [stdout] 350 | | /// Instantiates a new `RefMut`. [INFO] [stdout] 351 | | fn new(boxed: &'a mut Box) -> Self { [INFO] [stdout] 352 | | proven!(boxed.len() == 1, [INFO] [stdout] ... | [INFO] [stdout] 358 | | } [INFO] [stdout] 359 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:350:5 [INFO] [stdout] | [INFO] [stdout] 350 | /// Instantiates a new `RefMut`. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/lib.rs:339:1 [INFO] [stdout] | [INFO] [stdout] 339 | /// Container for `SecretVec`. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:135:1 [INFO] [stdout] | [INFO] [stdout] 135 | / /// An immutable wrapper around the internal contents of a [INFO] [stdout] 136 | | /// [`SecretVec`]. This wrapper [`Deref`]s to its slice representation [INFO] [stdout] 137 | | /// for convenience. [INFO] [stdout] 138 | | /// [INFO] [stdout] 139 | | /// When this wrapper is dropped, it ensures that the underlying memory [INFO] [stdout] 140 | | /// is re-locked. [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | / /// an imutably-unlocked reference to the protected memory of a [INFO] [stdout] 143 | | /// [`SecretVec`]. [INFO] [stdout] | |______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:147:1 [INFO] [stdout] | [INFO] [stdout] 147 | / /// A mutable wrapper around the internal contents of a [INFO] [stdout] 148 | | /// [`SecretVec`]. This wrapper [`Deref`]s to its slice representation [INFO] [stdout] 149 | | /// for convenience. [INFO] [stdout] 150 | | /// [INFO] [stdout] 151 | | /// When this wrapper is dropped, it ensures that the underlying memory [INFO] [stdout] 152 | | /// is re-locked. [INFO] [stdout] | |_________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | / /// a mutably-unlocked reference to the protected memory of a [INFO] [stdout] 155 | | /// [`SecretVec`]. [INFO] [stdout] | |______________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:159:1 [INFO] [stdout] | [INFO] [stdout] 159 | / impl SecretVec { [INFO] [stdout] 160 | | /// Instantiates and returns a new `SecretVec`. [INFO] [stdout] 161 | | /// [INFO] [stdout] 162 | | /// Accepts a callback function that is responsible for initializing [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/secret_vec.rs:186:5 [INFO] [stdout] | [INFO] [stdout] 186 | / /// Instantiates and returns a new [`SecretVec`]. Has equivalent [INFO] [stdout] 187 | | /// semantics to [`new`][SecretVec::new], but allows the callback to [INFO] [stdout] 188 | | /// return success or failure through a [`Result`]. [INFO] [stdout] 189 | | /// [INFO] [stdout] 190 | | /// # Errors [INFO] [stdout] 191 | | /// [INFO] [stdout] 192 | | /// Returns `Err` only if the user-provided callback does. [INFO] [stdout] | |______________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 201 | /// Returns the number of elements in the [`SecretVec`]. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:206:5 [INFO] [stdout] | [INFO] [stdout] 206 | /// Returns true if length of the [`SecretVec`] is zero. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:211:5 [INFO] [stdout] | [INFO] [stdout] 211 | /// Returns the size in bytes of the [`SecretVec`]. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:260:1 [INFO] [stdout] | [INFO] [stdout] 260 | / impl SecretVec { [INFO] [stdout] 261 | | /// Creates a new [`SecretVec`] with `len` elements, filled with [INFO] [stdout] 262 | | /// cryptographically-random bytes. [INFO] [stdout] 263 | | pub fn random(len: usize) -> Self { [INFO] [stdout] ... | [INFO] [stdout] 267 | | } [INFO] [stdout] 268 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:261:5 [INFO] [stdout] | [INFO] [stdout] 261 | / /// Creates a new [`SecretVec`] with `len` elements, filled with [INFO] [stdout] 262 | | /// cryptographically-random bytes. [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:270:1 [INFO] [stdout] | [INFO] [stdout] 270 | / impl SecretVec { [INFO] [stdout] 271 | | /// Creates a new [`SecretVec`] with `len` elements, filled with [INFO] [stdout] 272 | | /// zeroes. [INFO] [stdout] 273 | | pub fn zero(len: usize) -> Self { [INFO] [stdout] ... | [INFO] [stdout] 277 | | } [INFO] [stdout] 278 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:271:5 [INFO] [stdout] | [INFO] [stdout] 271 | / /// Creates a new [`SecretVec`] with `len` elements, filled with [INFO] [stdout] 272 | | /// zeroes. [INFO] [stdout] | |_______________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:300:1 [INFO] [stdout] | [INFO] [stdout] 300 | / impl<'a, T: Bytes> Ref<'a, T> { [INFO] [stdout] 301 | | /// Instantiates a new `Ref`. [INFO] [stdout] 302 | | fn new(boxed: &'a Box) -> Self { [INFO] [stdout] 303 | | Self { [INFO] [stdout] ... | [INFO] [stdout] 306 | | } [INFO] [stdout] 307 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 301 | /// Instantiates a new `Ref`. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:359:1 [INFO] [stdout] | [INFO] [stdout] 359 | / impl<'a, T: Bytes> RefMut<'a, T> { [INFO] [stdout] 360 | | /// Instantiates a new RefMut. [INFO] [stdout] 361 | | fn new(boxed: &'a mut Box) -> Self { [INFO] [stdout] 362 | | Self { [INFO] [stdout] ... | [INFO] [stdout] 365 | | } [INFO] [stdout] 366 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:360:5 [INFO] [stdout] | [INFO] [stdout] 360 | /// Instantiates a new RefMut. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | //! Marker traits to allow types to be contained as secrets. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | /// Traits for types that are considered buckets of bytes. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / /// Marker value for uninitialized data. [INFO] [stdout] 5 | | /// [INFO] [stdout] 6 | | /// This value is reused from `src/libsodium/sodium/utils.c` in [INFO] [stdout] 7 | | /// libsodium. The lowest byte was chosen so that, if accidentally used [INFO] [stdout] ... | [INFO] [stdout] 15 | | /// this value, but memory allocated by libsodium will use whatever [INFO] [stdout] 16 | | /// value is defined by the spefiic version of that library being used). [INFO] [stdout] | |________________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / /// A marker trait for types whose size is known at compile time and can [INFO] [stdout] 20 | | /// be treated as raw buckets of bytes. Any type that implements `Bytes` [INFO] [stdout] 21 | | /// must not exhibit undefined behavior when its underlying bits are set [INFO] [stdout] 22 | | /// to any arbitrary bit pattern. [INFO] [stdout] | |_________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / /// Returns an uninitialized value. [INFO] [stdout] 25 | | /// [INFO] [stdout] 26 | | /// Note that this is *not* the same as [`mem::uninitialized`]. [INFO] [stdout] 27 | | /// Values returned by this function are guaranteed to be set to a [INFO] [stdout] ... | [INFO] [stdout] 30 | | /// pattern has been chosen to maximize the likelihood of catching [INFO] [stdout] 31 | | /// bugs due to uninitialized data. [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | /// Returns the size in bytes of `Self`. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | /// Returns a `*const u8` pointer to the beginning of the data. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | /// Returns a `*mut u8` pointer to the beginning of the data. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 59 | / /// Marker trait for types who are intrepretable as a series of [INFO] [stdout] 60 | | /// contiguous bytes, where the exact size may not be known at [INFO] [stdout] 61 | | /// compile-time. Any type that implements [`AsContiguousBytes`] must [INFO] [stdout] 62 | | /// not exhibit undefined behavior when its underlying bits are set to [INFO] [stdout] 63 | | /// any arbitrary bit pattern. [INFO] [stdout] | |______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | /// Returns the size in bytes of `Self`. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | /// Returns a `*const u8` pointer to the beginning of the data. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | /// Returns a `*mut u8` pointer to the beginning of the data. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | /// Returns a byte slice to the underlying data. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | /// Returns a mutable byte slice to the underlying data. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / /// Traits for types that should be compared for equality in constant [INFO] [stdout] 13 | | /// time. [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/constant_eq.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / /// A marker trait for types that can be compared for equality bitwise [INFO] [stdout] 5 | | /// in constant time. [INFO] [stdout] 6 | | /// [INFO] [stdout] 7 | | /// Note that this trait does not *force* types to be compared in [INFO] [stdout] ... | [INFO] [stdout] 10 | | /// that implement [`PartialEq`] by calling [INFO] [stdout] 11 | | /// [`constant_eq`](ConstantEq::constant_eq). [INFO] [stdout] | |_____________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/constant_eq.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | / /// Compares `self` and `rhs`. Guaranteed to return false when the [INFO] [stdout] 14 | | /// two arguments differen in size, and guaranteed to perform the [INFO] [stdout] 15 | | /// bitwise comparison in constant O(size) time without [INFO] [stdout] 16 | | /// short-circuiting. [INFO] [stdout] | |_________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | / /// Traits for types that can have their underlying storage safely set [INFO] [stdout] 17 | | /// to any arbitrary bytes. [INFO] [stdout] | |___________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/randomizable.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / /// Types that can be safely initialized by setting their memory to a [INFO] [stdout] 7 | | /// random value. [INFO] [stdout] 8 | | /// [INFO] [stdout] 9 | | /// The trait is marked unsafe in order to restrict implementors to [INFO] [stdout] 10 | | /// types that can safely have their underlying memory randomized. [INFO] [stdout] | |__________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/randomizable.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | /// Randomizes the contents of `self`. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / /// Traits for types that can have their underlying storage safely [INFO] [stdout] 21 | | /// zeroed. [INFO] [stdout] | |___________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/zeroable.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | / /// Types that can be safely initialized by setting their memory to all [INFO] [stdout] 7 | | /// zeroes. [INFO] [stdout] 8 | | /// [INFO] [stdout] 9 | | /// The trait is marked unsafe in order to restrict implementors to [INFO] [stdout] 10 | | /// types that can safely have their underlying memory set to all [INFO] [stdout] 11 | | /// zeroes. [INFO] [stdout] | |___________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/zeroable.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | / /// Zeroes out the underlying storage. [INFO] [stdout] 14 | | /// [INFO] [stdout] 15 | | /// We use `sodium::memzero` rather than `ptr::write_bytes` because the [INFO] [stdout] 16 | | /// libsodium version is more resilient against being optimized out [INFO] [stdout] 17 | | /// by a smart compiler. [INFO] [stdout] | |____________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/zeroable.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | / /// Copies all bytes from `self` into `other` before zeroing out [INFO] [stdout] 23 | | /// `self`. [INFO] [stdout] 24 | | /// [INFO] [stdout] 25 | | /// # Safety [INFO] [stdout] 26 | | /// [INFO] [stdout] 27 | | /// `other` must be at least as large as `self` and the two [INFO] [stdout] 28 | | /// references must not overlap. [INFO] [stdout] | |____________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | unsafe impl Bytes for $ty {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | / impls! { [INFO] [stdout] 46 | | (), // maybe not super useful, but good as a smoke test [INFO] [stdout] 47 | | [INFO] [stdout] 48 | | u8, u16, u32, u64, u128; ( [INFO] [stdout] ... | [INFO] [stdout] 62 | | 128 256 384 512 1024 2048 4096 8192 [INFO] [stdout] 63 | | )} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | unsafe impl Bytes for [$ty; $n] {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | / impls! { [INFO] [stdout] 46 | | (), // maybe not super useful, but good as a smoke test [INFO] [stdout] 47 | | [INFO] [stdout] 48 | | u8, u16, u32, u64, u128; ( [INFO] [stdout] ... | [INFO] [stdout] 62 | | 128 256 384 512 1024 2048 4096 8192 [INFO] [stdout] 63 | | )} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | unsafe impl Bytes for $ty {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | / impls! { [INFO] [stdout] 46 | | (), // maybe not super useful, but good as a smoke test [INFO] [stdout] 47 | | [INFO] [stdout] 48 | | u8, u16, u32, u64, u128; ( [INFO] [stdout] ... | [INFO] [stdout] 62 | | 128 256 384 512 1024 2048 4096 8192 [INFO] [stdout] 63 | | )} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | unsafe impl Bytes for [$ty; $n] {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | / impls! { [INFO] [stdout] 46 | | (), // maybe not super useful, but good as a smoke test [INFO] [stdout] 47 | | [INFO] [stdout] 48 | | u8, u16, u32, u64, u128; ( [INFO] [stdout] ... | [INFO] [stdout] 62 | | 128 256 384 512 1024 2048 4096 8192 [INFO] [stdout] 63 | | )} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | unsafe impl Bytes for $ty {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | / impls! { [INFO] [stdout] 46 | | (), // maybe not super useful, but good as a smoke test [INFO] [stdout] 47 | | [INFO] [stdout] 48 | | u8, u16, u32, u64, u128; ( [INFO] [stdout] ... | [INFO] [stdout] 62 | | 128 256 384 512 1024 2048 4096 8192 [INFO] [stdout] 63 | | )} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | unsafe impl Bytes for [$ty; $n] {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | / impls! { [INFO] [stdout] 46 | | (), // maybe not super useful, but good as a smoke test [INFO] [stdout] 47 | | [INFO] [stdout] 48 | | u8, u16, u32, u64, u128; ( [INFO] [stdout] ... | [INFO] [stdout] 62 | | 128 256 384 512 1024 2048 4096 8192 [INFO] [stdout] 63 | | )} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | unsafe impl Bytes for $ty {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | / impls! { [INFO] [stdout] 46 | | (), // maybe not super useful, but good as a smoke test [INFO] [stdout] 47 | | [INFO] [stdout] 48 | | u8, u16, u32, u64, u128; ( [INFO] [stdout] ... | [INFO] [stdout] 62 | | 128 256 384 512 1024 2048 4096 8192 [INFO] [stdout] 63 | | )} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | unsafe impl Bytes for [$ty; $n] {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | / impls! { [INFO] [stdout] 46 | | (), // maybe not super useful, but good as a smoke test [INFO] [stdout] 47 | | [INFO] [stdout] 48 | | u8, u16, u32, u64, u128; ( [INFO] [stdout] ... | [INFO] [stdout] 62 | | 128 256 384 512 1024 2048 4096 8192 [INFO] [stdout] 63 | | )} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | unsafe impl Bytes for $ty {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | / impls! { [INFO] [stdout] 46 | | (), // maybe not super useful, but good as a smoke test [INFO] [stdout] 47 | | [INFO] [stdout] 48 | | u8, u16, u32, u64, u128; ( [INFO] [stdout] ... | [INFO] [stdout] 62 | | 128 256 384 512 1024 2048 4096 8192 [INFO] [stdout] 63 | | )} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | unsafe impl Bytes for [$ty; $n] {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | / impls! { [INFO] [stdout] 46 | | (), // maybe not super useful, but good as a smoke test [INFO] [stdout] 47 | | [INFO] [stdout] 48 | | u8, u16, u32, u64, u128; ( [INFO] [stdout] ... | [INFO] [stdout] 62 | | 128 256 384 512 1024 2048 4096 8192 [INFO] [stdout] 63 | | )} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | unsafe impl Bytes for $ty {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | / impls! { [INFO] [stdout] 46 | | (), // maybe not super useful, but good as a smoke test [INFO] [stdout] 47 | | [INFO] [stdout] 48 | | u8, u16, u32, u64, u128; ( [INFO] [stdout] ... | [INFO] [stdout] 62 | | 128 256 384 512 1024 2048 4096 8192 [INFO] [stdout] 63 | | )} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | unsafe impl Bytes for [$ty; $n] {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | / impls! { [INFO] [stdout] 46 | | (), // maybe not super useful, but good as a smoke test [INFO] [stdout] 47 | | [INFO] [stdout] 48 | | u8, u16, u32, u64, u128; ( [INFO] [stdout] ... | [INFO] [stdout] 62 | | 128 256 384 512 1024 2048 4096 8192 [INFO] [stdout] 63 | | )} [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:85:1 [INFO] [stdout] | [INFO] [stdout] 85 | / unsafe impl AsContiguousBytes for T { [INFO] [stdout] 86 | | fn size(&self) -> usize { [INFO] [stdout] 87 | | Self::size() [INFO] [stdout] 88 | | } [INFO] [stdout] ... | [INFO] [stdout] 96 | | } [INFO] [stdout] 97 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | / fn size(&self) -> usize { [INFO] [stdout] 87 | | Self::size() [INFO] [stdout] 88 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | / fn as_u8_ptr(&self) -> *const u8 { [INFO] [stdout] 91 | | self.as_u8_ptr() [INFO] [stdout] 92 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | / fn as_mut_u8_ptr(&mut self) -> *mut u8 { [INFO] [stdout] 95 | | self.as_mut_u8_ptr() [INFO] [stdout] 96 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:99:1 [INFO] [stdout] | [INFO] [stdout] 99 | / unsafe impl AsContiguousBytes for [T] { [INFO] [stdout] 100 | | fn size(&self) -> usize { [INFO] [stdout] 101 | | self.len() * T::size() [INFO] [stdout] 102 | | } [INFO] [stdout] ... | [INFO] [stdout] 110 | | } [INFO] [stdout] 111 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | / fn size(&self) -> usize { [INFO] [stdout] 101 | | self.len() * T::size() [INFO] [stdout] 102 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | / fn as_u8_ptr(&self) -> *const u8 { [INFO] [stdout] 105 | | self.as_ptr() as *const _ [INFO] [stdout] 106 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/bytes.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | / fn as_mut_u8_ptr(&mut self) -> *mut u8 { [INFO] [stdout] 109 | | self.as_ptr() as *mut _ [INFO] [stdout] 110 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/constant_eq.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | impl ConstantEq for T {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/constant_eq.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | impl ConstantEq for [T] {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/randomizable.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | unsafe impl Randomizable for T {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/traits/zeroable.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | unsafe impl Zeroable for T {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:473:1 [INFO] [stdout] | [INFO] [stdout] 473 | unsafe impl Send for Box {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:404:1 [INFO] [stdout] | [INFO] [stdout] 404 | / impl Drop for Box { [INFO] [stdout] 405 | | fn drop(&mut self) { [INFO] [stdout] 406 | | // [`Drop::drop`] is called during stack unwinding, so we may be [INFO] [stdout] 407 | | // in a panic already. [INFO] [stdout] ... | [INFO] [stdout] 423 | | } [INFO] [stdout] 424 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:405:5 [INFO] [stdout] | [INFO] [stdout] 405 | / fn drop(&mut self) { [INFO] [stdout] 406 | | // [`Drop::drop`] is called during stack unwinding, so we may be [INFO] [stdout] 407 | | // in a panic already. [INFO] [stdout] 408 | | if !thread::panicking() { [INFO] [stdout] ... | [INFO] [stdout] 422 | | unsafe { sodium::free(self.ptr.as_mut()) } [INFO] [stdout] 423 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:195:1 [INFO] [stdout] | [INFO] [stdout] 195 | / impl Drop for Secret { [INFO] [stdout] 196 | | /// Ensures that the [`Secret`]'s underlying memory is `munlock`ed [INFO] [stdout] 197 | | /// and zeroed when it leaves scope. [INFO] [stdout] 198 | | fn drop(&mut self) { [INFO] [stdout] ... | [INFO] [stdout] 206 | | } [INFO] [stdout] 207 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:196:5 [INFO] [stdout] | [INFO] [stdout] 196 | / /// Ensures that the [`Secret`]'s underlying memory is `munlock`ed [INFO] [stdout] 197 | | /// and zeroed when it leaves scope. [INFO] [stdout] | |________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:307:1 [INFO] [stdout] | [INFO] [stdout] 307 | / impl Drop for Ref<'_, T> { [INFO] [stdout] 308 | | fn drop(&mut self) { [INFO] [stdout] 309 | | self.boxed.lock(); [INFO] [stdout] 310 | | } [INFO] [stdout] 311 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 308 | / fn drop(&mut self) { [INFO] [stdout] 309 | | self.boxed.lock(); [INFO] [stdout] 310 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:361:1 [INFO] [stdout] | [INFO] [stdout] 361 | / impl Drop for RefMut<'_, T> { [INFO] [stdout] 362 | | fn drop(&mut self) { [INFO] [stdout] 363 | | self.boxed.lock(); [INFO] [stdout] 364 | | } [INFO] [stdout] 365 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 362 | / fn drop(&mut self) { [INFO] [stdout] 363 | | self.boxed.lock(); [INFO] [stdout] 364 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:317:1 [INFO] [stdout] | [INFO] [stdout] 317 | / impl Drop for Ref<'_, T> { [INFO] [stdout] 318 | | fn drop(&mut self) { [INFO] [stdout] 319 | | self.boxed.lock(); [INFO] [stdout] 320 | | } [INFO] [stdout] 321 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 318 | / fn drop(&mut self) { [INFO] [stdout] 319 | | self.boxed.lock(); [INFO] [stdout] 320 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:368:1 [INFO] [stdout] | [INFO] [stdout] 368 | / impl Drop for RefMut<'_, T> { [INFO] [stdout] 369 | | fn drop(&mut self) { [INFO] [stdout] 370 | | self.boxed.lock(); [INFO] [stdout] 371 | | } [INFO] [stdout] 372 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:369:5 [INFO] [stdout] | [INFO] [stdout] 369 | / fn drop(&mut self) { [INFO] [stdout] 370 | | self.boxed.lock(); [INFO] [stdout] 371 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:459:1 [INFO] [stdout] | [INFO] [stdout] 459 | / impl From<&mut T> for Box { [INFO] [stdout] 460 | | fn from(data: &mut T) -> Self { [INFO] [stdout] 461 | | // this is safe since the secret and data can never overlap [INFO] [stdout] 462 | | Self::new(1, |b| unsafe { data.transfer(b.as_mut()) }) [INFO] [stdout] 463 | | } [INFO] [stdout] 464 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:460:5 [INFO] [stdout] | [INFO] [stdout] 460 | / fn from(data: &mut T) -> Self { [INFO] [stdout] 461 | | // this is safe since the secret and data can never overlap [INFO] [stdout] 462 | | Self::new(1, |b| unsafe { data.transfer(b.as_mut()) }) [INFO] [stdout] 463 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:466:1 [INFO] [stdout] | [INFO] [stdout] 466 | / impl From<&mut [T]> for Box { [INFO] [stdout] 467 | | fn from(data: &mut [T]) -> Self { [INFO] [stdout] 468 | | // this is safe since the secret and data can never overlap [INFO] [stdout] 469 | | Self::new(data.len(), |b| unsafe { data.transfer(b.as_mut_slice()) }) [INFO] [stdout] 470 | | } [INFO] [stdout] 471 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:467:5 [INFO] [stdout] | [INFO] [stdout] 467 | / fn from(data: &mut [T]) -> Self { [INFO] [stdout] 468 | | // this is safe since the secret and data can never overlap [INFO] [stdout] 469 | | Self::new(data.len(), |b| unsafe { data.transfer(b.as_mut_slice()) }) [INFO] [stdout] 470 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:267:1 [INFO] [stdout] | [INFO] [stdout] 267 | / impl From<&mut T> for SecretBox { [INFO] [stdout] 268 | | /// Creates a new [`SecretBox`] from existing, unprotected data, and [INFO] [stdout] 269 | | /// immediately zeroes out the memory of the data being moved in. [INFO] [stdout] 270 | | fn from(data: &mut T) -> Self { [INFO] [stdout] 271 | | Self { boxed: data.into() } [INFO] [stdout] 272 | | } [INFO] [stdout] 273 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | / /// Creates a new [`SecretBox`] from existing, unprotected data, and [INFO] [stdout] 269 | | /// immediately zeroes out the memory of the data being moved in. [INFO] [stdout] | |_____________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:280:1 [INFO] [stdout] | [INFO] [stdout] 280 | / impl From<&mut [T]> for SecretVec { [INFO] [stdout] 281 | | /// Creates a new [`SecretVec`] from existing, unprotected data, and [INFO] [stdout] 282 | | /// immediately zeroes out the memory of the data being moved in. [INFO] [stdout] 283 | | fn from(data: &mut [T]) -> Self { [INFO] [stdout] 284 | | Self { boxed: data.into() } [INFO] [stdout] 285 | | } [INFO] [stdout] 286 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:281:5 [INFO] [stdout] | [INFO] [stdout] 281 | / /// Creates a new [`SecretVec`] from existing, unprotected data, and [INFO] [stdout] 282 | | /// immediately zeroes out the memory of the data being moved in. [INFO] [stdout] | |_____________________________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:432:1 [INFO] [stdout] | [INFO] [stdout] 432 | / impl Clone for Box { [INFO] [stdout] 433 | | fn clone(&self) -> Self { [INFO] [stdout] 434 | | Self::new(self.len, |b| { [INFO] [stdout] 435 | | b.as_mut_slice().copy_from_slice(self.unlock().as_slice()); [INFO] [stdout] ... | [INFO] [stdout] 438 | | } [INFO] [stdout] 439 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:433:5 [INFO] [stdout] | [INFO] [stdout] 433 | / fn clone(&self) -> Self { [INFO] [stdout] 434 | | Self::new(self.len, |b| { [INFO] [stdout] 435 | | b.as_mut_slice().copy_from_slice(self.unlock().as_slice()); [INFO] [stdout] 436 | | self.lock(); [INFO] [stdout] 437 | | }) [INFO] [stdout] 438 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:216:1 [INFO] [stdout] | [INFO] [stdout] 216 | / impl Clone for RefMut<'_, T> { [INFO] [stdout] 217 | | fn clone(&self) -> Self { [INFO] [stdout] 218 | | panic!("secrets: a Secret may not be cloned") [INFO] [stdout] 219 | | } [INFO] [stdout] 220 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:217:5 [INFO] [stdout] | [INFO] [stdout] 217 | / fn clone(&self) -> Self { [INFO] [stdout] 218 | | panic!("secrets: a Secret may not be cloned") [INFO] [stdout] 219 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:299:1 [INFO] [stdout] | [INFO] [stdout] 299 | / impl Clone for Ref<'_, T> { [INFO] [stdout] 300 | | fn clone(&self) -> Self { [INFO] [stdout] 301 | | Self { [INFO] [stdout] 302 | | boxed: self.boxed.unlock(), [INFO] [stdout] 303 | | } [INFO] [stdout] 304 | | } [INFO] [stdout] 305 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 300 | / fn clone(&self) -> Self { [INFO] [stdout] 301 | | Self { [INFO] [stdout] 302 | | boxed: self.boxed.unlock(), [INFO] [stdout] 303 | | } [INFO] [stdout] 304 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:309:1 [INFO] [stdout] | [INFO] [stdout] 309 | / impl Clone for Ref<'_, T> { [INFO] [stdout] 310 | | fn clone(&self) -> Self { [INFO] [stdout] 311 | | Self { [INFO] [stdout] 312 | | boxed: self.boxed.unlock(), [INFO] [stdout] 313 | | } [INFO] [stdout] 314 | | } [INFO] [stdout] 315 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 310 | / fn clone(&self) -> Self { [INFO] [stdout] 311 | | Self { [INFO] [stdout] 312 | | boxed: self.boxed.unlock(), [INFO] [stdout] 313 | | } [INFO] [stdout] 314 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:247:1 [INFO] [stdout] | [INFO] [stdout] 247 | impl Eq for RefMut<'_, T> {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:347:1 [INFO] [stdout] | [INFO] [stdout] 347 | impl Eq for Ref<'_, T> {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:407:1 [INFO] [stdout] | [INFO] [stdout] 407 | impl Eq for RefMut<'_, T> {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:357:1 [INFO] [stdout] | [INFO] [stdout] 357 | impl Eq for Ref<'_, T> {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:414:1 [INFO] [stdout] | [INFO] [stdout] 414 | impl Eq for RefMut<'_, T> {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:441:1 [INFO] [stdout] | [INFO] [stdout] 441 | / impl PartialEq for Box { [INFO] [stdout] 442 | | fn eq(&self, other: &Self) -> bool { [INFO] [stdout] 443 | | if self.len != other.len { [INFO] [stdout] 444 | | return false; [INFO] [stdout] ... | [INFO] [stdout] 456 | | } [INFO] [stdout] 457 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:442:5 [INFO] [stdout] | [INFO] [stdout] 442 | / fn eq(&self, other: &Self) -> bool { [INFO] [stdout] 443 | | if self.len != other.len { [INFO] [stdout] 444 | | return false; [INFO] [stdout] 445 | | } [INFO] [stdout] ... | [INFO] [stdout] 455 | | ret [INFO] [stdout] 456 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:241:1 [INFO] [stdout] | [INFO] [stdout] 241 | / impl PartialEq for RefMut<'_, T> { [INFO] [stdout] 242 | | fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 243 | | self.data.constant_eq(rhs.data) [INFO] [stdout] 244 | | } [INFO] [stdout] 245 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | / fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 243 | | self.data.constant_eq(rhs.data) [INFO] [stdout] 244 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:281:1 [INFO] [stdout] | [INFO] [stdout] 281 | / impl PartialEq for SecretBox { [INFO] [stdout] 282 | | fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 283 | | self.boxed.eq(&rhs.boxed) [INFO] [stdout] 284 | | } [INFO] [stdout] 285 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:282:5 [INFO] [stdout] | [INFO] [stdout] 282 | / fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 283 | | self.boxed.eq(&rhs.boxed) [INFO] [stdout] 284 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:327:1 [INFO] [stdout] | [INFO] [stdout] 327 | / impl PartialEq for Ref<'_, T> { [INFO] [stdout] 328 | | fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 329 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 330 | | // but the handler for that performs some extra locks and [INFO] [stdout] ... | [INFO] [stdout] 334 | | } [INFO] [stdout] 335 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:328:5 [INFO] [stdout] | [INFO] [stdout] 328 | / fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 329 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 330 | | // but the handler for that performs some extra locks and [INFO] [stdout] 331 | | // unlocks which are unnecessary here since we know both sides [INFO] [stdout] 332 | | // are already unlocked [INFO] [stdout] 333 | | self.constant_eq(rhs) [INFO] [stdout] 334 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:337:1 [INFO] [stdout] | [INFO] [stdout] 337 | / impl PartialEq> for Ref<'_, T> { [INFO] [stdout] 338 | | fn eq(&self, rhs: &RefMut<'_, T>) -> bool { [INFO] [stdout] 339 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 340 | | // but the handler for that performs some extra locks and [INFO] [stdout] ... | [INFO] [stdout] 344 | | } [INFO] [stdout] 345 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 338 | / fn eq(&self, rhs: &RefMut<'_, T>) -> bool { [INFO] [stdout] 339 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 340 | | // but the handler for that performs some extra locks and [INFO] [stdout] 341 | | // unlocks which are unnecessary here since we know both sides [INFO] [stdout] 342 | | // are already unlocked [INFO] [stdout] 343 | | self.constant_eq(rhs) [INFO] [stdout] 344 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:387:1 [INFO] [stdout] | [INFO] [stdout] 387 | / impl PartialEq for RefMut<'_, T> { [INFO] [stdout] 388 | | fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 389 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 390 | | // but the handler for that performs some extra locks and [INFO] [stdout] ... | [INFO] [stdout] 394 | | } [INFO] [stdout] 395 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:388:5 [INFO] [stdout] | [INFO] [stdout] 388 | / fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 389 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 390 | | // but the handler for that performs some extra locks and [INFO] [stdout] 391 | | // unlocks which are unnecessary here since it's already [INFO] [stdout] 392 | | // unlocked [INFO] [stdout] 393 | | self.constant_eq(rhs) [INFO] [stdout] 394 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:397:1 [INFO] [stdout] | [INFO] [stdout] 397 | / impl PartialEq> for RefMut<'_, T> { [INFO] [stdout] 398 | | fn eq(&self, rhs: &Ref<'_, T>) -> bool { [INFO] [stdout] 399 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 400 | | // but the handler for that performs some extra locks and [INFO] [stdout] ... | [INFO] [stdout] 404 | | } [INFO] [stdout] 405 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:398:5 [INFO] [stdout] | [INFO] [stdout] 398 | / fn eq(&self, rhs: &Ref<'_, T>) -> bool { [INFO] [stdout] 399 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 400 | | // but the handler for that performs some extra locks and [INFO] [stdout] 401 | | // unlocks which are unnecessary here since we know both sides [INFO] [stdout] 402 | | // are already unlocked [INFO] [stdout] 403 | | self.constant_eq(rhs) [INFO] [stdout] 404 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:294:1 [INFO] [stdout] | [INFO] [stdout] 294 | / impl PartialEq for SecretVec { [INFO] [stdout] 295 | | fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 296 | | self.boxed.eq(&rhs.boxed) [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:295:5 [INFO] [stdout] | [INFO] [stdout] 295 | / fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 296 | | self.boxed.eq(&rhs.boxed) [INFO] [stdout] 297 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:337:1 [INFO] [stdout] | [INFO] [stdout] 337 | / impl PartialEq for Ref<'_, T> { [INFO] [stdout] 338 | | fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 339 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 340 | | // but the handler for that performs some extra locks and [INFO] [stdout] ... | [INFO] [stdout] 344 | | } [INFO] [stdout] 345 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 338 | / fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 339 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 340 | | // but the handler for that performs some extra locks and [INFO] [stdout] 341 | | // unlocks which are unnecessary here since we know both sides [INFO] [stdout] 342 | | // are already unlocked [INFO] [stdout] 343 | | self.constant_eq(rhs) [INFO] [stdout] 344 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:347:1 [INFO] [stdout] | [INFO] [stdout] 347 | / impl PartialEq> for Ref<'_, T> { [INFO] [stdout] 348 | | fn eq(&self, rhs: &RefMut<'_, T>) -> bool { [INFO] [stdout] 349 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 350 | | // but the handler for that performs some extra locks and [INFO] [stdout] ... | [INFO] [stdout] 354 | | } [INFO] [stdout] 355 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:348:5 [INFO] [stdout] | [INFO] [stdout] 348 | / fn eq(&self, rhs: &RefMut<'_, T>) -> bool { [INFO] [stdout] 349 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 350 | | // but the handler for that performs some extra locks and [INFO] [stdout] 351 | | // unlocks which are unnecessary here since we know both sides [INFO] [stdout] 352 | | // are already unlocked [INFO] [stdout] 353 | | self.constant_eq(rhs) [INFO] [stdout] 354 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:394:1 [INFO] [stdout] | [INFO] [stdout] 394 | / impl PartialEq for RefMut<'_, T> { [INFO] [stdout] 395 | | fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 396 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 397 | | // but the handler for that performs some extra locks and [INFO] [stdout] ... | [INFO] [stdout] 401 | | } [INFO] [stdout] 402 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:395:5 [INFO] [stdout] | [INFO] [stdout] 395 | / fn eq(&self, rhs: &Self) -> bool { [INFO] [stdout] 396 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 397 | | // but the handler for that performs some extra locks and [INFO] [stdout] 398 | | // unlocks which are unnecessary here since it's already [INFO] [stdout] 399 | | // unlocked [INFO] [stdout] 400 | | self.constant_eq(rhs) [INFO] [stdout] 401 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:404:1 [INFO] [stdout] | [INFO] [stdout] 404 | / impl PartialEq> for RefMut<'_, T> { [INFO] [stdout] 405 | | fn eq(&self, rhs: &Ref<'_, T>) -> bool { [INFO] [stdout] 406 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 407 | | // but the handler for that performs some extra locks and [INFO] [stdout] ... | [INFO] [stdout] 411 | | } [INFO] [stdout] 412 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:405:5 [INFO] [stdout] | [INFO] [stdout] 405 | / fn eq(&self, rhs: &Ref<'_, T>) -> bool { [INFO] [stdout] 406 | | // technically we could punt to `self.boxed.eq(&other.boxed), [INFO] [stdout] 407 | | // but the handler for that performs some extra locks and [INFO] [stdout] 408 | | // unlocks which are unnecessary here since we know both sides [INFO] [stdout] 409 | | // are already unlocked [INFO] [stdout] 410 | | self.constant_eq(rhs) [INFO] [stdout] 411 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:228:1 [INFO] [stdout] | [INFO] [stdout] 228 | / impl Deref for RefMut<'_, T> { [INFO] [stdout] 229 | | type Target = T; [INFO] [stdout] 230 | | [INFO] [stdout] 231 | | fn deref(&self) -> &Self::Target { [INFO] [stdout] 232 | | self.data [INFO] [stdout] 233 | | } [INFO] [stdout] 234 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:229:5 [INFO] [stdout] | [INFO] [stdout] 229 | type Target = T; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:231:5 [INFO] [stdout] | [INFO] [stdout] 231 | / fn deref(&self) -> &Self::Target { [INFO] [stdout] 232 | | self.data [INFO] [stdout] 233 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:313:1 [INFO] [stdout] | [INFO] [stdout] 313 | / impl Deref for Ref<'_, T> { [INFO] [stdout] 314 | | type Target = T; [INFO] [stdout] 315 | | [INFO] [stdout] 316 | | fn deref(&self) -> &Self::Target { [INFO] [stdout] 317 | | self.boxed.as_ref() [INFO] [stdout] 318 | | } [INFO] [stdout] 319 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 314 | type Target = T; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:316:5 [INFO] [stdout] | [INFO] [stdout] 316 | / fn deref(&self) -> &Self::Target { [INFO] [stdout] 317 | | self.boxed.as_ref() [INFO] [stdout] 318 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:367:1 [INFO] [stdout] | [INFO] [stdout] 367 | / impl Deref for RefMut<'_, T> { [INFO] [stdout] 368 | | type Target = T; [INFO] [stdout] 369 | | [INFO] [stdout] 370 | | fn deref(&self) -> &Self::Target { [INFO] [stdout] 371 | | self.boxed.as_ref() [INFO] [stdout] 372 | | } [INFO] [stdout] 373 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:368:5 [INFO] [stdout] | [INFO] [stdout] 368 | type Target = T; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:370:5 [INFO] [stdout] | [INFO] [stdout] 370 | / fn deref(&self) -> &Self::Target { [INFO] [stdout] 371 | | self.boxed.as_ref() [INFO] [stdout] 372 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:323:1 [INFO] [stdout] | [INFO] [stdout] 323 | / impl Deref for Ref<'_, T> { [INFO] [stdout] 324 | | type Target = [T]; [INFO] [stdout] 325 | | [INFO] [stdout] 326 | | fn deref(&self) -> &Self::Target { [INFO] [stdout] 327 | | self.boxed.as_slice() [INFO] [stdout] 328 | | } [INFO] [stdout] 329 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:324:5 [INFO] [stdout] | [INFO] [stdout] 324 | type Target = [T]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:326:5 [INFO] [stdout] | [INFO] [stdout] 326 | / fn deref(&self) -> &Self::Target { [INFO] [stdout] 327 | | self.boxed.as_slice() [INFO] [stdout] 328 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:374:1 [INFO] [stdout] | [INFO] [stdout] 374 | / impl Deref for RefMut<'_, T> { [INFO] [stdout] 375 | | type Target = [T]; [INFO] [stdout] 376 | | [INFO] [stdout] 377 | | fn deref(&self) -> &Self::Target { [INFO] [stdout] 378 | | self.boxed.as_slice() [INFO] [stdout] 379 | | } [INFO] [stdout] 380 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:375:5 [INFO] [stdout] | [INFO] [stdout] 375 | type Target = [T]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:377:5 [INFO] [stdout] | [INFO] [stdout] 377 | / fn deref(&self) -> &Self::Target { [INFO] [stdout] 378 | | self.boxed.as_slice() [INFO] [stdout] 379 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:235:1 [INFO] [stdout] | [INFO] [stdout] 235 | / impl DerefMut for RefMut<'_, T> { [INFO] [stdout] 236 | | fn deref_mut(&mut self) -> &mut Self::Target { [INFO] [stdout] 237 | | self.data [INFO] [stdout] 238 | | } [INFO] [stdout] 239 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:236:5 [INFO] [stdout] | [INFO] [stdout] 236 | / fn deref_mut(&mut self) -> &mut Self::Target { [INFO] [stdout] 237 | | self.data [INFO] [stdout] 238 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:375:1 [INFO] [stdout] | [INFO] [stdout] 375 | / impl DerefMut for RefMut<'_, T> { [INFO] [stdout] 376 | | fn deref_mut(&mut self) -> &mut Self::Target { [INFO] [stdout] 377 | | self.boxed.as_mut() [INFO] [stdout] 378 | | } [INFO] [stdout] 379 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:376:5 [INFO] [stdout] | [INFO] [stdout] 376 | / fn deref_mut(&mut self) -> &mut Self::Target { [INFO] [stdout] 377 | | self.boxed.as_mut() [INFO] [stdout] 378 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:382:1 [INFO] [stdout] | [INFO] [stdout] 382 | / impl DerefMut for RefMut<'_, T> { [INFO] [stdout] 383 | | fn deref_mut(&mut self) -> &mut Self::Target { [INFO] [stdout] 384 | | self.boxed.as_mut_slice() [INFO] [stdout] 385 | | } [INFO] [stdout] 386 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:383:5 [INFO] [stdout] | [INFO] [stdout] 383 | / fn deref_mut(&mut self) -> &mut Self::Target { [INFO] [stdout] 384 | | self.boxed.as_mut_slice() [INFO] [stdout] 385 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:426:1 [INFO] [stdout] | [INFO] [stdout] 426 | / impl Debug for Box { [INFO] [stdout] 427 | | fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { [INFO] [stdout] 428 | | write!(fmt, "{{ {} bytes redacted }}", self.size()) [INFO] [stdout] 429 | | } [INFO] [stdout] 430 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/boxed.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | / fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { [INFO] [stdout] 428 | | write!(fmt, "{{ {} bytes redacted }}", self.size()) [INFO] [stdout] 429 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:222:1 [INFO] [stdout] | [INFO] [stdout] 222 | / impl Debug for RefMut<'_, T> { [INFO] [stdout] 223 | | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 224 | | write!(f, "{{ {} bytes redacted }}", self.data.size()) [INFO] [stdout] 225 | | } [INFO] [stdout] 226 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret.rs:223:5 [INFO] [stdout] | [INFO] [stdout] 223 | / fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 224 | | write!(f, "{{ {} bytes redacted }}", self.data.size()) [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:275:1 [INFO] [stdout] | [INFO] [stdout] 275 | / impl Debug for SecretBox { [INFO] [stdout] 276 | | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 277 | | self.boxed.fmt(f) [INFO] [stdout] 278 | | } [INFO] [stdout] 279 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:276:5 [INFO] [stdout] | [INFO] [stdout] 276 | / fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 277 | | self.boxed.fmt(f) [INFO] [stdout] 278 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:321:1 [INFO] [stdout] | [INFO] [stdout] 321 | / impl Debug for Ref<'_, T> { [INFO] [stdout] 322 | | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 323 | | self.boxed.fmt(f) [INFO] [stdout] 324 | | } [INFO] [stdout] 325 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:322:5 [INFO] [stdout] | [INFO] [stdout] 322 | / fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 323 | | self.boxed.fmt(f) [INFO] [stdout] 324 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:381:1 [INFO] [stdout] | [INFO] [stdout] 381 | / impl Debug for RefMut<'_, T> { [INFO] [stdout] 382 | | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 383 | | self.boxed.fmt(f) [INFO] [stdout] 384 | | } [INFO] [stdout] 385 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_box.rs:382:5 [INFO] [stdout] | [INFO] [stdout] 382 | / fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 383 | | self.boxed.fmt(f) [INFO] [stdout] 384 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:288:1 [INFO] [stdout] | [INFO] [stdout] 288 | / impl Debug for SecretVec { [INFO] [stdout] 289 | | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 290 | | self.boxed.fmt(f) [INFO] [stdout] 291 | | } [INFO] [stdout] 292 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:289:5 [INFO] [stdout] | [INFO] [stdout] 289 | / fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 290 | | self.boxed.fmt(f) [INFO] [stdout] 291 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:331:1 [INFO] [stdout] | [INFO] [stdout] 331 | / impl Debug for Ref<'_, T> { [INFO] [stdout] 332 | | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 333 | | self.boxed.fmt(f) [INFO] [stdout] 334 | | } [INFO] [stdout] 335 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:332:5 [INFO] [stdout] | [INFO] [stdout] 332 | / fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 333 | | self.boxed.fmt(f) [INFO] [stdout] 334 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:388:1 [INFO] [stdout] | [INFO] [stdout] 388 | / impl Debug for RefMut<'_, T> { [INFO] [stdout] 389 | | fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 390 | | self.boxed.fmt(f) [INFO] [stdout] 391 | | } [INFO] [stdout] 392 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: missing code example in this documentation [INFO] [stdout] --> src/secret_vec.rs:389:5 [INFO] [stdout] | [INFO] [stdout] 389 | / fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { [INFO] [stdout] 390 | | self.boxed.fmt(f) [INFO] [stdout] 391 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 271 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.54s [INFO] running `Command { std: "docker" "inspect" "9fe484a6a5bcde8073f941e516efbc5ae12acf9ebedaa2d2ef52c270b1efe222", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9fe484a6a5bcde8073f941e516efbc5ae12acf9ebedaa2d2ef52c270b1efe222", kill_on_drop: false }` [INFO] [stdout] 9fe484a6a5bcde8073f941e516efbc5ae12acf9ebedaa2d2ef52c270b1efe222