fd-lock 1.1.1

Advisory cross-platform lock on a file using a file descriptor to it.
Documentation
Build #211712 2020-01-09T16:33:21.995015+00:00
# rustc version
rustc 1.42.0-nightly (caa231d99 2020-01-08)# docs.rs version
docsrs 0.6.0 (0e182b8 2020-01-08)# build log
[INFO] running `"docker" "create" "-v" "/home/cratesfyi/workspace/builds/fd-lock-1.1.1/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace/builds/fd-lock-1.1.1/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1001" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=-Z unstable-options --resource-suffix -20200108-1.42.0-nightly-caa231d99 --static-root-path / --extern-html-root-url failure=https://docs.rs/failure/0.1.6 --extern-html-root-url winapi=https://docs.rs/winapi/0.3.8 --extern-html-root-url libc=https://docs.rs/libc/0.2.66 --extern-html-root-url tempfile=https://docs.rs/tempfile/3.1.0" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "3221225472" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "doc" "--lib" "--no-deps"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] ce60aa332dacb4119051eca5cf8170ac07cfc420c42826281dc616d5c055b601
[INFO] running `"docker" "start" "-a" "ce60aa332dacb4119051eca5cf8170ac07cfc420c42826281dc616d5c055b601"`
[INFO] [stderr]    Compiling proc-macro2 v1.0.7
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.13
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling cc v1.0.50
[INFO] [stderr]    Compiling failure_derive v0.1.6
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling winapi v0.3.8
[INFO] [stderr]     Checking rustc-demangle v0.1.16
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling backtrace-sys v0.1.32
[INFO] [stderr]     Checking backtrace v0.3.40
[INFO] [stderr]    Compiling synstructure v0.12.3
[INFO] [stderr]     Checking failure v0.1.6
[INFO] [stderr]  Documenting fd-lock v1.1.1 (/opt/rustwide/workdir)
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | /// A specialized `Error` type.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: lint level defined here
[INFO] [stderr]   --> src/lib.rs:28:23
[INFO] [stderr]    |
[INFO] [stderr] 28 | #![warn(missing_docs, missing_doc_code_examples, unreachable_pub)]
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     inner: Context<ErrorKind>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/unix.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | /// A guard that unlocks the file descriptor when it goes out of scope.
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]  --> src/unix.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     lock: &'fdlock mut FdLock<T>,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:38:1
[INFO] [stderr]    |
[INFO] [stderr] 38 | /// A file descriptor lock.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 41 |     t: T,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:4:1
[INFO] [stderr]    |
[INFO] [stderr] 4  | / /// Error categories.
[INFO] [stderr] 5  | | ///
[INFO] [stderr] 6  | | /// This list is intended to grow over time and it is not recommended to
[INFO] [stderr] 7  | | /// exhaustively match against it. It is used with the [`Error`] struct.
[INFO] [stderr] ...  |
[INFO] [stderr] 10 | | ///
[INFO] [stderr] 11 | | /// [`Error`]: std.struct.Error.html
[INFO] [stderr]    | |____________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     /// The lock is already held.
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     /// Any error not part of this list.
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / use failure::{self, Backtrace, Context, Fail};
[INFO] [stderr] 2  | | use std::fmt;
[INFO] [stderr] 3  | |
[INFO] [stderr] 4  | | /// Error categories.
[INFO] [stderr] ...  |
[INFO] [stderr] 63 | |     }
[INFO] [stderr] 64 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | /// A specialized `Error` type.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:28:1
[INFO] [stderr]    |
[INFO] [stderr] 28 | / impl Error {
[INFO] [stderr] 29 | |     /// Access the [`ErrorKind`] member.
[INFO] [stderr] 30 | |     ///
[INFO] [stderr] 31 | |     /// [`ErrorKind`]: enum.ErrorKind.html
[INFO] [stderr] ...  |
[INFO] [stderr] 34 | |     }
[INFO] [stderr] 35 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 | /     /// Access the [`ErrorKind`] member.
[INFO] [stderr] 30 | |     ///
[INFO] [stderr] 31 | |     /// [`ErrorKind`]: enum.ErrorKind.html
[INFO] [stderr]    | |__________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:1:1
[INFO] [stderr]    |
[INFO] [stderr] 1  | / use crate::{Error, ErrorKind};
[INFO] [stderr] 2  | | use libc::{flock, EWOULDBLOCK, LOCK_EX, LOCK_NB, LOCK_UN};
[INFO] [stderr] 3  | | use std::ops;
[INFO] [stderr] 4  | | use std::os::unix::io::AsRawFd;
[INFO] [stderr] ...  |
[INFO] [stderr] 79 | |     }
[INFO] [stderr] 80 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:44:1
[INFO] [stderr]    |
[INFO] [stderr] 44 | / impl<T: AsRawFd> FdLock<T> {
[INFO] [stderr] 45 | |     /// Create a new instance.
[INFO] [stderr] 46 | |     #[inline]
[INFO] [stderr] 47 | |     pub fn new(t: T) -> Self {
[INFO] [stderr] ...  |
[INFO] [stderr] 79 | |     }
[INFO] [stderr] 80 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 45 |     /// Create a new instance.
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 | /     /// Acquires a new lock, blocking the current thread until it's able to do so.
[INFO] [stderr] 52 | |     ///
[INFO] [stderr] 53 | |     /// This function will block the local thread until it is available to acquire the lock. Upon
[INFO] [stderr] 54 | |     /// returning, the thread is the only thread with the lock held. An RAII guard is returned to allow
[INFO] [stderr] 55 | |     /// scoped unlock of the lock. When the guard goes out of scope, the lock will be unlocked.
[INFO] [stderr]    | |_______________________________________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:65:5
[INFO] [stderr]    |
[INFO] [stderr] 65 | /     /// Attempts to acquire this lock.
[INFO] [stderr] 66 | |     ///
[INFO] [stderr] 67 | |     /// If the lock could not be acquired at this time, then `Err` is returned. Otherwise, an RAII
[INFO] [stderr] 68 | |     /// guard is returned. The lock will be unlocked when the guard is dropped.
[INFO] [stderr] 69 | |     ///
[INFO] [stderr] 70 | |     /// This function does not block.
[INFO] [stderr]    | |_____________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:28:1
[INFO] [stderr]    |
[INFO] [stderr] 28 | / impl<T: AsRawFd> Drop for FdLockGuard<'_, T> {
[INFO] [stderr] 29 | |     #[inline]
[INFO] [stderr] 30 | |     fn drop(&mut self) {
[INFO] [stderr] 31 | |         let fd = self.lock.t.as_raw_fd();
[INFO] [stderr] ...  |
[INFO] [stderr] 35 | |     }
[INFO] [stderr] 36 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 | /     fn drop(&mut self) {
[INFO] [stderr] 31 | |         let fd = self.lock.t.as_raw_fd();
[INFO] [stderr] 32 | |         if unsafe { flock(fd, LOCK_UN | LOCK_NB) } != 0 {
[INFO] [stderr] 33 | |             panic!("Could not unlock the file descriptor");
[INFO] [stderr] 34 | |         }
[INFO] [stderr] 35 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:53:1
[INFO] [stderr]    |
[INFO] [stderr] 53 | / impl From<ErrorKind> for Error {
[INFO] [stderr] 54 | |     fn from(kind: ErrorKind) -> Error {
[INFO] [stderr] 55 | |         let inner = Context::new(kind);
[INFO] [stderr] 56 | |         Error { inner }
[INFO] [stderr] 57 | |     }
[INFO] [stderr] 58 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 54 | /     fn from(kind: ErrorKind) -> Error {
[INFO] [stderr] 55 | |         let inner = Context::new(kind);
[INFO] [stderr] 56 | |         Error { inner }
[INFO] [stderr] 57 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:60:1
[INFO] [stderr]    |
[INFO] [stderr] 60 | / impl From<Context<ErrorKind>> for Error {
[INFO] [stderr] 61 | |     fn from(inner: Context<ErrorKind>) -> Error {
[INFO] [stderr] 62 | |         Error { inner }
[INFO] [stderr] 63 | |     }
[INFO] [stderr] 64 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:61:5
[INFO] [stderr]    |
[INFO] [stderr] 61 | /     fn from(inner: Context<ErrorKind>) -> Error {
[INFO] [stderr] 62 | |         Error { inner }
[INFO] [stderr] 63 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | / impl<T: AsRawFd> ops::Deref for FdLockGuard<'_, T> {
[INFO] [stderr] 13 | |     type Target = T;
[INFO] [stderr] 14 | |
[INFO] [stderr] 15 | |     #[inline]
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     type Target = T;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | /     fn deref(&self) -> &Self::Target {
[INFO] [stderr] 17 | |         &self.lock.t
[INFO] [stderr] 18 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | / impl<T: AsRawFd> ops::DerefMut for FdLockGuard<'_, T> {
[INFO] [stderr] 22 | |     #[inline]
[INFO] [stderr] 23 | |     fn deref_mut(&mut self) -> &mut Self::Target {
[INFO] [stderr] 24 | |         &mut self.lock.t
[INFO] [stderr] 25 | |     }
[INFO] [stderr] 26 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/unix.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | /     fn deref_mut(&mut self) -> &mut Self::Target {
[INFO] [stderr] 24 | |         &mut self.lock.t
[INFO] [stderr] 25 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:47:1
[INFO] [stderr]    |
[INFO] [stderr] 47 | / impl fmt::Display for Error {
[INFO] [stderr] 48 | |     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stderr] 49 | |         fmt::Display::fmt(&self.inner, f)
[INFO] [stderr] 50 | |     }
[INFO] [stderr] 51 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:48:5
[INFO] [stderr]    |
[INFO] [stderr] 48 | /     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
[INFO] [stderr] 49 | |         fmt::Display::fmt(&self.inner, f)
[INFO] [stderr] 50 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:37:1
[INFO] [stderr]    |
[INFO] [stderr] 37 | / impl Fail for Error {
[INFO] [stderr] 38 | |     fn cause(&self) -> Option<&dyn Fail> {
[INFO] [stderr] 39 | |         self.inner.cause()
[INFO] [stderr] 40 | |     }
[INFO] [stderr] ...  |
[INFO] [stderr] 44 | |     }
[INFO] [stderr] 45 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 | /     fn cause(&self) -> Option<&dyn Fail> {
[INFO] [stderr] 39 | |         self.inner.cause()
[INFO] [stderr] 40 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing code example in this documentation
[INFO] [stderr]   --> src/error.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 | /     fn backtrace(&self) -> Option<&Backtrace> {
[INFO] [stderr] 43 | |         self.inner.backtrace()
[INFO] [stderr] 44 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 14.45s
[INFO] running `"docker" "inspect" "ce60aa332dacb4119051eca5cf8170ac07cfc420c42826281dc616d5c055b601"`
[INFO] running `"docker" "rm" "-f" "ce60aa332dacb4119051eca5cf8170ac07cfc420c42826281dc616d5c055b601"`
[INFO] [stdout] ce60aa332dacb4119051eca5cf8170ac07cfc420c42826281dc616d5c055b601