[INFO] fetching crate quotick 0.2.3...
[INFO] building quotick-0.2.3 against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1
[INFO] extracting crate quotick 0.2.3 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate quotick 0.2.3
[INFO] finished tweaking crates.io crate quotick 0.2.3
[INFO] tweaked toml for crates.io crate quotick 0.2.3 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate quotick 0.2.3 on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate quotick 0.2.3 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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e8ef889054d11827b4048f7bfe2f305e0fef3787c9bfd54728b8cadbda52fa17
[INFO] running `Command { std: "docker" "start" "-a" "e8ef889054d11827b4048f7bfe2f305e0fef3787c9bfd54728b8cadbda52fa17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e8ef889054d11827b4048f7bfe2f305e0fef3787c9bfd54728b8cadbda52fa17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8ef889054d11827b4048f7bfe2f305e0fef3787c9bfd54728b8cadbda52fa17", kill_on_drop: false }`
[INFO] [stdout] e8ef889054d11827b4048f7bfe2f305e0fef3787c9bfd54728b8cadbda52fa17
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 597bdb5d74cb907a7c4838c1ce12a96edd7d57fdf87dd362d09cea707e299d25
[INFO] running `Command { std: "docker" "start" "-a" "597bdb5d74cb907a7c4838c1ce12a96edd7d57fdf87dd362d09cea707e299d25", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.103
[INFO] [stderr]    Compiling proc-macro2 v1.0.30
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling syn v1.0.80
[INFO] [stderr]    Compiling ppv-lite86 v0.2.14
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling smallvec v1.7.0
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling miniz_oxide v0.5.1
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling memmap v0.7.0
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling serde_test v1.0.130
[INFO] [stderr]    Compiling quotick v0.2.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `nibble_vec::NibbleVec`
[INFO] [stdout]   --> src/radix_trie/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use nibble_vec::NibbleVec;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `nll` has been stable since 1.63.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(nll)]
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path_builder` is never read
[INFO] [stdout]   --> src/epoch.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Epoch<T: Tick + Serialize + DeserializeOwned> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     path_builder: QuotickPathBuilder,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `curr_epoch` is never read
[INFO] [stdout]    --> src/quotick.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub struct EpochIter<'a, T: Tick + Serialize + DeserializeOwned> {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 248 |     epoch_iter: Iter<'a, u64>,
[INFO] [stdout] 249 |     curr_epoch: Option<Epoch<T>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Keys` is never constructed
[INFO] [stdout]   --> src/radix_trie/iter.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Keys<'a, K: 'a, V: 'a> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `KeyMapFn` is never used
[INFO] [stdout]   --> src/radix_trie/iter.rs:40:6
[INFO] [stdout]    |
[INFO] [stdout] 40 | type KeyMapFn<'a, K, V> = fn((&'a K, &'a V)) -> &'a K;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/radix_trie/iter.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<'a, K, V> Keys<'a, K, V> {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 43 |     pub fn new(iter: Iter<'a, K, V>) -> Keys<'a, K, V> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Values` is never constructed
[INFO] [stdout]   --> src/radix_trie/iter.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Values<'a, K: 'a, V: 'a> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ValueMapFn` is never used
[INFO] [stdout]   --> src/radix_trie/iter.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | type ValueMapFn<'a, K, V> = fn((&'a K, &'a V)) -> &'a V;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/radix_trie/iter.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl<'a, K, V> Values<'a, K, V> {
[INFO] [stdout]    | ------------------------------- associated function in this implementation
[INFO] [stdout] 69 |     pub fn new(iter: Iter<'a, K, V>) -> Values<'a, K, V> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Children` is never constructed
[INFO] [stdout]   --> src/radix_trie/iter.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct Children<'a, K: 'a, V: 'a> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/radix_trie/iter.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | impl<'a, K, V> Children<'a, K, V> {
[INFO] [stdout]    | --------------------------------- associated function in this implementation
[INFO] [stdout] 94 |     pub fn new(key: Nibblet, node: &'a TrieNode<K, V>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/radix_trie/trie_common.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub trait TrieCommon<'a, K: 'a, V: 'a>: ContainsTrieNode<'a, K, V>
[INFO] [stdout]    |           ---------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn key(self) -> Option<&'a K> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn value(self) -> Option<&'a V> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn is_empty(self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn is_leaf(self) -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn keys(self) -> Keys<'a, K, V> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn values(self) -> Values<'a, K, V> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn children(self) -> Children<'a, K, V>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn prefix(self) -> &'a Nibblet {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/radix_trie/traversal.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn get_raw_descendant(&self, nv: &Nibblet) -> Option<DescendantResult<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] 46 |     pub fn get_raw_descendant(&self, nv: &Nibblet) -> Option<DescendantResult<'_, K, V>> {
[INFO] [stdout]    |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/radix_trie/trie.rs:92:31
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn subtrie<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<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] 92 |     pub fn subtrie<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<'_, K, V>>
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie.rs:108:35
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn subtrie_mut<Q: ?Sized>(&mut self, key: &Q) -> Option<SubTrieMut<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] 108 |     pub fn subtrie_mut<Q: ?Sized>(&mut self, key: &Q) -> Option<SubTrieMut<'_, K, V>>
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie.rs:131:36
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn get_ancestor<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<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] 131 |     pub fn get_ancestor<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<'_, K, V>>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie.rs:163:40
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn get_raw_ancestor<Q: ?Sized>(&self, key: &Q) -> SubTrie<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] 163 |     pub fn get_raw_ancestor<Q: ?Sized>(&self, key: &Q) -> SubTrie<'_, K, V>
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie.rs:181:42
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn get_raw_descendant<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<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] 181 |     pub fn get_raw_descendant<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<'_, K, V>>
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `key` is never used
[INFO] [stdout]   --> src/radix_trie/trie_node.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | / impl<K, V> TrieNode<K, V>
[INFO] [stdout] 33 | |     where
[INFO] [stdout] 34 | |         K: TrieKey,
[INFO] [stdout]    | |___________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |       pub fn key(&self) -> Option<&K> {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie_node.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn as_subtrie(&self, prefix: Nibblet) -> SubTrie<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] 227 |     pub fn as_subtrie(&self, prefix: Nibblet) -> SubTrie<'_, K, V> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/epoch.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 | /         self.frame_index_backing
[INFO] [stdout] 116 | |             .write_all(
[INFO] [stdout] 117 | |                 &self.frame_index,
[INFO] [stdout] 118 | |             );
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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] 115 |         let _ = self.frame_index_backing
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quotick.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | /     std::fs::create_dir_all(
[INFO] [stdout] 36 | |         path_builder
[INFO] [stdout] 37 | |             .epoch_path(),
[INFO] [stdout] 38 | |     );
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let _ = std::fs::create_dir_all(
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/quotick.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 | /         self.epoch_index_backing
[INFO] [stdout] 200 | |             .write_all(
[INFO] [stdout] 201 | |                 &epoch_index,
[INFO] [stdout] 202 | |             );
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let _ = self.epoch_index_backing
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/quotick.rs:232:19
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub fn epochs(&self) -> EpochIter<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] 232 |     pub fn epochs(&self) -> EpochIter<'_, T> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/quotick.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |         self.persist();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let _ = self.persist();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/iter.rs:115:19
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn child_iter(&self) -> ChildIter<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] 115 |     fn child_iter(&self) -> ChildIter<'_, K, V> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `T` should have a snake case name
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     T: Option<String>,
[INFO] [stdout]    |     ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | /         quotick.insert(
[INFO] [stdout] 74 | |             &quotick::Frame::new(
[INFO] [stdout] 75 | |                 tick.t as u64,
[INFO] [stdout] 76 | |                 Trade {
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |         );
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 73 |         let _ = quotick.insert(
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     quotick.persist();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let _ = quotick.persist();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     file.read_to_end(&mut test_data);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let _ = file.read_to_end(&mut test_data);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.34s
[INFO] running `Command { std: "docker" "inspect" "597bdb5d74cb907a7c4838c1ce12a96edd7d57fdf87dd362d09cea707e299d25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "597bdb5d74cb907a7c4838c1ce12a96edd7d57fdf87dd362d09cea707e299d25", kill_on_drop: false }`
[INFO] [stdout] 597bdb5d74cb907a7c4838c1ce12a96edd7d57fdf87dd362d09cea707e299d25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ba8d18c6a2f2c6c207bff11c78e692d6c478632f468ae5c5dae33ba0804e91c4
[INFO] running `Command { std: "docker" "start" "-a" "ba8d18c6a2f2c6c207bff11c78e692d6c478632f468ae5c5dae33ba0804e91c4", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stdout] warning: unused import: `nibble_vec::NibbleVec`
[INFO] [stdout]   --> src/radix_trie/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use nibble_vec::NibbleVec;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `nll` has been stable since 1.63.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(nll)]
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path_builder` is never read
[INFO] [stdout]   --> src/epoch.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Epoch<T: Tick + Serialize + DeserializeOwned> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     path_builder: QuotickPathBuilder,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `curr_epoch` is never read
[INFO] [stdout]    --> src/quotick.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub struct EpochIter<'a, T: Tick + Serialize + DeserializeOwned> {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 248 |     epoch_iter: Iter<'a, u64>,
[INFO] [stdout] 249 |     curr_epoch: Option<Epoch<T>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Keys` is never constructed
[INFO] [stdout]   --> src/radix_trie/iter.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Keys<'a, K: 'a, V: 'a> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `KeyMapFn` is never used
[INFO] [stdout]   --> src/radix_trie/iter.rs:40:6
[INFO] [stdout]    |
[INFO] [stdout] 40 | type KeyMapFn<'a, K, V> = fn((&'a K, &'a V)) -> &'a K;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/radix_trie/iter.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<'a, K, V> Keys<'a, K, V> {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 43 |     pub fn new(iter: Iter<'a, K, V>) -> Keys<'a, K, V> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Values` is never constructed
[INFO] [stdout]   --> src/radix_trie/iter.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Values<'a, K: 'a, V: 'a> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ValueMapFn` is never used
[INFO] [stdout]   --> src/radix_trie/iter.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | type ValueMapFn<'a, K, V> = fn((&'a K, &'a V)) -> &'a V;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/radix_trie/iter.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl<'a, K, V> Values<'a, K, V> {
[INFO] [stdout]    | ------------------------------- associated function in this implementation
[INFO] [stdout] 69 |     pub fn new(iter: Iter<'a, K, V>) -> Values<'a, K, V> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Children` is never constructed
[INFO] [stdout]   --> src/radix_trie/iter.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct Children<'a, K: 'a, V: 'a> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/radix_trie/iter.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | impl<'a, K, V> Children<'a, K, V> {
[INFO] [stdout]    | --------------------------------- associated function in this implementation
[INFO] [stdout] 94 |     pub fn new(key: Nibblet, node: &'a TrieNode<K, V>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/radix_trie/trie_common.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub trait TrieCommon<'a, K: 'a, V: 'a>: ContainsTrieNode<'a, K, V>
[INFO] [stdout]    |           ---------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn key(self) -> Option<&'a K> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn value(self) -> Option<&'a V> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn is_empty(self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn is_leaf(self) -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn keys(self) -> Keys<'a, K, V> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn values(self) -> Values<'a, K, V> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn children(self) -> Children<'a, K, V>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn prefix(self) -> &'a Nibblet {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/radix_trie/traversal.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn get_raw_descendant(&self, nv: &Nibblet) -> Option<DescendantResult<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] 46 |     pub fn get_raw_descendant(&self, nv: &Nibblet) -> Option<DescendantResult<'_, K, V>> {
[INFO] [stdout]    |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/radix_trie/trie.rs:92:31
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn subtrie<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<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] 92 |     pub fn subtrie<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<'_, K, V>>
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie.rs:108:35
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn subtrie_mut<Q: ?Sized>(&mut self, key: &Q) -> Option<SubTrieMut<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] 108 |     pub fn subtrie_mut<Q: ?Sized>(&mut self, key: &Q) -> Option<SubTrieMut<'_, K, V>>
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie.rs:131:36
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn get_ancestor<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<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] 131 |     pub fn get_ancestor<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<'_, K, V>>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie.rs:163:40
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn get_raw_ancestor<Q: ?Sized>(&self, key: &Q) -> SubTrie<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] 163 |     pub fn get_raw_ancestor<Q: ?Sized>(&self, key: &Q) -> SubTrie<'_, K, V>
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie.rs:181:42
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn get_raw_descendant<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<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] 181 |     pub fn get_raw_descendant<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<'_, K, V>>
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `key` is never used
[INFO] [stdout]   --> src/radix_trie/trie_node.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | / impl<K, V> TrieNode<K, V>
[INFO] [stdout] 33 | |     where
[INFO] [stdout] 34 | |         K: TrieKey,
[INFO] [stdout]    | |___________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |       pub fn key(&self) -> Option<&K> {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie_node.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn as_subtrie(&self, prefix: Nibblet) -> SubTrie<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] 227 |     pub fn as_subtrie(&self, prefix: Nibblet) -> SubTrie<'_, K, V> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/epoch.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 | /         self.frame_index_backing
[INFO] [stdout] 116 | |             .write_all(
[INFO] [stdout] 117 | |                 &self.frame_index,
[INFO] [stdout] 118 | |             );
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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] 115 |         let _ = self.frame_index_backing
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quotick.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | /     std::fs::create_dir_all(
[INFO] [stdout] 36 | |         path_builder
[INFO] [stdout] 37 | |             .epoch_path(),
[INFO] [stdout] 38 | |     );
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let _ = std::fs::create_dir_all(
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/quotick.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 | /         self.epoch_index_backing
[INFO] [stdout] 200 | |             .write_all(
[INFO] [stdout] 201 | |                 &epoch_index,
[INFO] [stdout] 202 | |             );
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let _ = self.epoch_index_backing
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/quotick.rs:232:19
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub fn epochs(&self) -> EpochIter<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] 232 |     pub fn epochs(&self) -> EpochIter<'_, T> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/quotick.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |         self.persist();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let _ = self.persist();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/iter.rs:115:19
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn child_iter(&self) -> ChildIter<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] 115 |     fn child_iter(&self) -> ChildIter<'_, K, V> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling env_logger v0.8.4
[INFO] [stderr]    Compiling quickcheck v1.0.3
[INFO] [stderr]    Compiling quotick v0.2.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `nibble_vec::NibbleVec`
[INFO] [stdout]   --> src/radix_trie/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use nibble_vec::NibbleVec;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `nll` has been stable since 1.63.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(nll)]
[INFO] [stdout]   |            ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `T` should have a snake case name
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     T: Option<String>,
[INFO] [stdout]    |     ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | /         quotick.insert(
[INFO] [stdout] 74 | |             &quotick::Frame::new(
[INFO] [stdout] 75 | |                 tick.t as u64,
[INFO] [stdout] 76 | |                 Trade {
[INFO] [stdout] ...  |
[INFO] [stdout] 84 | |         );
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[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] 73 |         let _ = quotick.insert(
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     quotick.persist();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 87 |     let _ = quotick.persist();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     file.read_to_end(&mut test_data);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let _ = file.read_to_end(&mut test_data);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path_builder` is never read
[INFO] [stdout]   --> src/epoch.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Epoch<T: Tick + Serialize + DeserializeOwned> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     path_builder: QuotickPathBuilder,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/radix_trie/traversal.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn get_raw_descendant(&self, nv: &Nibblet) -> Option<DescendantResult<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] 46 |     pub fn get_raw_descendant(&self, nv: &Nibblet) -> Option<DescendantResult<'_, K, V>> {
[INFO] [stdout]    |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `curr_epoch` is never read
[INFO] [stdout]    --> src/quotick.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub struct EpochIter<'a, T: Tick + Serialize + DeserializeOwned> {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 248 |     epoch_iter: Iter<'a, u64>,
[INFO] [stdout] 249 |     curr_epoch: Option<Epoch<T>>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AsTrieKey` is never used
[INFO] [stdout]    --> src/radix_trie/keys.rs:230:15
[INFO] [stdout]     |
[INFO] [stdout] 230 |     pub trait AsTrieKey {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/radix_trie/trie.rs:92:31
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn subtrie<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<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] 92 |     pub fn subtrie<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<'_, K, V>>
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/iter.rs:115:19
[INFO] [stdout]     |
[INFO] [stdout] 115 |     fn child_iter(&self) -> ChildIter<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] 115 |     fn child_iter(&self) -> ChildIter<'_, K, V> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie.rs:108:35
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn subtrie_mut<Q: ?Sized>(&mut self, key: &Q) -> Option<SubTrieMut<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] 108 |     pub fn subtrie_mut<Q: ?Sized>(&mut self, key: &Q) -> Option<SubTrieMut<'_, K, V>>
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie.rs:131:36
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn get_ancestor<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<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] 131 |     pub fn get_ancestor<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<'_, K, V>>
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie.rs:163:40
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn get_raw_ancestor<Q: ?Sized>(&self, key: &Q) -> SubTrie<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] 163 |     pub fn get_raw_ancestor<Q: ?Sized>(&self, key: &Q) -> SubTrie<'_, K, V>
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie.rs:181:42
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn get_raw_descendant<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<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] 181 |     pub fn get_raw_descendant<Q: ?Sized>(&self, key: &Q) -> Option<SubTrie<'_, K, V>>
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty` and `is_leaf` are never used
[INFO] [stdout]   --> src/radix_trie/trie_common.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub trait TrieCommon<'a, K: 'a, V: 'a>: ContainsTrieNode<'a, K, V>
[INFO] [stdout]    |           ---------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn is_empty(self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn is_leaf(self) -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/radix_trie/trie_node.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn as_subtrie(&self, prefix: Nibblet) -> SubTrie<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] 227 |     pub fn as_subtrie(&self, prefix: Nibblet) -> SubTrie<'_, K, V> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/epoch.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 | /         self.frame_index_backing
[INFO] [stdout] 116 | |             .write_all(
[INFO] [stdout] 117 | |                 &self.frame_index,
[INFO] [stdout] 118 | |             );
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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] 115 |         let _ = self.frame_index_backing
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/quotick.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | /     std::fs::create_dir_all(
[INFO] [stdout] 36 | |         path_builder
[INFO] [stdout] 37 | |             .epoch_path(),
[INFO] [stdout] 38 | |     );
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let _ = std::fs::create_dir_all(
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/quotick.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 | /         self.epoch_index_backing
[INFO] [stdout] 200 | |             .write_all(
[INFO] [stdout] 201 | |                 &epoch_index,
[INFO] [stdout] 202 | |             );
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let _ = self.epoch_index_backing
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/quotick.rs:232:19
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub fn epochs(&self) -> EpochIter<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] 232 |     pub fn epochs(&self) -> EpochIter<'_, T> {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/quotick.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |         self.persist();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let _ = self.persist();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.96s
[INFO] running `Command { std: "docker" "inspect" "ba8d18c6a2f2c6c207bff11c78e692d6c478632f468ae5c5dae33ba0804e91c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba8d18c6a2f2c6c207bff11c78e692d6c478632f468ae5c5dae33ba0804e91c4", kill_on_drop: false }`
[INFO] [stdout] ba8d18c6a2f2c6c207bff11c78e692d6c478632f468ae5c5dae33ba0804e91c4
