[INFO] cloning repository https://github.com/yetone/mirdb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yetone/mirdb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyetone%2Fmirdb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyetone%2Fmirdb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 67db6c5d2c8d341978dcc2032876815f62946cce
[INFO] testing yetone/mirdb against 1.94.0 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyetone%2Fmirdb" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/yetone/mirdb
[INFO] finished tweaking git repo https://github.com/yetone/mirdb
[INFO] tweaked toml for git repo https://github.com/yetone/mirdb written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/yetone/mirdb on toolchain 1.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/yetone/mirdb already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/seiflotfy/rust-cuckoofilter`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v0.4.28
[INFO] [stderr]   Downloaded serde_derive v1.0.90
[INFO] [stderr]   Downloaded lru v0.1.15
[INFO] [stderr]   Downloaded slab v0.3.0
[INFO] [stderr]   Downloaded winapi-util v0.1.2
[INFO] [stderr]   Downloaded tokio-service v0.1.0
[INFO] [stderr]   Downloaded bincode v1.1.3
[INFO] [stderr]   Downloaded take v0.1.0
[INFO] [stderr]   Downloaded smallvec v0.2.1
[INFO] [stderr]   Downloaded integer-encoding v1.0.5
[INFO] [stderr]   Downloaded termion v1.5.2
[INFO] [stderr]   Downloaded env_logger v0.6.1
[INFO] [stderr]   Downloaded toml v0.5.0
[INFO] [stderr]   Downloaded syn v0.15.32
[INFO] [stderr]   Downloaded serde v1.0.90
[INFO] [stderr]   Downloaded tokio-core v0.1.17
[INFO] [stderr]   Downloaded rand_jitter v0.1.3
[INFO] [stderr]   Downloaded scoped-tls v0.1.2
[INFO] [stderr]   Downloaded tokio-proto v0.1.1
[INFO] [stderr]   Downloaded libc v0.2.51
[INFO] [stderr]   Downloaded snap v0.2.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "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" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9a621a232a295c48b5ef191b7bb54aa3d9cefbf6108dc2c61d63671d01b99fbf
[INFO] running `Command { std: "docker" "start" "-a" "9a621a232a295c48b5ef191b7bb54aa3d9cefbf6108dc2c61d63671d01b99fbf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9a621a232a295c48b5ef191b7bb54aa3d9cefbf6108dc2c61d63671d01b99fbf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a621a232a295c48b5ef191b7bb54aa3d9cefbf6108dc2c61d63671d01b99fbf", kill_on_drop: false }`
[INFO] [stdout] 9a621a232a295c48b5ef191b7bb54aa3d9cefbf6108dc2c61d63671d01b99fbf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 29f3f4a0b98b8ec4a5051a96a8118e41a81b844b9653e30dcfc9c8e06b751c03
[INFO] running `Command { std: "docker" "start" "-a" "29f3f4a0b98b8ec4a5051a96a8118e41a81b844b9653e30dcfc9c8e06b751c03", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.51
[INFO] [stderr]    Compiling autocfg v0.1.2
[INFO] [stderr]    Compiling cfg-if v0.1.7
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling futures v0.1.26
[INFO] [stderr]    Compiling rand_jitter v0.1.3
[INFO] [stderr]    Compiling proc-macro2 v0.4.28
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling crossbeam-utils v0.6.5
[INFO] [stderr]    Compiling lazycell v1.2.1
[INFO] [stderr]    Compiling smallvec v0.6.9
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling syn v0.15.32
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]    Compiling crossbeam-epoch v0.7.1
[INFO] [stderr]    Compiling crossbeam-queue v0.1.2
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling iovec v0.1.2
[INFO] [stderr]    Compiling num_cpus v1.10.0
[INFO] [stderr]    Compiling net2 v0.2.33
[INFO] [stderr]    Compiling bytes v0.4.12
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling mio v0.6.16
[INFO] [stderr]    Compiling crossbeam-deque v0.7.1
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling build_const v0.2.1
[INFO] [stderr]    Compiling tokio-executor v0.1.7
[INFO] [stderr]    Compiling tokio-io v0.1.12
[INFO] [stderr]    Compiling tokio-sync v0.1.5
[INFO] [stderr]    Compiling tokio-timer v0.2.10
[INFO] [stderr]    Compiling tokio-current-thread v0.1.6
[INFO] [stderr]    Compiling parking_lot_core v0.4.0
[INFO] [stderr]    Compiling tokio-codec v0.1.1
[INFO] [stderr]    Compiling mio-uds v0.6.7
[INFO] [stderr]    Compiling tokio-threadpool v0.1.14
[INFO] [stderr]    Compiling parking_lot v0.7.1
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling crc v1.8.1
[INFO] [stderr]    Compiling bincode v1.1.3
[INFO] [stderr]    Compiling tokio-reactor v0.1.9
[INFO] [stderr]    Compiling tokio-trace-core v0.1.0
[INFO] [stderr]    Compiling regex v1.1.6
[INFO] [stderr]    Compiling regex-syntax v0.6.6
[INFO] [stderr]    Compiling aho-corasick v0.7.3
[INFO] [stderr]    Compiling atty v0.2.11
[INFO] [stderr]    Compiling tokio-fs v0.1.6
[INFO] [stderr]    Compiling tokio-udp v0.1.3
[INFO] [stderr]    Compiling tokio-uds v0.2.5
[INFO] [stderr]    Compiling tokio-tcp v0.1.3
[INFO] [stderr]    Compiling tokio v0.1.19
[INFO] [stderr]    Compiling hashbrown v0.1.8
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling utf8-ranges v1.0.2
[INFO] [stderr]    Compiling unicode-width v0.1.5
[INFO] [stderr]    Compiling quick-error v1.2.2
[INFO] [stderr]    Compiling scoped-tls v0.1.2
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling humantime v1.2.0
[INFO] [stderr]    Compiling tokio-service v0.1.0
[INFO] [stderr]    Compiling tokio-core v0.1.17
[INFO] [stderr]    Compiling snap v0.2.5
[INFO] [stderr]    Compiling lru v0.1.15
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling bitflags v1.0.4
[INFO] [stderr]    Compiling slab v0.3.0
[INFO] [stderr]    Compiling vec_map v0.8.1
[INFO] [stderr]    Compiling take v0.1.0
[INFO] [stderr]    Compiling smallvec v0.2.1
[INFO] [stderr]    Compiling termcolor v1.0.4
[INFO] [stderr]    Compiling integer-encoding v1.0.5
[INFO] [stderr]    Compiling clap v2.33.0
[INFO] [stderr]    Compiling skip-list v0.1.0 (/opt/rustwide/workdir/skip-list)
[INFO] [stderr]    Compiling memmap v0.7.0
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> skip-list/src/list.rs:243:62
[INFO] [stdout]     |
[INFO] [stdout] 243 |             let old_value = next.replace_value(unsafe { mem::uninitialized() });
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> skip-list/src/node.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |             unsafe { mem::uninitialized() },
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> skip-list/src/node.rs:41:27
[INFO] [stdout]    |
[INFO] [stdout] 41 |             unsafe { mem::uninitialized() },
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tokio-proto v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> skip-list/src/iter.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 ::std::mem::replace(&mut self.0, Some(unsafe { &mut *next }));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let _ = ::std::mem::replace(&mut self.0, Some(unsafe { &mut *next }));
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> skip-list/src/list.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 *((*node_ptr).nexts_.get_unchecked_mut(i)) = *(update.nexts_.get_unchecked_mut(i));
[INFO] [stdout]     |                  ^^^--------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this raw pointer has type `*mut SkipListNode<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut [*mut SkipListNode<K, V>]`
[INFO] [stdout]    --> skip-list/src/list.rs:140:19
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 *((*node_ptr).nexts_.get_unchecked_mut(i)) = *(update.nexts_.get_unchecked_mut(i));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: method calls to `get_unchecked_mut` require a reference
[INFO] [stdout]    --> /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/slice/mod.rs:684:4
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 *((&mut (*node_ptr).nexts_).get_unchecked_mut(i)) = *(update.nexts_.get_unchecked_mut(i));
[INFO] [stdout]     |                   +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> skip-list/src/list.rs:295:17
[INFO] [stdout]     |
[INFO] [stdout] 295 |     pub fn iter(&self) -> SkipListIter<K, V> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 295 |     pub fn iter(&self) -> SkipListIter<'_, K, V> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> skip-list/src/list.rs:299:21
[INFO] [stdout]     |
[INFO] [stdout] 299 |     pub fn iter_mut(&mut self) -> SkipListIterMut<K, V> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 |     pub fn iter_mut(&mut self) -> SkipListIterMut<'_, K, V> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> skip-list/src/node.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |             Box::from_raw(node_ptr);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let _ = Box::from_raw(node_ptr);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling env_logger v0.6.1
[INFO] [stderr]    Compiling cuckoofilter v0.4.0 (https://github.com/seiflotfy/rust-cuckoofilter?tag=v0.4.0#ced11f3d)
[INFO] [stderr]    Compiling toml v0.5.0
[INFO] [stderr]    Compiling sstable v0.1.0 (/opt/rustwide/workdir/sstable)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> sstable/src/meta_block.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> sstable/src/meta_block.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> sstable/src/util.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     (rot.wrapping_shr(17) | rot.wrapping_shl(15))
[INFO] [stdout]    |     ^                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -     (rot.wrapping_shr(17) | rot.wrapping_shl(15))
[INFO] [stdout] 65 +     rot.wrapping_shr(17) | rot.wrapping_shl(15) 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> sstable/src/error.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 44 |         Status::new(code, e.description())
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> sstable/src/error.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 |         Status::new(code, e.description())
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> sstable/src/error.rs:60:49
[INFO] [stdout]    |
[INFO] [stdout] 60 |         Status::new(StatusCode::BincodeError, e.description())
[INFO] [stdout]    |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> sstable/src/error.rs:66:48
[INFO] [stdout]    |
[INFO] [stdout] 66 |         Status::new(StatusCode::CuckooError, e.description())
[INFO] [stdout]    |                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sstable/src/types.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Ok((self as &FileExt).read_at(dst, offset as u64)?)
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Ok((self as &dyn FileExt).read_at(dst, offset as u64)?)
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sstable/src/util.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn read_unlock<T>(l: &RwLock<T>) -> RwLockReadGuard<T> {
[INFO] [stdout]    |                          ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn read_unlock<T>(l: &RwLock<T>) -> RwLockReadGuard<'_, T> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sstable/src/util.rs:75:27
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn write_unlock<T>(l: &RwLock<T>) -> RwLockWriteGuard<T> {
[INFO] [stdout]    |                           ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn write_unlock<T>(l: &RwLock<T>) -> RwLockWriteGuard<'_, T> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sstable/src/block.rs:80:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn iter(&self) -> BlockIter {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn iter(&self) -> BlockIter<'_> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> sstable/src/meta_block.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MetaBlock`
[INFO] [stdout] 17 | pub struct MetaBlock {
[INFO] [stdout]    |            --------- `MetaBlock` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> sstable/src/meta_block.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MetaBlock`
[INFO] [stdout] 17 | pub struct MetaBlock {
[INFO] [stdout]    |            --------- `MetaBlock` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sstable/src/table_iter.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn data_iter(&self) -> Option<BlockIter> {
[INFO] [stdout]    |                  ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn data_iter(&self) -> Option<BlockIter<'_>> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> sstable/src/table_reader.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn iter(&self) -> TableIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn iter(&self) -> TableIter<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling mirdb v0.1.0 (/opt/rustwide/workdir/mirdb-server)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/config.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:49:35
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/store.rs:24:35
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/store.rs:24:46
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/config.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | / gen_parser!(
[INFO] [stdout]  65 | |     size_parser<usize>,
[INFO] [stdout]  66 | |     chain!(size: usize_parser >> unit: size_unit_parser >> (to_size_unit(unit) * size))
[INFO] [stdout]  67 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/config.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | / gen_parser!(
[INFO] [stdout]  65 | |     size_parser<usize>,
[INFO] [stdout]  66 | |     chain!(size: usize_parser >> unit: size_unit_parser >> (to_size_unit(unit) * size))
[INFO] [stdout]  67 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | / gen_parser!(
[INFO] [stdout]  20 | |     getter<Request>,
[INFO] [stdout]  21 | |     chain!(
[INFO] [stdout]  22 | |         getter: getter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  31 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | / gen_parser!(
[INFO] [stdout]  20 | |     getter<Request>,
[INFO] [stdout]  21 | |     chain!(
[INFO] [stdout]  22 | |         getter: getter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  31 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | / gen_parser!(
[INFO] [stdout]  86 | |     deleter<Request>,
[INFO] [stdout]  87 | |     chain!(
[INFO] [stdout]  88 | |         tag!(b"delete")
[INFO] [stdout] ...   |
[INFO] [stdout]  99 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | / gen_parser!(
[INFO] [stdout]  86 | |     deleter<Request>,
[INFO] [stdout]  87 | |     chain!(
[INFO] [stdout]  88 | |         tag!(b"delete")
[INFO] [stdout] ...   |
[INFO] [stdout]  99 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> mirdb-server/src/main.rs:71:23
[INFO] [stdout]    |
[INFO] [stdout] 71 |     type Future = Box<Future<Item = Response, Error = io::Error>>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     type Future = Box<dyn Future<Item = Response, Error = io::Error>>;
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> mirdb-server/src/response.rs:75:38
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn write(&self, writer: &mut Writer) -> MyResult<()> {
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn write(&self, writer: &mut dyn Writer) -> MyResult<()> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> mirdb-server/src/error.rs:46:49
[INFO] [stdout]    |
[INFO] [stdout] 46 |         Status::new(StatusCode::BincodeError, e.description())
[INFO] [stdout]    |                                                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> mirdb-server/src/error.rs:53:72
[INFO] [stdout]    |
[INFO] [stdout] 53 |             ErrorKind::NotFound => Status::new(StatusCode::NotFound, e.description()),
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> mirdb-server/src/error.rs:54:53
[INFO] [stdout]    |
[INFO] [stdout] 54 |             _ => Status::new(StatusCode::IOError, e.description()),
[INFO] [stdout]    |                                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> mirdb-server/src/error.rs:80:29
[INFO] [stdout]    |
[INFO] [stdout] 80 |         Status::new(code, e.description())
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mirdb-server/src/utils.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn read_lock<T>(l: &RwLock<T>) -> RwLockReadGuard<T> {
[INFO] [stdout]    |                        ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn read_lock<T>(l: &RwLock<T>) -> RwLockReadGuard<'_, T> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mirdb-server/src/utils.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn write_lock<T>(l: &RwLock<T>) -> RwLockWriteGuard<T> {
[INFO] [stdout]    |                         ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn write_lock<T>(l: &RwLock<T>) -> RwLockWriteGuard<'_, T> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> mirdb-server/src/parser_util/macros.rs:18:40
[INFO] [stdout]    |
[INFO] [stdout] 18 |             IRResult::Err(e) => panic!(e.to_owned()),
[INFO] [stdout]    |                                        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 18 |             IRResult::Err(e) => panic!("{}", e.to_owned()),
[INFO] [stdout]    |                                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:326:17
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub fn alpha(i: &[u8]) -> IRResult<&[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |         |        |
[INFO] [stdout]     |                 |         |        the same lifetime is elided here
[INFO] [stdout]     |                 |         the same lifetime is hidden here
[INFO] [stdout]     |                 |         the same lifetime is hidden here
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub fn alpha(i: &[u8]) -> IRResult<'_, &[u8]> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:338:29
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn digit<T: FromStr>(i: &[u8]) -> IRResult<T> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^^^^
[INFO] [stdout]     |                             |         |
[INFO] [stdout]     |                             |         the same lifetime is hidden here
[INFO] [stdout]     |                             |         the same lifetime is hidden here
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn digit<T: FromStr>(i: &[u8]) -> IRResult<'_, T> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:359:22
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub fn u32_parser(i: &[u8]) -> IRResult<u32> {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^
[INFO] [stdout]     |                      |         |
[INFO] [stdout]     |                      |         the same lifetime is hidden here
[INFO] [stdout]     |                      |         the same lifetime is hidden here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub fn u32_parser(i: &[u8]) -> IRResult<'_, u32> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:364:24
[INFO] [stdout]     |
[INFO] [stdout] 364 | pub fn usize_parser(i: &[u8]) -> IRResult<usize> {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |         |
[INFO] [stdout]     |                        |         the same lifetime is hidden here
[INFO] [stdout]     |                        |         the same lifetime is hidden here
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 364 | pub fn usize_parser(i: &[u8]) -> IRResult<'_, usize> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:368:17
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub fn space(i: &[u8]) -> IRResult<&[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |         |        |
[INFO] [stdout]     |                 |         |        the same lifetime is elided here
[INFO] [stdout]     |                 |         the same lifetime is hidden here
[INFO] [stdout]     |                 |         the same lifetime is hidden here
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub fn space(i: &[u8]) -> IRResult<'_, &[u8]> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/config.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Config`
[INFO] [stdout] 15 | pub struct Config {
[INFO] [stdout]    |            ------ `Config` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> mirdb-server/src/config.rs:55:21
[INFO] [stdout]    |
[INFO] [stdout] 55 |         _ => panic!(format!("unknown size unit {:?}", x)),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 55 -         _ => panic!(format!("unknown size unit {:?}", x)),
[INFO] [stdout] 55 +         _ => panic!("unknown size unit {:?}", x),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/config.rs:59:1
[INFO] [stdout]     |
[INFO] [stdout]  59 | / gen_parser!(
[INFO] [stdout]  60 | |     size_unit_parser<&[u8]>,
[INFO] [stdout]     | |                      ^^^^^ the same lifetime is elided here
[INFO] [stdout]  61 | |     alt!(tag!(b"K") | tag!(b"M") | tag!(b"G") | tag!(b"T"))
[INFO] [stdout]  62 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/config.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | / gen_parser!(
[INFO] [stdout]  65 | |     size_parser<usize>,
[INFO] [stdout]  66 | |     chain!(size: usize_parser >> unit: size_unit_parser >> (to_size_unit(unit) * size))
[INFO] [stdout]  67 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FileMeta`
[INFO] [stdout] 19 | pub struct FileMeta {
[INFO] [stdout]    |            -------- `FileMeta` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FileMeta`
[INFO] [stdout] 19 | pub struct FileMeta {
[INFO] [stdout]    |            -------- `FileMeta` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LevelMeta`
[INFO] [stdout] 24 | pub struct LevelMeta {
[INFO] [stdout]    |            --------- `LevelMeta` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LevelMeta`
[INFO] [stdout] 24 | pub struct LevelMeta {
[INFO] [stdout]    |            --------- `LevelMeta` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Manifest`
[INFO] [stdout] 50 | pub struct Manifest {
[INFO] [stdout]    |            -------- `Manifest` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:49:35
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Manifest`
[INFO] [stdout] 50 | pub struct Manifest {
[INFO] [stdout]    |            -------- `Manifest` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mirdb-server/src/memtable.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn iter(&self) -> SkipListIter<K, V> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn iter(&self) -> SkipListIter<'_, K, V> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mirdb-server/src/memtable_list.rs:44:24
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn tables_iter(&self) -> linked_list::Iter<Memtable<K, V>> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn tables_iter(&self) -> linked_list::Iter<'_, Memtable<K, V>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:254:33
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the same lifetime is hidden here
[INFO] [stdout]     |                                 the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:7:24
[INFO] [stdout]     |
[INFO] [stdout]   7 | gen_parser!(key_parser<&[u8], &[u8]>, is_not!(b" \t\r\n\0"));
[INFO] [stdout]     | -----------------------^^^^^--^^^^^-------------------------
[INFO] [stdout]     | |                      |      |
[INFO] [stdout]     | |                      |      the same lifetime is elided here
[INFO] [stdout]     | |                      the lifetime is elided here
[INFO] [stdout]     | in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout]   9 | / gen_parser!(
[INFO] [stdout]  10 | |     getter_name_parser<&[u8]>,
[INFO] [stdout]     | |                        ^^^^^ the same lifetime is elided here
[INFO] [stdout]  11 | |     alt!(tag!(b"gets") | tag!(b"get"))
[INFO] [stdout]  12 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | / gen_parser!(
[INFO] [stdout]  15 | |     setter_name_parser<&[u8]>,
[INFO] [stdout]     | |                        ^^^^^ the same lifetime is elided here
[INFO] [stdout]  16 | |     alt!(tag!(b"set") | tag!(b"add") | tag!(b"replace") | tag!(b"append") | tag!(b"prepend"))
[INFO] [stdout]  17 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | / gen_parser!(
[INFO] [stdout]  20 | |     getter<Request>,
[INFO] [stdout]  21 | |     chain!(
[INFO] [stdout]  22 | |         getter: getter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  31 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> mirdb-server/src/parser.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |         _ => panic!(format!("unknown getter {:?}", x)),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 41 -         _ => panic!(format!("unknown getter {:?}", x)),
[INFO] [stdout] 41 +         _ => panic!("unknown getter {:?}", x),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> mirdb-server/src/parser.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |         _ => panic!(format!("unknown setter {:?}", x)),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 52 -         _ => panic!(format!("unknown setter {:?}", x)),
[INFO] [stdout] 52 +         _ => panic!("unknown setter {:?}", x),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | / gen_parser!(
[INFO] [stdout]  86 | |     deleter<Request>,
[INFO] [stdout]  87 | |     chain!(
[INFO] [stdout]  88 | |         tag!(b"delete")
[INFO] [stdout] ...   |
[INFO] [stdout]  99 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | / gen_parser!(
[INFO] [stdout] 102 | |     info<Request>,
[INFO] [stdout] 103 | |     chain!(tag!(b"info") >> tag!(b"\r\n") >> (Request::Info))
[INFO] [stdout] 104 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:106:1
[INFO] [stdout]     |
[INFO] [stdout] 106 | / gen_parser!(
[INFO] [stdout] 107 | |     major_compaction<Request>,
[INFO] [stdout] 108 | |     chain!(tag!(b"major_compaction") >> tag!(b"\r\n") >> (Request::MajorCompaction))
[INFO] [stdout] 109 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | / gen_parser!(
[INFO] [stdout] 112 | |     parse<Request>,
[INFO] [stdout] 113 | |     alt!(getter | setter | deleter | info | major_compaction)
[INFO] [stdout] 114 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/store.rs:24:35
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StorePayload`
[INFO] [stdout] 25 | pub struct StorePayload {
[INFO] [stdout]    |            ------------ `StorePayload` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/store.rs:24:46
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StorePayload`
[INFO] [stdout] 25 | pub struct StorePayload {
[INFO] [stdout]    |            ------------ `StorePayload` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/wal.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |     pub fn iter(&self) -> MyResult<WALIter> {
[INFO] [stdout]     |                 ^^^^^              ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 300 |     pub fn iter(&self) -> MyResult<WALIter<'_>> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.85s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: mirdb v0.1.0 (/opt/rustwide/workdir/mirdb-server), snap v0.2.5
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "29f3f4a0b98b8ec4a5051a96a8118e41a81b844b9653e30dcfc9c8e06b751c03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "29f3f4a0b98b8ec4a5051a96a8118e41a81b844b9653e30dcfc9c8e06b751c03", kill_on_drop: false }`
[INFO] [stdout] 29f3f4a0b98b8ec4a5051a96a8118e41a81b844b9653e30dcfc9c8e06b751c03
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bf77abfc454347406100e34f9d44dce2d97ea3f3fe8dd3a7fa50db719b2e602a
[INFO] running `Command { std: "docker" "start" "-a" "bf77abfc454347406100e34f9d44dce2d97ea3f3fe8dd3a7fa50db719b2e602a", kill_on_drop: false }`
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> sstable/src/meta_block.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> sstable/src/meta_block.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> sstable/src/util.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     (rot.wrapping_shr(17) | rot.wrapping_shl(15))
[INFO] [stdout]    |     ^                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -     (rot.wrapping_shr(17) | rot.wrapping_shl(15))
[INFO] [stdout] 65 +     rot.wrapping_shr(17) | rot.wrapping_shl(15) 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> sstable/src/error.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 44 |         Status::new(code, e.description())
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> sstable/src/error.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 |         Status::new(code, e.description())
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> sstable/src/error.rs:60:49
[INFO] [stdout]    |
[INFO] [stdout] 60 |         Status::new(StatusCode::BincodeError, e.description())
[INFO] [stdout]    |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> sstable/src/error.rs:66:48
[INFO] [stdout]    |
[INFO] [stdout] 66 |         Status::new(StatusCode::CuckooError, e.description())
[INFO] [stdout]    |                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sstable/src/types.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Ok((self as &FileExt).read_at(dst, offset as u64)?)
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Ok((self as &dyn FileExt).read_at(dst, offset as u64)?)
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sstable/src/util.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn read_unlock<T>(l: &RwLock<T>) -> RwLockReadGuard<T> {
[INFO] [stdout]    |                          ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn read_unlock<T>(l: &RwLock<T>) -> RwLockReadGuard<'_, T> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sstable/src/util.rs:75:27
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn write_unlock<T>(l: &RwLock<T>) -> RwLockWriteGuard<T> {
[INFO] [stdout]    |                           ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn write_unlock<T>(l: &RwLock<T>) -> RwLockWriteGuard<'_, T> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sstable/src/block.rs:80:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn iter(&self) -> BlockIter {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn iter(&self) -> BlockIter<'_> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> sstable/src/meta_block.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MetaBlock`
[INFO] [stdout] 17 | pub struct MetaBlock {
[INFO] [stdout]    |            --------- `MetaBlock` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> sstable/src/meta_block.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MetaBlock`
[INFO] [stdout] 17 | pub struct MetaBlock {
[INFO] [stdout]    |            --------- `MetaBlock` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sstable/src/table_iter.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn data_iter(&self) -> Option<BlockIter> {
[INFO] [stdout]    |                  ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn data_iter(&self) -> Option<BlockIter<'_>> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sstable v0.1.0 (/opt/rustwide/workdir/sstable)
[INFO] [stderr]    Compiling skip-list v0.1.0 (/opt/rustwide/workdir/skip-list)
[INFO] [stderr]    Compiling mirdb v0.1.0 (/opt/rustwide/workdir/mirdb-server)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> sstable/src/table_reader.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn iter(&self) -> TableIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn iter(&self) -> TableIter<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> skip-list/src/list.rs:243:62
[INFO] [stdout]     |
[INFO] [stdout] 243 |             let old_value = next.replace_value(unsafe { mem::uninitialized() });
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> skip-list/src/node.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |             unsafe { mem::uninitialized() },
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> skip-list/src/node.rs:41:27
[INFO] [stdout]    |
[INFO] [stdout] 41 |             unsafe { mem::uninitialized() },
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> skip-list/src/iter.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 ::std::mem::replace(&mut self.0, Some(unsafe { &mut *next }));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let _ = ::std::mem::replace(&mut self.0, Some(unsafe { &mut *next }));
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> skip-list/src/list.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 *((*node_ptr).nexts_.get_unchecked_mut(i)) = *(update.nexts_.get_unchecked_mut(i));
[INFO] [stdout]     |                  ^^^--------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this raw pointer has type `*mut SkipListNode<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut [*mut SkipListNode<K, V>]`
[INFO] [stdout]    --> skip-list/src/list.rs:140:19
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 *((*node_ptr).nexts_.get_unchecked_mut(i)) = *(update.nexts_.get_unchecked_mut(i));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: method calls to `get_unchecked_mut` require a reference
[INFO] [stdout]    --> /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/slice/mod.rs:684:4
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 *((&mut (*node_ptr).nexts_).get_unchecked_mut(i)) = *(update.nexts_.get_unchecked_mut(i));
[INFO] [stdout]     |                   +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> skip-list/src/list.rs:295:17
[INFO] [stdout]     |
[INFO] [stdout] 295 |     pub fn iter(&self) -> SkipListIter<K, V> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 295 |     pub fn iter(&self) -> SkipListIter<'_, K, V> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> skip-list/src/list.rs:299:21
[INFO] [stdout]     |
[INFO] [stdout] 299 |     pub fn iter_mut(&mut self) -> SkipListIterMut<K, V> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 |     pub fn iter_mut(&mut self) -> SkipListIterMut<'_, K, V> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> skip-list/src/node.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |             Box::from_raw(node_ptr);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let _ = Box::from_raw(node_ptr);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/config.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:49:35
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/store.rs:24:35
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> mirdb-server/src/store.rs:24:46
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout] ...
[INFO] [stdout] 452 |           let r = chain!(
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 453 | |             b"hello world",
[INFO] [stdout] 454 | |             hello: alpha >> tag!(b" ") >> world: alpha >> (hello, world)
[INFO] [stdout] 455 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout] ...
[INFO] [stdout] 452 |           let r = chain!(
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 453 | |             b"hello world",
[INFO] [stdout] 454 | |             hello: alpha >> tag!(b" ") >> world: alpha >> (hello, world)
[INFO] [stdout] 455 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout] ...
[INFO] [stdout] 462 |           let r = chain!(
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 463 | |             b"hello world",
[INFO] [stdout] 464 | |             hello: alpha >> tag!(b" ") >> world: alpha >> tag!(b" ") >> (hello, world)
[INFO] [stdout] 465 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout] ...
[INFO] [stdout] 462 |           let r = chain!(
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 463 | |             b"hello world",
[INFO] [stdout] 464 | |             hello: alpha >> tag!(b" ") >> world: alpha >> tag!(b" ") >> (hello, world)
[INFO] [stdout] 465 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout] ...
[INFO] [stdout] 470 | /         gen_parser!(
[INFO] [stdout] 471 | |             test<(&[u8], &[u8])>,
[INFO] [stdout] 472 | |             chain!(hello: alpha >> tag!(b" ") >> world: alpha >> (hello, world))
[INFO] [stdout] 473 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout] ...
[INFO] [stdout] 470 | /         gen_parser!(
[INFO] [stdout] 471 | |             test<(&[u8], &[u8])>,
[INFO] [stdout] 472 | |             chain!(hello: alpha >> tag!(b" ") >> world: alpha >> (hello, world))
[INFO] [stdout] 473 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |         chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                  ^
[INFO] [stdout] ...
[INFO] [stdout] 560 |         let r = chain!(b" I love u", space >> keys: split!(space, alpha) >> (keys)).unwrap();
[INFO] [stdout]     |                 ------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout] ...
[INFO] [stdout] 569 |           let r = chain!(
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 570 | |             b"get I love u",
[INFO] [stdout] 571 | |             getter: getter_name >> space >> keys: split!(space, alpha) >> (getter, keys)
[INFO] [stdout] 572 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout] ...
[INFO] [stdout] 569 |           let r = chain!(
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 570 | |             b"get I love u",
[INFO] [stdout] 571 | |             getter: getter_name >> space >> keys: split!(space, alpha) >> (getter, keys)
[INFO] [stdout] 572 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout] ...
[INFO] [stdout] 584 |           let r = chain!(
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 585 | |             b"gets I love u",
[INFO] [stdout] 586 | |             getter: getter_name >> space >> keys: split!(space, alpha) >> (getter, keys)
[INFO] [stdout] 587 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout] ...
[INFO] [stdout] 584 |           let r = chain!(
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 585 | |             b"gets I love u",
[INFO] [stdout] 586 | |             getter: getter_name >> space >> keys: split!(space, alpha) >> (getter, keys)
[INFO] [stdout] 587 | |         )
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/config.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | / gen_parser!(
[INFO] [stdout]  65 | |     size_parser<usize>,
[INFO] [stdout]  66 | |     chain!(size: usize_parser >> unit: size_unit_parser >> (to_size_unit(unit) * size))
[INFO] [stdout]  67 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/config.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | / gen_parser!(
[INFO] [stdout]  65 | |     size_parser<usize>,
[INFO] [stdout]  66 | |     chain!(size: usize_parser >> unit: size_unit_parser >> (to_size_unit(unit) * size))
[INFO] [stdout]  67 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | / gen_parser!(
[INFO] [stdout]  20 | |     getter<Request>,
[INFO] [stdout]  21 | |     chain!(
[INFO] [stdout]  22 | |         getter: getter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  31 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | / gen_parser!(
[INFO] [stdout]  20 | |     getter<Request>,
[INFO] [stdout]  21 | |     chain!(
[INFO] [stdout]  22 | |         getter: getter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  31 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stdout]     |
[INFO] [stdout] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | / gen_parser!(
[INFO] [stdout]  86 | |     deleter<Request>,
[INFO] [stdout]  87 | |     chain!(
[INFO] [stdout]  88 | |         tag!(b"delete")
[INFO] [stdout] ...   |
[INFO] [stdout]  99 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stdout]     |
[INFO] [stdout] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stdout]     |                                                            ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | / gen_parser!(
[INFO] [stdout]  86 | |     deleter<Request>,
[INFO] [stdout]  87 | |     chain!(
[INFO] [stdout]  88 | |         tag!(b"delete")
[INFO] [stdout] ...   |
[INFO] [stdout]  99 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stdout]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> skip-list/src/list.rs:243:62
[INFO] [stdout]     |
[INFO] [stdout] 243 |             let old_value = next.replace_value(unsafe { mem::uninitialized() });
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> skip-list/src/node.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |             unsafe { mem::uninitialized() },
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> skip-list/src/node.rs:41:27
[INFO] [stdout]    |
[INFO] [stdout] 41 |             unsafe { mem::uninitialized() },
[INFO] [stdout]    |                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]   --> skip-list/src/iter.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 ::std::mem::replace(&mut self.0, Some(unsafe { &mut *next }));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let _ = ::std::mem::replace(&mut self.0, Some(unsafe { &mut *next }));
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> skip-list/src/list.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 *((*node_ptr).nexts_.get_unchecked_mut(i)) = *(update.nexts_.get_unchecked_mut(i));
[INFO] [stdout]     |                  ^^^--------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this raw pointer has type `*mut SkipListNode<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&mut [*mut SkipListNode<K, V>]`
[INFO] [stdout]    --> skip-list/src/list.rs:140:19
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 *((*node_ptr).nexts_.get_unchecked_mut(i)) = *(update.nexts_.get_unchecked_mut(i));
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: method calls to `get_unchecked_mut` require a reference
[INFO] [stdout]    --> /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/slice/mod.rs:684:4
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 *((&mut (*node_ptr).nexts_).get_unchecked_mut(i)) = *(update.nexts_.get_unchecked_mut(i));
[INFO] [stdout]     |                   +++++                   +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> skip-list/src/list.rs:295:17
[INFO] [stdout]     |
[INFO] [stdout] 295 |     pub fn iter(&self) -> SkipListIter<K, V> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 295 |     pub fn iter(&self) -> SkipListIter<'_, K, V> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> skip-list/src/list.rs:299:21
[INFO] [stdout]     |
[INFO] [stdout] 299 |     pub fn iter_mut(&mut self) -> SkipListIterMut<K, V> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 |     pub fn iter_mut(&mut self) -> SkipListIterMut<'_, K, V> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> skip-list/src/node.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |             Box::from_raw(node_ptr);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 60 |             let _ = Box::from_raw(node_ptr);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> mirdb-server/src/main.rs:71:23
[INFO] [stdout]    |
[INFO] [stdout] 71 |     type Future = Box<Future<Item = Response, Error = io::Error>>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 71 |     type Future = Box<dyn Future<Item = Response, Error = io::Error>>;
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> mirdb-server/src/response.rs:75:38
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn write(&self, writer: &mut Writer) -> MyResult<()> {
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn write(&self, writer: &mut dyn Writer) -> MyResult<()> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> mirdb-server/src/error.rs:46:49
[INFO] [stdout]    |
[INFO] [stdout] 46 |         Status::new(StatusCode::BincodeError, e.description())
[INFO] [stdout]    |                                                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> mirdb-server/src/error.rs:53:72
[INFO] [stdout]    |
[INFO] [stdout] 53 |             ErrorKind::NotFound => Status::new(StatusCode::NotFound, e.description()),
[INFO] [stdout]    |                                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> mirdb-server/src/error.rs:54:53
[INFO] [stdout]    |
[INFO] [stdout] 54 |             _ => Status::new(StatusCode::IOError, e.description()),
[INFO] [stdout]    |                                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> mirdb-server/src/error.rs:80:29
[INFO] [stdout]    |
[INFO] [stdout] 80 |         Status::new(code, e.description())
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> sstable/src/meta_block.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> sstable/src/meta_block.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> sstable/src/util.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     (rot.wrapping_shr(17) | rot.wrapping_shl(15))
[INFO] [stdout]    |     ^                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 65 -     (rot.wrapping_shr(17) | rot.wrapping_shl(15))
[INFO] [stdout] 65 +     rot.wrapping_shr(17) | rot.wrapping_shl(15) 
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> sstable/src/error.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 44 |         Status::new(code, e.description())
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> sstable/src/error.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 |         Status::new(code, e.description())
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> sstable/src/error.rs:60:49
[INFO] [stdout]    |
[INFO] [stdout] 60 |         Status::new(StatusCode::BincodeError, e.description())
[INFO] [stdout]    |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> sstable/src/error.rs:66:48
[INFO] [stdout]    |
[INFO] [stdout] 66 |         Status::new(StatusCode::CuckooError, e.description())
[INFO] [stdout]    |                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> sstable/src/types.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Ok((self as &FileExt).read_at(dst, offset as u64)?)
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 |         Ok((self as &dyn FileExt).read_at(dst, offset as u64)?)
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sstable/src/util.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn read_unlock<T>(l: &RwLock<T>) -> RwLockReadGuard<T> {
[INFO] [stdout]    |                          ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn read_unlock<T>(l: &RwLock<T>) -> RwLockReadGuard<'_, T> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sstable/src/util.rs:75:27
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn write_unlock<T>(l: &RwLock<T>) -> RwLockWriteGuard<T> {
[INFO] [stdout]    |                           ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn write_unlock<T>(l: &RwLock<T>) -> RwLockWriteGuard<'_, T> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sstable/src/block.rs:80:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn iter(&self) -> BlockIter {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn iter(&self) -> BlockIter<'_> {
[INFO] [stdout]    |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> sstable/src/meta_block.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^--------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `Serialize` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MetaBlock`
[INFO] [stdout] 17 | pub struct MetaBlock {
[INFO] [stdout]    |            --------- `MetaBlock` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> sstable/src/meta_block.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^----------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     `Deserialize` is not local
[INFO] [stdout]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MetaBlock`
[INFO] [stdout] 17 | pub struct MetaBlock {
[INFO] [stdout]    |            --------- `MetaBlock` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> sstable/src/table_iter.rs:25:18
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn data_iter(&self) -> Option<BlockIter> {
[INFO] [stdout]    |                  ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn data_iter(&self) -> Option<BlockIter<'_>> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> sstable/src/table_reader.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn iter(&self) -> TableIter {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub fn iter(&self) -> TableIter<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mirdb-server/src/utils.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn read_lock<T>(l: &RwLock<T>) -> RwLockReadGuard<T> {
[INFO] [stdout]    |                        ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn read_lock<T>(l: &RwLock<T>) -> RwLockReadGuard<'_, T> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mirdb-server/src/utils.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn write_lock<T>(l: &RwLock<T>) -> RwLockWriteGuard<T> {
[INFO] [stdout]    |                         ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn write_lock<T>(l: &RwLock<T>) -> RwLockWriteGuard<'_, T> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> mirdb-server/src/parser_util/macros.rs:18:40
[INFO] [stdout]    |
[INFO] [stdout] 18 |             IRResult::Err(e) => panic!(e.to_owned()),
[INFO] [stdout]    |                                        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 18 |             IRResult::Err(e) => panic!("{}", e.to_owned()),
[INFO] [stdout]    |                                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:326:17
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub fn alpha(i: &[u8]) -> IRResult<&[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |         |        |
[INFO] [stdout]     |                 |         |        the same lifetime is elided here
[INFO] [stdout]     |                 |         the same lifetime is hidden here
[INFO] [stdout]     |                 |         the same lifetime is hidden here
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub fn alpha(i: &[u8]) -> IRResult<'_, &[u8]> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:338:29
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn digit<T: FromStr>(i: &[u8]) -> IRResult<T> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^^^^
[INFO] [stdout]     |                             |         |
[INFO] [stdout]     |                             |         the same lifetime is hidden here
[INFO] [stdout]     |                             |         the same lifetime is hidden here
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn digit<T: FromStr>(i: &[u8]) -> IRResult<'_, T> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:359:22
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub fn u32_parser(i: &[u8]) -> IRResult<u32> {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^
[INFO] [stdout]     |                      |         |
[INFO] [stdout]     |                      |         the same lifetime is hidden here
[INFO] [stdout]     |                      |         the same lifetime is hidden here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub fn u32_parser(i: &[u8]) -> IRResult<'_, u32> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:364:24
[INFO] [stdout]     |
[INFO] [stdout] 364 | pub fn usize_parser(i: &[u8]) -> IRResult<usize> {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |         |
[INFO] [stdout]     |                        |         the same lifetime is hidden here
[INFO] [stdout]     |                        |         the same lifetime is hidden here
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 364 | pub fn usize_parser(i: &[u8]) -> IRResult<'_, usize> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:368:17
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub fn space(i: &[u8]) -> IRResult<&[u8]> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |         |        |
[INFO] [stdout]     |                 |         |        the same lifetime is elided here
[INFO] [stdout]     |                 |         the same lifetime is hidden here
[INFO] [stdout]     |                 |         the same lifetime is hidden here
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub fn space(i: &[u8]) -> IRResult<'_, &[u8]> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 470 | /         gen_parser!(
[INFO] [stdout] 471 | |             test<(&[u8], &[u8])>,
[INFO] [stdout]     | |                   ^^^^^  ^^^^^ the same lifetime is elided here
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |                   the same lifetime is elided here
[INFO] [stdout] 472 | |             chain!(hello: alpha >> tag!(b" ") >> world: alpha >> (hello, world))
[INFO] [stdout] 473 | |         );
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |         gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                           ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the same lifetime is hidden here
[INFO] [stdout]     |                                 the same lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 478 |         gen_parser!(getter_name<&[u8]>, alt!(tag!(b"gets") | tag!(b"get")));
[INFO] [stdout]     |         ------------------------^^^^^--------------------------------------
[INFO] [stdout]     |         |                       |
[INFO] [stdout]     |         |                       the same lifetime is elided here
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:502:30
[INFO] [stdout]     |
[INFO] [stdout] 502 |         fn custom_parser(_i: &[u8]) -> IRResult<&[u8]> {
[INFO] [stdout]     |                              ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                              |         |        |
[INFO] [stdout]     |                              |         |        the same lifetime is elided here
[INFO] [stdout]     |                              |         the same lifetime is hidden here
[INFO] [stdout]     |                              |         the same lifetime is hidden here
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 502 |         fn custom_parser(_i: &[u8]) -> IRResult<'_, &[u8]> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |         gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                           ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the same lifetime is hidden here
[INFO] [stdout]     |                                 the same lifetime is hidden here
[INFO] [stdout] ...
[INFO] [stdout] 568 |         gen_parser!(getter_name<&[u8]>, alt!(tag!(b"gets") | tag!(b"get")));
[INFO] [stdout]     |         ------------------------^^^^^--------------------------------------
[INFO] [stdout]     |         |                       |
[INFO] [stdout]     |         |                       the same lifetime is elided here
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/config.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Debug, Deserialize)]
[INFO] [stdout]    |                 ^----------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Config`
[INFO] [stdout] 15 | pub struct Config {
[INFO] [stdout]    |            ------ `Config` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> mirdb-server/src/config.rs:55:21
[INFO] [stdout]    |
[INFO] [stdout] 55 |         _ => panic!(format!("unknown size unit {:?}", x)),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 55 -         _ => panic!(format!("unknown size unit {:?}", x)),
[INFO] [stdout] 55 +         _ => panic!("unknown size unit {:?}", x),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/config.rs:59:1
[INFO] [stdout]     |
[INFO] [stdout]  59 | / gen_parser!(
[INFO] [stdout]  60 | |     size_unit_parser<&[u8]>,
[INFO] [stdout]     | |                      ^^^^^ the same lifetime is elided here
[INFO] [stdout]  61 | |     alt!(tag!(b"K") | tag!(b"M") | tag!(b"G") | tag!(b"T"))
[INFO] [stdout]  62 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/config.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | / gen_parser!(
[INFO] [stdout]  65 | |     size_parser<usize>,
[INFO] [stdout]  66 | |     chain!(size: usize_parser >> unit: size_unit_parser >> (to_size_unit(unit) * size))
[INFO] [stdout]  67 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FileMeta`
[INFO] [stdout] 19 | pub struct FileMeta {
[INFO] [stdout]    |            -------- `FileMeta` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:18:35
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FileMeta`
[INFO] [stdout] 19 | pub struct FileMeta {
[INFO] [stdout]    |            -------- `FileMeta` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:23:24
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LevelMeta`
[INFO] [stdout] 24 | pub struct LevelMeta {
[INFO] [stdout]    |            --------- `LevelMeta` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LevelMeta`
[INFO] [stdout] 24 | pub struct LevelMeta {
[INFO] [stdout]    |            --------- `LevelMeta` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                        ^--------
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Manifest`
[INFO] [stdout] 50 | pub struct Manifest {
[INFO] [stdout]    |            -------- `Manifest` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/manifest.rs:49:35
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^----------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Manifest`
[INFO] [stdout] 50 | pub struct Manifest {
[INFO] [stdout]    |            -------- `Manifest` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mirdb-server/src/memtable.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn iter(&self) -> SkipListIter<K, V> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn iter(&self) -> SkipListIter<'_, K, V> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> mirdb-server/src/memtable_list.rs:44:24
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn tables_iter(&self) -> linked_list::Iter<Memtable<K, V>> {
[INFO] [stdout]    |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn tables_iter(&self) -> linked_list::Iter<'_, Memtable<K, V>> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:254:33
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 the same lifetime is hidden here
[INFO] [stdout]     |                                 the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:7:24
[INFO] [stdout]     |
[INFO] [stdout]   7 | gen_parser!(key_parser<&[u8], &[u8]>, is_not!(b" \t\r\n\0"));
[INFO] [stdout]     | -----------------------^^^^^--^^^^^-------------------------
[INFO] [stdout]     | |                      |      |
[INFO] [stdout]     | |                      |      the same lifetime is elided here
[INFO] [stdout]     | |                      the lifetime is elided here
[INFO] [stdout]     | in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout]   9 | / gen_parser!(
[INFO] [stdout]  10 | |     getter_name_parser<&[u8]>,
[INFO] [stdout]     | |                        ^^^^^ the same lifetime is elided here
[INFO] [stdout]  11 | |     alt!(tag!(b"gets") | tag!(b"get"))
[INFO] [stdout]  12 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | / gen_parser!(
[INFO] [stdout]  15 | |     setter_name_parser<&[u8]>,
[INFO] [stdout]     | |                        ^^^^^ the same lifetime is elided here
[INFO] [stdout]  16 | |     alt!(tag!(b"set") | tag!(b"add") | tag!(b"replace") | tag!(b"append") | tag!(b"prepend"))
[INFO] [stdout]  17 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:19:1
[INFO] [stdout]     |
[INFO] [stdout]  19 | / gen_parser!(
[INFO] [stdout]  20 | |     getter<Request>,
[INFO] [stdout]  21 | |     chain!(
[INFO] [stdout]  22 | |         getter: getter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  31 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> mirdb-server/src/parser.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |         _ => panic!(format!("unknown getter {:?}", x)),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 41 -         _ => panic!(format!("unknown getter {:?}", x)),
[INFO] [stdout] 41 +         _ => panic!("unknown getter {:?}", x),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> mirdb-server/src/parser.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |         _ => panic!(format!("unknown setter {:?}", x)),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 52 -         _ => panic!(format!("unknown setter {:?}", x)),
[INFO] [stdout] 52 +         _ => panic!("unknown setter {:?}", x),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stdout]     |
[INFO] [stdout]  56 | / gen_parser!(
[INFO] [stdout]  57 | |     setter<Request>,
[INFO] [stdout]  58 | |     chain!(
[INFO] [stdout]  59 | |         setter: setter_name_parser
[INFO] [stdout] ...   |
[INFO] [stdout]  83 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | / gen_parser!(
[INFO] [stdout]  86 | |     deleter<Request>,
[INFO] [stdout]  87 | |     chain!(
[INFO] [stdout]  88 | |         tag!(b"delete")
[INFO] [stdout] ...   |
[INFO] [stdout]  99 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | / gen_parser!(
[INFO] [stdout] 102 | |     info<Request>,
[INFO] [stdout] 103 | |     chain!(tag!(b"info") >> tag!(b"\r\n") >> (Request::Info))
[INFO] [stdout] 104 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:106:1
[INFO] [stdout]     |
[INFO] [stdout] 106 | / gen_parser!(
[INFO] [stdout] 107 | |     major_compaction<Request>,
[INFO] [stdout] 108 | |     chain!(tag!(b"major_compaction") >> tag!(b"\r\n") >> (Request::MajorCompaction))
[INFO] [stdout] 109 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stdout]     |
[INFO] [stdout] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |                                   the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]    ::: mirdb-server/src/parser.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | / gen_parser!(
[INFO] [stdout] 112 | |     parse<Request>,
[INFO] [stdout] 113 | |     alt!(getter | setter | deleter | info | major_compaction)
[INFO] [stdout] 114 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/store.rs:24:35
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                   ^--------
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Serialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StorePayload`
[INFO] [stdout] 25 | pub struct StorePayload {
[INFO] [stdout]    |            ------------ `StorePayload` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> mirdb-server/src/store.rs:24:46
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
[INFO] [stdout]    |                                              ^----------
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              `Deserialize` is not local
[INFO] [stdout]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StorePayload`
[INFO] [stdout] 25 | pub struct StorePayload {
[INFO] [stdout]    |            ------------ `StorePayload` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> mirdb-server/src/wal.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |     pub fn iter(&self) -> MyResult<WALIter> {
[INFO] [stdout]     |                 ^^^^^              ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 300 |     pub fn iter(&self) -> MyResult<WALIter<'_>> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.34s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: mirdb v0.1.0 (/opt/rustwide/workdir/mirdb-server), snap v0.2.5
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "bf77abfc454347406100e34f9d44dce2d97ea3f3fe8dd3a7fa50db719b2e602a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf77abfc454347406100e34f9d44dce2d97ea3f3fe8dd3a7fa50db719b2e602a", kill_on_drop: false }`
[INFO] [stdout] bf77abfc454347406100e34f9d44dce2d97ea3f3fe8dd3a7fa50db719b2e602a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2cf1bdba134a0b7ed36cc442048cb629c7001cfb1b31b24c85c45e27683160ea
[INFO] running `Command { std: "docker" "start" "-a" "2cf1bdba134a0b7ed36cc442048cb629c7001cfb1b31b24c85c45e27683160ea", kill_on_drop: false }`
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> sstable/src/meta_block.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> sstable/src/meta_block.rs:16:21
[INFO] [stderr]    |
[INFO] [stderr] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |                     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> sstable/src/util.rs:65:5
[INFO] [stderr]    |
[INFO] [stderr] 65 |     (rot.wrapping_shr(17) | rot.wrapping_shl(15))
[INFO] [stderr]    |     ^                                           ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 65 -     (rot.wrapping_shr(17) | rot.wrapping_shl(15))
[INFO] [stderr] 65 +     rot.wrapping_shr(17) | rot.wrapping_shl(15) 
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> sstable/src/error.rs:44:29
[INFO] [stderr]    |
[INFO] [stderr] 44 |         Status::new(code, e.description())
[INFO] [stderr]    |                             ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> sstable/src/error.rs:54:29
[INFO] [stderr]    |
[INFO] [stderr] 54 |         Status::new(code, e.description())
[INFO] [stderr]    |                             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> sstable/src/error.rs:60:49
[INFO] [stderr]    |
[INFO] [stderr] 60 |         Status::new(StatusCode::BincodeError, e.description())
[INFO] [stderr]    |                                                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> sstable/src/error.rs:66:48
[INFO] [stderr]    |
[INFO] [stderr] 66 |         Status::new(StatusCode::CuckooError, e.description())
[INFO] [stderr]    |                                                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> sstable/src/types.rs:32:22
[INFO] [stderr]    |
[INFO] [stderr] 32 |         Ok((self as &FileExt).read_at(dst, offset as u64)?)
[INFO] [stderr]    |                      ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 32 |         Ok((self as &dyn FileExt).read_at(dst, offset as u64)?)
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> sstable/src/util.rs:68:26
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub fn read_unlock<T>(l: &RwLock<T>) -> RwLockReadGuard<T> {
[INFO] [stderr]    |                          ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub fn read_unlock<T>(l: &RwLock<T>) -> RwLockReadGuard<'_, T> {
[INFO] [stderr]    |                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> sstable/src/util.rs:75:27
[INFO] [stderr]    |
[INFO] [stderr] 75 | pub fn write_unlock<T>(l: &RwLock<T>) -> RwLockWriteGuard<T> {
[INFO] [stderr]    |                           ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 75 | pub fn write_unlock<T>(l: &RwLock<T>) -> RwLockWriteGuard<'_, T> {
[INFO] [stderr]    |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> sstable/src/block.rs:80:17
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn iter(&self) -> BlockIter {
[INFO] [stderr]    |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub fn iter(&self) -> BlockIter<'_> {
[INFO] [stderr]    |                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> sstable/src/meta_block.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |          ^--------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `Serialize` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MetaBlock`
[INFO] [stderr] 17 | pub struct MetaBlock {
[INFO] [stderr]    |            --------- `MetaBlock` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> sstable/src/meta_block.rs:16:21
[INFO] [stderr]    |
[INFO] [stderr] 16 | #[derive(Serialize, Deserialize)]
[INFO] [stderr]    |                     ^----------
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     `Deserialize` is not local
[INFO] [stderr]    |                     move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MetaBlock`
[INFO] [stderr] 17 | pub struct MetaBlock {
[INFO] [stderr]    |            --------- `MetaBlock` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> sstable/src/table_iter.rs:25:18
[INFO] [stderr]    |
[INFO] [stderr] 25 |     fn data_iter(&self) -> Option<BlockIter> {
[INFO] [stderr]    |                  ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 25 |     fn data_iter(&self) -> Option<BlockIter<'_>> {
[INFO] [stderr]    |                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> sstable/src/table_reader.rs:134:17
[INFO] [stderr]     |
[INFO] [stderr] 134 |     pub fn iter(&self) -> TableIter {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 134 |     pub fn iter(&self) -> TableIter<'_> {
[INFO] [stderr]     |                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `sstable` (lib) generated 15 warnings (run `cargo fix --lib -p sstable` to apply 7 suggestions)
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> skip-list/src/list.rs:243:62
[INFO] [stderr]     |
[INFO] [stderr] 243 |             let old_value = next.replace_value(unsafe { mem::uninitialized() });
[INFO] [stderr]     |                                                              ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> skip-list/src/node.rs:40:27
[INFO] [stderr]    |
[INFO] [stderr] 40 |             unsafe { mem::uninitialized() },
[INFO] [stderr]    |                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> skip-list/src/node.rs:41:27
[INFO] [stderr]    |
[INFO] [stderr] 41 |             unsafe { mem::uninitialized() },
[INFO] [stderr]    |                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stderr]   --> skip-list/src/iter.rs:42:17
[INFO] [stderr]    |
[INFO] [stderr] 42 |                 ::std::mem::replace(&mut self.0, Some(unsafe { &mut *next }));
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 42 |                 let _ = ::std::mem::replace(&mut self.0, Some(unsafe { &mut *next }));
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stderr]    --> skip-list/src/list.rs:140:18
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 *((*node_ptr).nexts_.get_unchecked_mut(i)) = *(update.nexts_.get_unchecked_mut(i));
[INFO] [stderr]     |                  ^^^--------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     this raw pointer has type `*mut SkipListNode<K, V>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stderr] note: autoref is being applied to this expression, resulting in: `&mut [*mut SkipListNode<K, V>]`
[INFO] [stderr]    --> skip-list/src/list.rs:140:19
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 *((*node_ptr).nexts_.get_unchecked_mut(i)) = *(update.nexts_.get_unchecked_mut(i));
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: method calls to `get_unchecked_mut` require a reference
[INFO] [stderr]    --> /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/slice/mod.rs:684:4
[INFO] [stderr]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stderr] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 *((&mut (*node_ptr).nexts_).get_unchecked_mut(i)) = *(update.nexts_.get_unchecked_mut(i));
[INFO] [stderr]     |                   +++++                   +
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> skip-list/src/list.rs:295:17
[INFO] [stderr]     |
[INFO] [stderr] 295 |     pub fn iter(&self) -> SkipListIter<K, V> {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 295 |     pub fn iter(&self) -> SkipListIter<'_, K, V> {
[INFO] [stderr]     |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> skip-list/src/list.rs:299:21
[INFO] [stderr]     |
[INFO] [stderr] 299 |     pub fn iter_mut(&mut self) -> SkipListIterMut<K, V> {
[INFO] [stderr]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 299 |     pub fn iter_mut(&mut self) -> SkipListIterMut<'_, K, V> {
[INFO] [stderr]     |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stderr]   --> skip-list/src/node.rs:60:13
[INFO] [stderr]    |
[INFO] [stderr] 60 |             Box::from_raw(node_ptr);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 60 |             let _ = Box::from_raw(node_ptr);
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `skip-list` (lib) generated 8 warnings (run `cargo fix --lib -p skip-list` to apply 2 suggestions)
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> mirdb-server/src/config.rs:14:17
[INFO] [stderr]    |
[INFO] [stderr] 14 | #[derive(Debug, Deserialize)]
[INFO] [stderr]    |                 ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> mirdb-server/src/manifest.rs:18:24
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                        ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> mirdb-server/src/manifest.rs:18:35
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> mirdb-server/src/manifest.rs:23:24
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                        ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> mirdb-server/src/manifest.rs:23:35
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> mirdb-server/src/manifest.rs:49:24
[INFO] [stderr]    |
[INFO] [stderr] 49 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                        ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> mirdb-server/src/manifest.rs:49:35
[INFO] [stderr]    |
[INFO] [stderr] 49 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> mirdb-server/src/store.rs:24:35
[INFO] [stderr]    |
[INFO] [stderr] 24 | #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> mirdb-server/src/store.rs:24:46
[INFO] [stderr]    |
[INFO] [stderr] 24 | #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                                              ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]    = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]    = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stderr]     |
[INFO] [stderr] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                            ^
[INFO] [stderr] ...
[INFO] [stderr] 452 |           let r = chain!(
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 453 | |             b"hello world",
[INFO] [stderr] 454 | |             hello: alpha >> tag!(b" ") >> world: alpha >> (hello, world)
[INFO] [stderr] 455 | |         )
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: `#[warn(semicolon_in_expressions_from_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stderr]     |
[INFO] [stderr] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                            ^
[INFO] [stderr] ...
[INFO] [stderr] 452 |           let r = chain!(
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 453 | |             b"hello world",
[INFO] [stderr] 454 | |             hello: alpha >> tag!(b" ") >> world: alpha >> (hello, world)
[INFO] [stderr] 455 | |         )
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stderr]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stderr]     |
[INFO] [stderr] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                            ^
[INFO] [stderr] ...
[INFO] [stderr] 462 |           let r = chain!(
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 463 | |             b"hello world",
[INFO] [stderr] 464 | |             hello: alpha >> tag!(b" ") >> world: alpha >> tag!(b" ") >> (hello, world)
[INFO] [stderr] 465 | |         );
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stderr]     |
[INFO] [stderr] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                            ^
[INFO] [stderr] ...
[INFO] [stderr] 462 |           let r = chain!(
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 463 | |             b"hello world",
[INFO] [stderr] 464 | |             hello: alpha >> tag!(b" ") >> world: alpha >> tag!(b" ") >> (hello, world)
[INFO] [stderr] 465 | |         );
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stderr]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stderr]     |
[INFO] [stderr] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                            ^
[INFO] [stderr] ...
[INFO] [stderr] 470 | /         gen_parser!(
[INFO] [stderr] 471 | |             test<(&[u8], &[u8])>,
[INFO] [stderr] 472 | |             chain!(hello: alpha >> tag!(b" ") >> world: alpha >> (hello, world))
[INFO] [stderr] 473 | |         );
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stderr]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stderr]     |
[INFO] [stderr] 177 |         chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                  ^
[INFO] [stderr] ...
[INFO] [stderr] 560 |         let r = chain!(b" I love u", space >> keys: split!(space, alpha) >> (keys)).unwrap();
[INFO] [stderr]     |                 ------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stderr]     |
[INFO] [stderr] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                            ^
[INFO] [stderr] ...
[INFO] [stderr] 569 |           let r = chain!(
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 570 | |             b"get I love u",
[INFO] [stderr] 571 | |             getter: getter_name >> space >> keys: split!(space, alpha) >> (getter, keys)
[INFO] [stderr] 572 | |         )
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stderr]     |
[INFO] [stderr] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                    ^
[INFO] [stderr] ...
[INFO] [stderr] 569 |           let r = chain!(
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 570 | |             b"get I love u",
[INFO] [stderr] 571 | |             getter: getter_name >> space >> keys: split!(space, alpha) >> (getter, keys)
[INFO] [stderr] 572 | |         )
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stderr]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stderr]     |
[INFO] [stderr] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                            ^
[INFO] [stderr] ...
[INFO] [stderr] 584 |           let r = chain!(
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 585 | |             b"gets I love u",
[INFO] [stderr] 586 | |             getter: getter_name >> space >> keys: split!(space, alpha) >> (getter, keys)
[INFO] [stderr] 587 | |         )
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stderr]     |
[INFO] [stderr] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                    ^
[INFO] [stderr] ...
[INFO] [stderr] 584 |           let r = chain!(
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 585 | |             b"gets I love u",
[INFO] [stderr] 586 | |             getter: getter_name >> space >> keys: split!(space, alpha) >> (getter, keys)
[INFO] [stderr] 587 | |         )
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stderr]     = note: this warning originates in the macro `chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stderr]     |
[INFO] [stderr] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/config.rs:64:1
[INFO] [stderr]     |
[INFO] [stderr]  64 | / gen_parser!(
[INFO] [stderr]  65 | |     size_parser<usize>,
[INFO] [stderr]  66 | |     chain!(size: usize_parser >> unit: size_unit_parser >> (to_size_unit(unit) * size))
[INFO] [stderr]  67 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stderr]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stderr]     |
[INFO] [stderr] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:19:1
[INFO] [stderr]     |
[INFO] [stderr]  19 | / gen_parser!(
[INFO] [stderr]  20 | |     getter<Request>,
[INFO] [stderr]  21 | |     chain!(
[INFO] [stderr]  22 | |         getter: getter_name_parser
[INFO] [stderr] ...   |
[INFO] [stderr]  31 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stderr]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stderr]     |
[INFO] [stderr] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                    ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:19:1
[INFO] [stderr]     |
[INFO] [stderr]  19 | / gen_parser!(
[INFO] [stderr]  20 | |     getter<Request>,
[INFO] [stderr]  21 | |     chain!(
[INFO] [stderr]  22 | |         getter: getter_name_parser
[INFO] [stderr] ...   |
[INFO] [stderr]  31 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stderr]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stderr]     |
[INFO] [stderr] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stderr]     |
[INFO] [stderr]  56 | / gen_parser!(
[INFO] [stderr]  57 | |     setter<Request>,
[INFO] [stderr]  58 | |     chain!(
[INFO] [stderr]  59 | |         setter: setter_name_parser
[INFO] [stderr] ...   |
[INFO] [stderr]  83 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stderr]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stderr]     |
[INFO] [stderr] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                    ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stderr]     |
[INFO] [stderr]  56 | / gen_parser!(
[INFO] [stderr]  57 | |     setter<Request>,
[INFO] [stderr]  58 | |     chain!(
[INFO] [stderr]  59 | |         setter: setter_name_parser
[INFO] [stderr] ...   |
[INFO] [stderr]  83 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stderr]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:177:50
[INFO] [stderr]     |
[INFO] [stderr] 177 |           chain!(@inner $i, call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                    ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:85:1
[INFO] [stderr]     |
[INFO] [stderr]  85 | / gen_parser!(
[INFO] [stderr]  86 | |     deleter<Request>,
[INFO] [stderr]  87 | |     chain!(
[INFO] [stderr]  88 | |         tag!(b"delete")
[INFO] [stderr] ...   |
[INFO] [stderr]  99 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stderr]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:190:58
[INFO] [stderr]     |
[INFO] [stderr] 190 |           chain!(@inner $i, $field: call!($e) >> $($rest)*);
[INFO] [stderr]     |                                                            ^
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:85:1
[INFO] [stderr]     |
[INFO] [stderr]  85 | / gen_parser!(
[INFO] [stderr]  86 | |     deleter<Request>,
[INFO] [stderr]  87 | |     chain!(
[INFO] [stderr]  88 | |         tag!(b"delete")
[INFO] [stderr] ...   |
[INFO] [stderr]  99 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stderr]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `chain`
[INFO] [stderr]     = note: this warning originates in the macro `chain` which comes from the expansion of the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> mirdb-server/src/main.rs:71:23
[INFO] [stderr]    |
[INFO] [stderr] 71 |     type Future = Box<Future<Item = Response, Error = io::Error>>;
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 71 |     type Future = Box<dyn Future<Item = Response, Error = io::Error>>;
[INFO] [stderr]    |                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> mirdb-server/src/response.rs:75:38
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub fn write(&self, writer: &mut Writer) -> MyResult<()> {
[INFO] [stderr]    |                                      ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub fn write(&self, writer: &mut dyn Writer) -> MyResult<()> {
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> mirdb-server/src/error.rs:46:49
[INFO] [stderr]    |
[INFO] [stderr] 46 |         Status::new(StatusCode::BincodeError, e.description())
[INFO] [stderr]    |                                                 ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> mirdb-server/src/error.rs:53:72
[INFO] [stderr]    |
[INFO] [stderr] 53 |             ErrorKind::NotFound => Status::new(StatusCode::NotFound, e.description()),
[INFO] [stderr]    |                                                                        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> mirdb-server/src/error.rs:54:53
[INFO] [stderr]    |
[INFO] [stderr] 54 |             _ => Status::new(StatusCode::IOError, e.description()),
[INFO] [stderr]    |                                                     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> mirdb-server/src/error.rs:80:29
[INFO] [stderr]    |
[INFO] [stderr] 80 |         Status::new(code, e.description())
[INFO] [stderr]    |                             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mirdb-server/src/utils.rs:15:24
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub fn read_lock<T>(l: &RwLock<T>) -> RwLockReadGuard<T> {
[INFO] [stderr]    |                        ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub fn read_lock<T>(l: &RwLock<T>) -> RwLockReadGuard<'_, T> {
[INFO] [stderr]    |                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mirdb-server/src/utils.rs:22:25
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub fn write_lock<T>(l: &RwLock<T>) -> RwLockWriteGuard<T> {
[INFO] [stderr]    |                         ^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub fn write_lock<T>(l: &RwLock<T>) -> RwLockWriteGuard<'_, T> {
[INFO] [stderr]    |                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> mirdb-server/src/parser_util/macros.rs:18:40
[INFO] [stderr]    |
[INFO] [stderr] 18 |             IRResult::Err(e) => panic!(e.to_owned()),
[INFO] [stderr]    |                                        ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]    |
[INFO] [stderr] 18 |             IRResult::Err(e) => panic!("{}", e.to_owned()),
[INFO] [stderr]    |                                        +++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:326:17
[INFO] [stderr]     |
[INFO] [stderr] 326 | pub fn alpha(i: &[u8]) -> IRResult<&[u8]> {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                 |         |        |
[INFO] [stderr]     |                 |         |        the same lifetime is elided here
[INFO] [stderr]     |                 |         the same lifetime is hidden here
[INFO] [stderr]     |                 |         the same lifetime is hidden here
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 326 | pub fn alpha(i: &[u8]) -> IRResult<'_, &[u8]> {
[INFO] [stderr]     |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:338:29
[INFO] [stderr]     |
[INFO] [stderr] 338 | pub fn digit<T: FromStr>(i: &[u8]) -> IRResult<T> {
[INFO] [stderr]     |                             ^^^^^     ^^^^^^^^^^^
[INFO] [stderr]     |                             |         |
[INFO] [stderr]     |                             |         the same lifetime is hidden here
[INFO] [stderr]     |                             |         the same lifetime is hidden here
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 338 | pub fn digit<T: FromStr>(i: &[u8]) -> IRResult<'_, T> {
[INFO] [stderr]     |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:359:22
[INFO] [stderr]     |
[INFO] [stderr] 359 | pub fn u32_parser(i: &[u8]) -> IRResult<u32> {
[INFO] [stderr]     |                      ^^^^^     ^^^^^^^^^^^^^
[INFO] [stderr]     |                      |         |
[INFO] [stderr]     |                      |         the same lifetime is hidden here
[INFO] [stderr]     |                      |         the same lifetime is hidden here
[INFO] [stderr]     |                      the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 359 | pub fn u32_parser(i: &[u8]) -> IRResult<'_, u32> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:364:24
[INFO] [stderr]     |
[INFO] [stderr] 364 | pub fn usize_parser(i: &[u8]) -> IRResult<usize> {
[INFO] [stderr]     |                        ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                        |         |
[INFO] [stderr]     |                        |         the same lifetime is hidden here
[INFO] [stderr]     |                        |         the same lifetime is hidden here
[INFO] [stderr]     |                        the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 364 | pub fn usize_parser(i: &[u8]) -> IRResult<'_, usize> {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:368:17
[INFO] [stderr]     |
[INFO] [stderr] 368 | pub fn space(i: &[u8]) -> IRResult<&[u8]> {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                 |         |        |
[INFO] [stderr]     |                 |         |        the same lifetime is elided here
[INFO] [stderr]     |                 |         the same lifetime is hidden here
[INFO] [stderr]     |                 |         the same lifetime is hidden here
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 368 | pub fn space(i: &[u8]) -> IRResult<'_, &[u8]> {
[INFO] [stderr]     |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stderr]     |
[INFO] [stderr] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr] ...
[INFO] [stderr] 470 | /         gen_parser!(
[INFO] [stderr] 471 | |             test<(&[u8], &[u8])>,
[INFO] [stderr]     | |                   ^^^^^  ^^^^^ the same lifetime is elided here
[INFO] [stderr]     | |                   |
[INFO] [stderr]     | |                   the same lifetime is elided here
[INFO] [stderr] 472 | |             chain!(hello: alpha >> tag!(b" ") >> world: alpha >> (hello, world))
[INFO] [stderr] 473 | |         );
[INFO] [stderr]     | |_________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stderr]     |
[INFO] [stderr] 251 |         gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stderr]     |                           ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 the same lifetime is hidden here
[INFO] [stderr]     |                                 the same lifetime is hidden here
[INFO] [stderr] ...
[INFO] [stderr] 478 |         gen_parser!(getter_name<&[u8]>, alt!(tag!(b"gets") | tag!(b"get")));
[INFO] [stderr]     |         ------------------------^^^^^--------------------------------------
[INFO] [stderr]     |         |                       |
[INFO] [stderr]     |         |                       the same lifetime is elided here
[INFO] [stderr]     |         in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:502:30
[INFO] [stderr]     |
[INFO] [stderr] 502 |         fn custom_parser(_i: &[u8]) -> IRResult<&[u8]> {
[INFO] [stderr]     |                              ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                              |         |        |
[INFO] [stderr]     |                              |         |        the same lifetime is elided here
[INFO] [stderr]     |                              |         the same lifetime is hidden here
[INFO] [stderr]     |                              |         the same lifetime is hidden here
[INFO] [stderr]     |                              the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 502 |         fn custom_parser(_i: &[u8]) -> IRResult<'_, &[u8]> {
[INFO] [stderr]     |                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stderr]     |
[INFO] [stderr] 251 |         gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stderr]     |                           ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 the same lifetime is hidden here
[INFO] [stderr]     |                                 the same lifetime is hidden here
[INFO] [stderr] ...
[INFO] [stderr] 568 |         gen_parser!(getter_name<&[u8]>, alt!(tag!(b"gets") | tag!(b"get")));
[INFO] [stderr]     |         ------------------------^^^^^--------------------------------------
[INFO] [stderr]     |         |                       |
[INFO] [stderr]     |         |                       the same lifetime is elided here
[INFO] [stderr]     |         in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> mirdb-server/src/config.rs:14:17
[INFO] [stderr]    |
[INFO] [stderr] 14 | #[derive(Debug, Deserialize)]
[INFO] [stderr]    |                 ^----------
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Deserialize` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Config`
[INFO] [stderr] 15 | pub struct Config {
[INFO] [stderr]    |            ------ `Config` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> mirdb-server/src/config.rs:55:21
[INFO] [stderr]    |
[INFO] [stderr] 55 |         _ => panic!(format!("unknown size unit {:?}", x)),
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]    |
[INFO] [stderr] 55 -         _ => panic!(format!("unknown size unit {:?}", x)),
[INFO] [stderr] 55 +         _ => panic!("unknown size unit {:?}", x),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stderr]     |
[INFO] [stderr] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/config.rs:59:1
[INFO] [stderr]     |
[INFO] [stderr]  59 | / gen_parser!(
[INFO] [stderr]  60 | |     size_unit_parser<&[u8]>,
[INFO] [stderr]     | |                      ^^^^^ the same lifetime is elided here
[INFO] [stderr]  61 | |     alt!(tag!(b"K") | tag!(b"M") | tag!(b"G") | tag!(b"T"))
[INFO] [stderr]  62 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stderr]     |
[INFO] [stderr] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/config.rs:64:1
[INFO] [stderr]     |
[INFO] [stderr]  64 | / gen_parser!(
[INFO] [stderr]  65 | |     size_parser<usize>,
[INFO] [stderr]  66 | |     chain!(size: usize_parser >> unit: size_unit_parser >> (to_size_unit(unit) * size))
[INFO] [stderr]  67 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> mirdb-server/src/manifest.rs:18:24
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                        ^--------
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `Serialize` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FileMeta`
[INFO] [stderr] 19 | pub struct FileMeta {
[INFO] [stderr]    |            -------- `FileMeta` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> mirdb-server/src/manifest.rs:18:35
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FileMeta`
[INFO] [stderr] 19 | pub struct FileMeta {
[INFO] [stderr]    |            -------- `FileMeta` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> mirdb-server/src/manifest.rs:23:24
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                        ^--------
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `Serialize` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_LevelMeta`
[INFO] [stderr] 24 | pub struct LevelMeta {
[INFO] [stderr]    |            --------- `LevelMeta` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> mirdb-server/src/manifest.rs:23:35
[INFO] [stderr]    |
[INFO] [stderr] 23 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_LevelMeta`
[INFO] [stderr] 24 | pub struct LevelMeta {
[INFO] [stderr]    |            --------- `LevelMeta` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> mirdb-server/src/manifest.rs:49:24
[INFO] [stderr]    |
[INFO] [stderr] 49 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                        ^--------
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `Serialize` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Manifest`
[INFO] [stderr] 50 | pub struct Manifest {
[INFO] [stderr]    |            -------- `Manifest` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> mirdb-server/src/manifest.rs:49:35
[INFO] [stderr]    |
[INFO] [stderr] 49 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^----------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Manifest`
[INFO] [stderr] 50 | pub struct Manifest {
[INFO] [stderr]    |            -------- `Manifest` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mirdb-server/src/memtable.rs:32:17
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub fn iter(&self) -> SkipListIter<K, V> {
[INFO] [stderr]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 32 |     pub fn iter(&self) -> SkipListIter<'_, K, V> {
[INFO] [stderr]    |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> mirdb-server/src/memtable_list.rs:44:24
[INFO] [stderr]    |
[INFO] [stderr] 44 |     pub fn tables_iter(&self) -> linked_list::Iter<Memtable<K, V>> {
[INFO] [stderr]    |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 44 |     pub fn tables_iter(&self) -> linked_list::Iter<'_, Memtable<K, V>> {
[INFO] [stderr]    |                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:254:33
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^
[INFO] [stderr]     |                                 |
[INFO] [stderr]     |                                 the same lifetime is hidden here
[INFO] [stderr]     |                                 the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:7:24
[INFO] [stderr]     |
[INFO] [stderr]   7 | gen_parser!(key_parser<&[u8], &[u8]>, is_not!(b" \t\r\n\0"));
[INFO] [stderr]     | -----------------------^^^^^--^^^^^-------------------------
[INFO] [stderr]     | |                      |      |
[INFO] [stderr]     | |                      |      the same lifetime is elided here
[INFO] [stderr]     | |                      the lifetime is elided here
[INFO] [stderr]     | in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stderr]     |
[INFO] [stderr] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:9:1
[INFO] [stderr]     |
[INFO] [stderr]   9 | / gen_parser!(
[INFO] [stderr]  10 | |     getter_name_parser<&[u8]>,
[INFO] [stderr]     | |                        ^^^^^ the same lifetime is elided here
[INFO] [stderr]  11 | |     alt!(tag!(b"gets") | tag!(b"get"))
[INFO] [stderr]  12 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stderr]     |
[INFO] [stderr] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:14:1
[INFO] [stderr]     |
[INFO] [stderr]  14 | / gen_parser!(
[INFO] [stderr]  15 | |     setter_name_parser<&[u8]>,
[INFO] [stderr]     | |                        ^^^^^ the same lifetime is elided here
[INFO] [stderr]  16 | |     alt!(tag!(b"set") | tag!(b"add") | tag!(b"replace") | tag!(b"append") | tag!(b"prepend"))
[INFO] [stderr]  17 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stderr]     |
[INFO] [stderr] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:19:1
[INFO] [stderr]     |
[INFO] [stderr]  19 | / gen_parser!(
[INFO] [stderr]  20 | |     getter<Request>,
[INFO] [stderr]  21 | |     chain!(
[INFO] [stderr]  22 | |         getter: getter_name_parser
[INFO] [stderr] ...   |
[INFO] [stderr]  31 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> mirdb-server/src/parser.rs:41:21
[INFO] [stderr]    |
[INFO] [stderr] 41 |         _ => panic!(format!("unknown getter {:?}", x)),
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]    |
[INFO] [stderr] 41 -         _ => panic!(format!("unknown getter {:?}", x)),
[INFO] [stderr] 41 +         _ => panic!("unknown getter {:?}", x),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> mirdb-server/src/parser.rs:52:21
[INFO] [stderr]    |
[INFO] [stderr] 52 |         _ => panic!(format!("unknown setter {:?}", x)),
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]    |
[INFO] [stderr] 52 -         _ => panic!(format!("unknown setter {:?}", x)),
[INFO] [stderr] 52 +         _ => panic!("unknown setter {:?}", x),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stderr]     |
[INFO] [stderr] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:56:1
[INFO] [stderr]     |
[INFO] [stderr]  56 | / gen_parser!(
[INFO] [stderr]  57 | |     setter<Request>,
[INFO] [stderr]  58 | |     chain!(
[INFO] [stderr]  59 | |         setter: setter_name_parser
[INFO] [stderr] ...   |
[INFO] [stderr]  83 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stderr]     |
[INFO] [stderr] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:85:1
[INFO] [stderr]     |
[INFO] [stderr]  85 | / gen_parser!(
[INFO] [stderr]  86 | |     deleter<Request>,
[INFO] [stderr]  87 | |     chain!(
[INFO] [stderr]  88 | |         tag!(b"delete")
[INFO] [stderr] ...   |
[INFO] [stderr]  99 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stderr]     |
[INFO] [stderr] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:101:1
[INFO] [stderr]     |
[INFO] [stderr] 101 | / gen_parser!(
[INFO] [stderr] 102 | |     info<Request>,
[INFO] [stderr] 103 | |     chain!(tag!(b"info") >> tag!(b"\r\n") >> (Request::Info))
[INFO] [stderr] 104 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stderr]     |
[INFO] [stderr] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:106:1
[INFO] [stderr]     |
[INFO] [stderr] 106 | / gen_parser!(
[INFO] [stderr] 107 | |     major_compaction<Request>,
[INFO] [stderr] 108 | |     chain!(tag!(b"major_compaction") >> tag!(b"\r\n") >> (Request::MajorCompaction))
[INFO] [stderr] 109 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/parser_util/macros.rs:251:27
[INFO] [stderr]     |
[INFO] [stderr] 251 |           gen_parser!($name<&[u8], $ot>, $mac!($($args)*));
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 254 |           pub fn $name(i: $it) -> IRResult<$ot> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |                                   the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]    ::: mirdb-server/src/parser.rs:111:1
[INFO] [stderr]     |
[INFO] [stderr] 111 | / gen_parser!(
[INFO] [stderr] 112 | |     parse<Request>,
[INFO] [stderr] 113 | |     alt!(getter | setter | deleter | info | major_compaction)
[INFO] [stderr] 114 | | );
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `gen_parser` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 254 |         pub fn $name(i: $it) -> IRResult<'_, $ot> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> mirdb-server/src/store.rs:24:35
[INFO] [stderr]    |
[INFO] [stderr] 24 | #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                                   ^--------
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Serialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_StorePayload`
[INFO] [stderr] 25 | pub struct StorePayload {
[INFO] [stderr]    |            ------------ `StorePayload` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> mirdb-server/src/store.rs:24:46
[INFO] [stderr]    |
[INFO] [stderr] 24 | #[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
[INFO] [stderr]    |                                              ^----------
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              `Deserialize` is not local
[INFO] [stderr]    |                                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_StorePayload`
[INFO] [stderr] 25 | pub struct StorePayload {
[INFO] [stderr]    |            ------------ `StorePayload` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> mirdb-server/src/wal.rs:300:17
[INFO] [stderr]     |
[INFO] [stderr] 300 |     pub fn iter(&self) -> MyResult<WALIter> {
[INFO] [stderr]     |                 ^^^^^              ^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 300 |     pub fn iter(&self) -> MyResult<WALIter<'_>> {
[INFO] [stderr]     |                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `mirdb` (bin "mirdb" test) generated 79 warnings (9 duplicates) (run `cargo fix --bin "mirdb" -p mirdb --tests` to apply 31 suggestions)
[INFO] [stderr] warning: `sstable` (lib test) generated 15 warnings (15 duplicates)
[INFO] [stderr] warning: `skip-list` (lib test) generated 8 warnings (8 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: mirdb v0.1.0 (/opt/rustwide/workdir/mirdb-server), snap v0.2.5
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mirdb-92058784a100c3de)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test memtable::test::test_get ... ok
[INFO] [stdout] test config::test::test_parse ... ok
[INFO] [stdout] test parser_util::macros::test::test_chain_incomplete ... ok
[INFO] [stdout] test parser_util::macros::test::test_alt ... ok
[INFO] [stdout] test parser_util::macros::test::test_at_least ... ok
[INFO] [stdout] test parser_util::macros::test::test_alpha ... ok
[INFO] [stdout] test parser_util::macros::test::test_chain ... ok
[INFO] [stdout] test parser::test::test ... ok
[INFO] [stdout] test parser_util::macros::test::test_digit ... ok
[INFO] [stdout] test parser_util::macros::test::test_gen_parser ... ok
[INFO] [stdout] test parser_util::macros::test::test_is_not ... ok
[INFO] [stdout] test parser_util::macros::test::test_opt ... ok
[INFO] [stdout] test parser_util::macros::test::test_tag ... ok
[INFO] [stdout] test parser_util::macros::test::test_take_incomplete ... ok
[INFO] [stdout] test slice::test::test_ord ... ok
[INFO] [stdout] test slice::test::test_serde ... ok
[INFO] [stdout] test parser_util::macros::test::test_space ... ok
[INFO] [stdout] test parser_util::macros::test::test_split ... ok
[INFO] [stdout] test parser_util::macros::test::test_take ... ok
[INFO] [stderr] 
[INFO] [stderr] thread 'store::test::test_get_some' (40) panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.4.0/src/block.rs:186:26:
[INFO] [stderr] misaligned pointer dereference: address must be a multiple of 0x8 but is 0x70ab63a895d4
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x5d4f8d145602 - std::backtrace_rs::backtrace::libunwind::trace::hff358a60abf734fc
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stderr]    1:     0x5d4f8d145602 - std::backtrace_rs::backtrace::trace_unsynchronized::h3b121f916dd95ec6
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stderr]    2:     0x5d4f8d145602 - std::sys::backtrace::_print_fmt::hde0a62ded68798e9
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:74:9
[INFO] [stderr]    3:     0x5d4f8d145602 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h93773fc827e3113d
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:44:26
[INFO] [stderr]    4:     0x5d4f8d155fba - core::fmt::rt::Argument::fmt::h01eff69902dad97f
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/fmt/rt.rs:152:76
[INFO] [stderr]    5:     0x5d4f8d155fba - core::fmt::write::hed7b5c73d82ecb7c
[INFO] [stderr]    6:     0x5d4f8d112ba6 - std::io::default_write_fmt::hd49a3027caaa0994
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:639:11
[INFO] [stderr]    7:     0x5d4f8d112ba6 - std::io::Write::write_fmt::h6f0185aecf0ed75f
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:1994:13
[INFO] [stderr]    8:     0x5d4f8d1243c9 - std::sys::backtrace::BacktraceLock::print::h8b1d6fcc5a56d1a3
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:47:9
[INFO] [stderr]    9:     0x5d4f8d1243c9 - std::panicking::default_hook::{{closure}}::h2be84df4f189ae36
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:292:27
[INFO] [stderr]   10:     0x5d4f8d124229 - std::panicking::default_hook::hf0ea8939246f43a9
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:319:9
[INFO] [stderr]   11:     0x5d4f8d02e30e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h02d35e3888986252
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stderr]   12:     0x5d4f8d02e30e - test::test_main_with_exit_callback::{{closure}}::h939640a27d647173
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:145:21
[INFO] [stderr]   13:     0x5d4f8d124642 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc9df09ff391af3e7
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stderr]   14:     0x5d4f8d124642 - std::panicking::panic_with_hook::hb4bd9ac1123582a0
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:833:13
[INFO] [stderr]   15:     0x5d4f8d124488 - std::panicking::panic_handler::{{closure}}::hde00dd15f5637fe2
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:698:13
[INFO] [stderr]   16:     0x5d4f8d11f339 - std::sys::backtrace::__rust_end_short_backtrace::hb72197fa777c1785
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:182:18
[INFO] [stderr]   17:     0x5d4f8d106e0d - __rustc[4425a7e20b4c8619]::rust_begin_unwind
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
[INFO] [stderr]   18:     0x5d4f8d15ed5d - core::panicking::panic_nounwind_fmt::runtime::hc88ed2bfe3f4a8c8
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:122:22
[INFO] [stderr]   19:     0x5d4f8d15ed5d - core::panicking::panic_nounwind_fmt::h0fb754c2e2cbb5f3
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/intrinsics/mod.rs:2432:9
[INFO] [stderr]   20:     0x5d4f8d15ef20 - core::panicking::panic_misaligned_pointer_dereference::h060538c4010c0045
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:284:5
[INFO] [stderr]   21:     0x5d4f8d065012 - <rand_core::block::BlockRng<R> as rand_core::RngCore>::next_u64::{{closure}}::hf0e31720f573d15e
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.4.0/src/block.rs:186:26
[INFO] [stderr]   22:     0x5d4f8d064efa - <rand_core::block::BlockRng<R> as rand_core::RngCore>::next_u64::hc5b56834d169b4bf
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.4.0/src/block.rs:200:13
[INFO] [stderr]   23:     0x5d4f8d064efa - <rand::rngs::adapter::reseeding::ReseedingRng<R,Rsdr> as rand_core::RngCore>::next_u64::h780cd1c4d845bc34
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.6.5/src/rngs/adapter/reseeding.rs:125:16
[INFO] [stderr]   24:     0x5d4f8d064efa - <rand::rngs::thread::ThreadRng as rand_core::RngCore>::next_u64::h551c176e071b9714
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.6.5/src/rngs/thread.rs:113:30
[INFO] [stderr]   25:     0x5d4f8d064efa - rand::distributions::integer::<impl rand::distributions::Distribution<usize> for rand::distributions::Standard>::sample::h71d6716a3744a0a4
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.6.5/src/distributions/integer.rs:69:13
[INFO] [stderr]   26:     0x5d4f8d064f33 - rand::Rng::gen::h13dd59620e9d6869
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.6.5/src/lib.rs:215:18
[INFO] [stderr]   27:     0x5d4f8d064b63 - <rand::distributions::uniform::UniformInt<usize> as rand::distributions::uniform::UniformSampler>::sample_single::h54bf7d4f55f7b086
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.6.5/src/distributions/uniform.rs:451:43
[INFO] [stderr]   28:     0x5d4f8d064f71 - rand::Rng::gen_range::h0078612eac80f87a
[INFO] [stderr]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.6.5/src/lib.rs:245:9
[INFO] [stderr]   29:     0x5d4f8d0649b5 - <skip_list::height_generator::GenHeight as skip_list::height_generator::HeightGenerator>::gen_height::h2f3ad81c6382ba12
[INFO] [stderr]                                at /opt/rustwide/workdir/skip-list/src/height_generator.rs:25:24
[INFO] [stderr]   30:     0x5d4f8cfafe98 - skip_list::list::SkipList<K,V>::insert::h31e08bb29be2ec96
[INFO] [stderr]                                at /opt/rustwide/workdir/skip-list/src/list.rs:124:44
[INFO] [stderr]   31:     0x5d4f8cfa81f4 - <skip_list::list::SkipList<K,V> as core::clone::Clone>::clone::hc9cd39ca32f04d14
[INFO] [stderr]                                at /opt/rustwide/workdir/skip-list/src/list.rs:282:20
[INFO] [stderr]   32:     0x5d4f8d0084ce - <mirdb::memtable::Memtable<K,V> as core::clone::Clone>::clone::h468f9526e352ea49
[INFO] [stderr]                                at /opt/rustwide/workdir/mirdb-server/src/memtable.rs:19:5
[INFO] [stderr]   33:     0x5d4f8cfdb07b - mirdb::data_manager::DataManager::insert_::h1d26f02428af4a22
[INFO] [stderr]                                at /opt/rustwide/workdir/mirdb-server/src/data_manager.rs:194:35
[INFO] [stderr]   34:     0x5d4f8cfd7918 - mirdb::data_manager::DataManager::insert_with_option::hb4de9273fb6ff5dd
[INFO] [stderr]                                at /opt/rustwide/workdir/mirdb-server/src/data_manager.rs:182:22
[INFO] [stderr]   35:     0x5d4f8cfda843 - mirdb::data_manager::DataManager::insert::h55eed5b80d9dbab2
[INFO] [stderr]                                at /opt/rustwide/workdir/mirdb-server/src/data_manager.rs:173:14
[INFO] [stderr]   36:     0x5d4f8cff5f3e - mirdb::store::Store::apply::h1cb2306d00b448a3
[INFO] [stderr]                                at /opt/rustwide/workdir/mirdb-server/src/store.rs:124:35
[INFO] [stderr]   37:     0x5d4f8cfcc51e - mirdb::store::test::test_get_some::ha5c0e3c5006ea3ae
[INFO] [stderr]                                at /opt/rustwide/workdir/mirdb-server/src/store.rs:221:23
[INFO] [stderr]   38:     0x5d4f8cfcca87 - mirdb::store::test::test_get_some::{{closure}}::h0cce38ab6784fd23
[INFO] [stderr]                                at /opt/rustwide/workdir/mirdb-server/src/store.rs:216:23
[INFO] [stderr]   39:     0x5d4f8cf8b836 - core::ops::function::FnOnce::call_once::hccaaec84df6f23be
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   40:     0x5d4f8d02e0cb - core::ops::function::FnOnce::call_once::hddb3cd395c36bfbb
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   41:     0x5d4f8d02e0cb - test::__rust_begin_short_backtrace::h0b6a7601d9750bfa
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:663:18
[INFO] [stderr]   42:     0x5d4f8d041ada - test::run_test_in_process::{{closure}}::h444209903f00b347
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:74
[INFO] [stderr]   43:     0x5d4f8d041ada - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfb3ba8f46e537649
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stderr]   44:     0x5d4f8d041ada - std::panicking::catch_unwind::do_call::h1672a45911fcf9dc
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stderr]   45:     0x5d4f8d041ada - std::panicking::catch_unwind::h0fadaee22787a6dd
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stderr]   46:     0x5d4f8d041ada - std::panic::catch_unwind::hc47ad190f2c8e188
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stderr]   47:     0x5d4f8d041ada - test::run_test_in_process::hcd7faaf934f29999
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:27
[INFO] [stderr]   48:     0x5d4f8d041ada - test::run_test::{{closure}}::hddc4550da4871867
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:607:43
[INFO] [stderr]   49:     0x5d4f8d01bf34 - test::run_test::{{closure}}::h98ae26689f13ed94
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:637:41
[INFO] [stderr]   50:     0x5d4f8d01bf34 - std::sys::backtrace::__rust_begin_short_backtrace::h3ec4d1f21ad44588
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:166:18
[INFO] [stderr]   51:     0x5d4f8d01f8d2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd8bf2c73d479939f
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stderr]   52:     0x5d4f8d01f8d2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3b4248f358af2491
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stderr]   53:     0x5d4f8d01f8d2 - std::panicking::catch_unwind::do_call::hda10a64f4b8daebe
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stderr]   54:     0x5d4f8d01f8d2 - std::panicking::catch_unwind::h659e5ee8336ec8c7
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stderr]   55:     0x5d4f8d01f8d2 - std::panic::catch_unwind::h9d4d66a538912c18
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stderr]   56:     0x5d4f8d01f8d2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h7557906bb51d79f1
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stderr]   57:     0x5d4f8d01f8d2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9e460d1d7fc83d35
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   58:     0x5d4f8d11a48f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61282da819d64ea9
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2206:9
[INFO] [stderr]   59:     0x5d4f8d11a48f - std::sys::thread::unix::Thread::new::thread_start::h982f9ea829d1b5fb
[INFO] [stderr]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stderr]   60:     0x70ab64530aa4 - <unknown>
[INFO] [stderr]   61:     0x70ab645bda64 - clone
[INFO] [stderr]   62:                0x0 - <unknown>
[INFO] [stderr] thread caused non-unwinding panic. aborting.
[INFO] [stderr] error: test failed, to rerun pass `-p mirdb --bin mirdb`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/mirdb-92058784a100c3de` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "2cf1bdba134a0b7ed36cc442048cb629c7001cfb1b31b24c85c45e27683160ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2cf1bdba134a0b7ed36cc442048cb629c7001cfb1b31b24c85c45e27683160ea", kill_on_drop: false }`
[INFO] [stdout] 2cf1bdba134a0b7ed36cc442048cb629c7001cfb1b31b24c85c45e27683160ea
