[INFO] fetching crate libreda-db 0.0.12...
[INFO] checking libreda-db-0.0.12 against try#93086cfebfccb79083c59d0d3b2052944bba643c for pr-146440-1
[INFO] extracting crate libreda-db 0.0.12 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate libreda-db 0.0.12
[INFO] finished tweaking crates.io crate libreda-db 0.0.12
[INFO] tweaked toml for crates.io crate libreda-db 0.0.12 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate libreda-db 0.0.12 on toolchain 93086cfebfccb79083c59d0d3b2052944bba643c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 50 packages to latest compatible versions
[INFO] [stderr]       Adding itertools v0.13.0 (available: v0.14.0)
[INFO] [stderr]       Adding num-derive v0.3.3 (available: v0.4.2)
[INFO] [stderr]       Adding portrait v0.2.3 (available: v0.3.1)
[INFO] [stderr]       Adding rstar v0.9.3 (available: v0.13.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e9cdbeb156d0c1c602931b8e2cba222bd71c0d7e32b94fb19df26eca459bad26
[INFO] running `Command { std: "docker" "start" "-a" "e9cdbeb156d0c1c602931b8e2cba222bd71c0d7e32b94fb19df26eca459bad26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e9cdbeb156d0c1c602931b8e2cba222bd71c0d7e32b94fb19df26eca459bad26", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e9cdbeb156d0c1c602931b8e2cba222bd71c0d7e32b94fb19df26eca459bad26", kill_on_drop: false }`
[INFO] [stdout] e9cdbeb156d0c1c602931b8e2cba222bd71c0d7e32b94fb19df26eca459bad26
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d8d12da6482805de7ee0c28002d6a705a5526793ac1267ddc5a26da0f713718e
[INFO] running `Command { std: "docker" "start" "-a" "d8d12da6482805de7ee0c28002d6a705a5526793ac1267ddc5a26da0f713718e", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy v0.8.50
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling heapless v0.7.17
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking hash32 v0.2.1
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]     Checking libreda-splay v0.1.1
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking log v0.4.31
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking rstar v0.9.3
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling portrait-framework v0.2.1
[INFO] [stderr]    Compiling portrait-codegen v0.2.3
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking portrait v0.2.3
[INFO] [stderr]     Checking iron-shapes v0.1.1
[INFO] [stderr]     Checking iron-shapes-booleanop v0.1.0
[INFO] [stderr]     Checking libreda-db v0.0.12 (/opt/rustwide/workdir)
[INFO] [stdout] error: struct `FlatId` is never constructed
[INFO] [stdout]   --> src/flat_view.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct FlatId<T>(T);
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_structs)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `ArcId` is never constructed
[INFO] [stdout]   --> src/netlist/arc_id.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ArcId<N: NetlistBase + ?Sized> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[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]    --> src/profile.rs:105:38
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Copy, Clone, PartialEq, Eq, ToPrimitive, FromPrimitive, Debug)]
[INFO] [stdout]     |                                      ^----------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `ToPrimitive` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_FnName`
[INFO] [stdout] 106 | #[allow(non_camel_case_types, missing_docs)]
[INFO] [stdout] 107 | pub enum FnName {
[INFO] [stdout]     |          ------ `FnName` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_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 `ToPrimitive` (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]    --> src/profile.rs:105:51
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Copy, Clone, PartialEq, Eq, ToPrimitive, FromPrimitive, Debug)]
[INFO] [stdout]     |                                                   ^------------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   `FromPrimitive` is not local
[INFO] [stdout]     |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FnName`
[INFO] [stdout] 106 | #[allow(non_camel_case_types, missing_docs)]
[INFO] [stdout] 107 | pub enum FnName {
[INFO] [stdout]     |          ------ `FnName` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_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 `FromPrimitive` (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]    --> src/profile.rs:285:26
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn start_measurement(&self) -> PerfCounterManager {
[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] 285 |     fn start_measurement(&self) -> PerfCounterManager<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/hierarchy_reference_access.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn each_cell_ref(&self) -> Box<dyn Iterator<Item = CellRef<Self>> + '_> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^ the same lifetime is hidden 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] 11 |     fn each_cell_ref(&self) -> Box<dyn Iterator<Item = CellRef<'_, Self>> + '_> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/l2n_reference_access.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn net(&self) -> Option<NetRef<L>> {
[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] 12 |     pub fn net(&self) -> Option<NetRef<'_, L>> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/l2n_reference_access.rs:20:16
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn pin(&self) -> Option<PinRef<L>> {
[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] 20 |     pub fn pin(&self) -> Option<PinRef<'_, L>> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/l2n_reference_access.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn each_shape(&self) -> impl Iterator<Item = ShapeRef<L>> {
[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] 30 |     pub fn each_shape(&self) -> impl Iterator<Item = ShapeRef<'_, L>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/l2n_reference_access.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn each_shape(&self) -> impl Iterator<Item = ShapeRef<L>> {
[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] 40 |     pub fn each_shape(&self) -> impl Iterator<Item = ShapeRef<'_, L>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/layout_reference_access.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 51 |         layer_id: &L::LayerId,
[INFO] [stdout] 52 |     ) -> impl Iterator<Item = ShapeRef<L>> + '_ {
[INFO] [stdout]    |                               ^^^^^^^^^^^    ^^ the same lifetime is elided here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the same lifetime is hidden 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] 52 |     ) -> impl Iterator<Item = ShapeRef<'_, L>> + '_ {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/layout_reference_access.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn each_shape(&self) -> impl Iterator<Item = ShapeRef<L>> + '_ {
[INFO] [stdout]    |                       ^^^^^                          ^^^^^^^^^^^    ^^ the same lifetime is elided here
[INFO] [stdout]    |                       |                              |
[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] 62 |     pub fn each_shape(&self) -> impl Iterator<Item = ShapeRef<'_, L>> + '_ {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/reference_access/layout_reference_access.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn cell(&self) -> CellRef<L> {
[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] 133 |     pub fn cell(&self) -> CellRef<'_, L> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/reference_access/layout_reference_access.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn layer(&self) -> LayerRef<L> {
[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] 142 |     pub fn layer(&self) -> LayerRef<'_, L> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/netlist_reference_access.rs:38:21
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn terminal_ref(&self, t: &TerminalId<Self>) -> TerminalRef<Self> {
[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] 38 |     fn terminal_ref(&self, t: &TerminalId<Self>) -> TerminalRef<'_, Self> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/reference_access/netlist_reference_access.rs:496:19
[INFO] [stdout]     |
[INFO] [stdout] 496 |     pub fn parent(&self) -> CellRef<N> {
[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] 496 |     pub fn parent(&self) -> CellRef<'_, N> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `FlatId` is never constructed
[INFO] [stdout]   --> src/flat_view.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct FlatId<T>(T);
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_structs)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `ArcId` is never constructed
[INFO] [stdout]   --> src/netlist/arc_id.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ArcId<N: NetlistBase + ?Sized> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libreda-db` (lib) due to 2 previous errors; 14 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/profile.rs:105:38
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Copy, Clone, PartialEq, Eq, ToPrimitive, FromPrimitive, Debug)]
[INFO] [stdout]     |                                      ^----------
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      `ToPrimitive` is not local
[INFO] [stdout]     |                                      move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_FnName`
[INFO] [stdout] 106 | #[allow(non_camel_case_types, missing_docs)]
[INFO] [stdout] 107 | pub enum FnName {
[INFO] [stdout]     |          ------ `FnName` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_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 `ToPrimitive` (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]    --> src/profile.rs:105:51
[INFO] [stdout]     |
[INFO] [stdout] 105 | #[derive(Copy, Clone, PartialEq, Eq, ToPrimitive, FromPrimitive, Debug)]
[INFO] [stdout]     |                                                   ^------------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   `FromPrimitive` is not local
[INFO] [stdout]     |                                                   move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_FnName`
[INFO] [stdout] 106 | #[allow(non_camel_case_types, missing_docs)]
[INFO] [stdout] 107 | pub enum FnName {
[INFO] [stdout]     |          ------ `FnName` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_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 `FromPrimitive` (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]    --> src/profile.rs:285:26
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn start_measurement(&self) -> PerfCounterManager {
[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] 285 |     fn start_measurement(&self) -> PerfCounterManager<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/hierarchy_reference_access.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn each_cell_ref(&self) -> Box<dyn Iterator<Item = CellRef<Self>> + '_> {
[INFO] [stdout]    |                      ^^^^^ the lifetime is elided here ^^^^^^^^^^^^^ the same lifetime is hidden 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] 11 |     fn each_cell_ref(&self) -> Box<dyn Iterator<Item = CellRef<'_, Self>> + '_> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/l2n_reference_access.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn net(&self) -> Option<NetRef<L>> {
[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] 12 |     pub fn net(&self) -> Option<NetRef<'_, L>> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/l2n_reference_access.rs:20:16
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn pin(&self) -> Option<PinRef<L>> {
[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] 20 |     pub fn pin(&self) -> Option<PinRef<'_, L>> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/l2n_reference_access.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn each_shape(&self) -> impl Iterator<Item = ShapeRef<L>> {
[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] 30 |     pub fn each_shape(&self) -> impl Iterator<Item = ShapeRef<'_, L>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/l2n_reference_access.rs:40:23
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn each_shape(&self) -> impl Iterator<Item = ShapeRef<L>> {
[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] 40 |     pub fn each_shape(&self) -> impl Iterator<Item = ShapeRef<'_, L>> {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/layout_reference_access.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         &self,
[INFO] [stdout]    |         ^^^^^ the lifetime is elided here
[INFO] [stdout] 51 |         layer_id: &L::LayerId,
[INFO] [stdout] 52 |     ) -> impl Iterator<Item = ShapeRef<L>> + '_ {
[INFO] [stdout]    |                               ^^^^^^^^^^^    ^^ the same lifetime is elided here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the same lifetime is hidden 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] 52 |     ) -> impl Iterator<Item = ShapeRef<'_, L>> + '_ {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/layout_reference_access.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn each_shape(&self) -> impl Iterator<Item = ShapeRef<L>> + '_ {
[INFO] [stdout]    |                       ^^^^^                          ^^^^^^^^^^^    ^^ the same lifetime is elided here
[INFO] [stdout]    |                       |                              |
[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] 62 |     pub fn each_shape(&self) -> impl Iterator<Item = ShapeRef<'_, L>> + '_ {
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/reference_access/layout_reference_access.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn cell(&self) -> CellRef<L> {
[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] 133 |     pub fn cell(&self) -> CellRef<'_, L> {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/reference_access/layout_reference_access.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn layer(&self) -> LayerRef<L> {
[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] 142 |     pub fn layer(&self) -> LayerRef<'_, L> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/reference_access/netlist_reference_access.rs:38:21
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn terminal_ref(&self, t: &TerminalId<Self>) -> TerminalRef<Self> {
[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] 38 |     fn terminal_ref(&self, t: &TerminalId<Self>) -> TerminalRef<'_, Self> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/reference_access/netlist_reference_access.rs:496:19
[INFO] [stdout]     |
[INFO] [stdout] 496 |     pub fn parent(&self) -> CellRef<N> {
[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] 496 |     pub fn parent(&self) -> CellRef<'_, N> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `libreda-db` (lib test) due to 2 previous errors; 14 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d8d12da6482805de7ee0c28002d6a705a5526793ac1267ddc5a26da0f713718e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d8d12da6482805de7ee0c28002d6a705a5526793ac1267ddc5a26da0f713718e", kill_on_drop: false }`
[INFO] [stdout] d8d12da6482805de7ee0c28002d6a705a5526793ac1267ddc5a26da0f713718e
