[INFO] fetching crate libreda-sta 0.0.3... [INFO] testing libreda-sta-0.0.3 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate libreda-sta 0.0.3 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate libreda-sta 0.0.3 [INFO] finished tweaking crates.io crate libreda-sta 0.0.3 [INFO] tweaked toml for crates.io crate libreda-sta 0.0.3 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate libreda-sta 0.0.3 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 152 packages to latest compatible versions [INFO] [stderr] Adding blanket v0.3.0 (available: v0.4.0) [INFO] [stderr] Adding itertools v0.10.5 (available: v0.14.0) [INFO] [stderr] Adding ndarray v0.15.6 (available: v0.16.1) [INFO] [stderr] Adding petgraph v0.6.5 (available: v0.8.2) [INFO] [stderr] Adding regex v1.10.6 (available: v1.11.1) [INFO] [stderr] Adding uom v0.36.0 (available: v0.37.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded portrait-codegen v0.2.3 [INFO] [stderr] Downloaded portrait-framework v0.2.1 [INFO] [stderr] Downloaded pargraph v0.1.6 [INFO] [stderr] Downloaded libreda-stream-parser v0.2.0 [INFO] [stderr] Downloaded libreda-interp v0.0.3 [INFO] [stderr] Downloaded blanket v0.3.0 [INFO] [stderr] Downloaded libreda-splay v0.1.1 [INFO] [stderr] Downloaded libreda-logic v0.0.3 [INFO] [stderr] Downloaded iron-shapes v0.1.1 [INFO] [stderr] Downloaded liberty-io v0.0.4 [INFO] [stderr] Downloaded uom v0.36.0 [INFO] [stderr] Downloaded libreda-db v0.0.12 [INFO] [stderr] Downloaded iron-shapes-booleanop v0.1.0 [INFO] [stderr] Downloaded libreda-structural-verilog v0.0.5 [INFO] [stderr] Downloaded portrait v0.2.3 [INFO] [stderr] Downloaded windows v0.61.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 18c307a63a76452a16b85116b67489affc32f77a00ec944470cfcd20fbfe4962 [INFO] running `Command { std: "docker" "start" "-a" "18c307a63a76452a16b85116b67489affc32f77a00ec944470cfcd20fbfe4962", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "18c307a63a76452a16b85116b67489affc32f77a00ec944470cfcd20fbfe4962", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "18c307a63a76452a16b85116b67489affc32f77a00ec944470cfcd20fbfe4962", kill_on_drop: false }` [INFO] [stdout] 18c307a63a76452a16b85116b67489affc32f77a00ec944470cfcd20fbfe4962 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 222b665c64b1c58449520f11f0deb0512a012aafe06f563028576136791293f4 [INFO] running `Command { std: "docker" "start" "-a" "222b665c64b1c58449520f11f0deb0512a012aafe06f563028576136791293f4", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling heapless v0.7.17 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling hash32 v0.2.1 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling libreda-splay v0.1.1 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling rstar v0.9.3 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling ndarray v0.15.6 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling libreda-stream-parser v0.2.0 [INFO] [stderr] Compiling streaming-iterator v0.1.9 [INFO] [stderr] Compiling uom v0.36.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling portrait-framework v0.2.1 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling blanket v0.3.0 [INFO] [stderr] Compiling portrait-codegen v0.2.3 [INFO] [stderr] Compiling pargraph v0.1.6 [INFO] [stderr] Compiling libreda-interp v0.0.3 [INFO] [stderr] Compiling libreda-logic v0.0.3 [INFO] [stderr] Compiling portrait v0.2.3 [INFO] [stderr] Compiling iron-shapes v0.1.1 [INFO] [stderr] Compiling iron-shapes-booleanop v0.1.0 [INFO] [stderr] Compiling libreda-db v0.0.12 [INFO] [stderr] Compiling liberty-io v0.0.4 [INFO] [stderr] Compiling libreda-sta v0.0.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/liberty_library/import.rs:462:26 [INFO] [stdout] | [INFO] [stdout] 462 | if let Some((f, var_names)) = &output_function { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_load` [INFO] [stdout] --> src/liberty_library/mod.rs:531:9 [INFO] [stdout] | [INFO] [stdout] 531 | output_load: Capacitance, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_load` [INFO] [stdout] --> src/liberty_library/mod.rs:542:9 [INFO] [stdout] | [INFO] [stdout] 542 | output_load: Capacitance, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/models/nldm_cell_delay.rs:485:47 [INFO] [stdout] | [INFO] [stdout] 485 | if let SignalTransitionType::Constant(c) = input_signal.transition_type() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_load` [INFO] [stdout] --> src/models/zero_interconnect_delay.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | output_load: &Self::Load, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_load` [INFO] [stdout] --> src/signal_propagation.rs:315:25 [INFO] [stdout] | [INFO] [stdout] 315 | let output_load = C::Load::zero(); // TODO [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `constraint_node_data` [INFO] [stdout] --> src/signal_propagation.rs:618:36 [INFO] [stdout] | [INFO] [stdout] 618 | |(constraint_edge, constraint_node_data)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constraint_node_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clock_id` [INFO] [stdout] --> src/lib.rs:209:41 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn report_critical_paths(&self, clock_id: ClockId, setup_hold: SetupHold) -> () { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clock_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `setup_hold` [INFO] [stdout] --> src/lib.rs:209:60 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn report_critical_paths(&self, clock_id: ClockId, setup_hold: SetupHold) -> () { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_setup_hold` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nodes` [INFO] [stdout] --> src/lib.rs:566:26 [INFO] [stdout] | [INFO] [stdout] 566 | if let Some(&nodes) = self.timing_graph.term2node.get(&terminal) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_nodes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaf_cell` [INFO] [stdout] --> src/lib.rs:787:13 [INFO] [stdout] | [INFO] [stdout] 787 | for leaf_cell in top.each_cell_dependency() { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaf_cell` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:785:13 [INFO] [stdout] | [INFO] [stdout] 785 | let mut missing_cells: FnvHashSet = Default::default(); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `load1` [INFO] [stdout] --> src/lib.rs:842:25 [INFO] [stdout] | [INFO] [stdout] 842 | fn sum_loads(&self, load1: &Self::Load, load2: &Self::Load) -> Self::Load { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_load1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `load2` [INFO] [stdout] --> src/lib.rs:842:45 [INFO] [stdout] | [INFO] [stdout] 842 | fn sum_loads(&self, load1: &Self::Load, load2: &Self::Load) -> Self::Load { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_load2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape_id` [INFO] [stdout] --> src/lib.rs:1181:32 [INFO] [stdout] | [INFO] [stdout] 1181 | fn remove_shape(&mut self, shape_id: &Self::ShapeId) -> Option> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `toposort_delay_graph` and `debug_print_actual_signals` are never used [INFO] [stdout] --> src/lib.rs:665:8 [INFO] [stdout] | [INFO] [stdout] 305 | / impl SimpleSTA [INFO] [stdout] 306 | | where [INFO] [stdout] 307 | | N: NetlistBase, [INFO] [stdout] 308 | | Lib: CellLoadModel + CellDelayModel + CellConstraintModel + LogicModel, [INFO] [stdout] 309 | | Lib::LogicValue: LogicOps + From + TryInto, [INFO] [stdout] | |___________________________________________________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 665 | fn toposort_delay_graph(&self) -> Result>, StaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 710 | fn debug_print_actual_signals(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `propagate_cones` is never used [INFO] [stdout] --> src/cone_propagation.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub(crate) fn propagate_cones( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `critical_paths` is never used [INFO] [stdout] --> src/critical_path/mod.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn critical_paths( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shortest_paths` is never used [INFO] [stdout] --> src/critical_path/mod.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn shortest_paths( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `longest_paths` is never used [INFO] [stdout] --> src/critical_path/mod.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn longest_paths<'f, G, F, D>( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ordered` is never constructed [INFO] [stdout] --> src/critical_path/mod.rs:182:19 [INFO] [stdout] | [INFO] [stdout] 182 | pub(super) struct Ordered(O, T); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Ordered` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PrefixTree` is never used [INFO] [stdout] --> src/critical_path/mod.rs:224:6 [INFO] [stdout] | [INFO] [stdout] 224 | type PrefixTree = StableDiGraph, ()>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CriticalPaths` is never constructed [INFO] [stdout] --> src/critical_path/mod.rs:226:12 [INFO] [stdout] | [INFO] [stdout] 226 | pub struct CriticalPaths [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PrefixTreeNode` is never constructed [INFO] [stdout] --> src/critical_path/mod.rs:276:8 [INFO] [stdout] | [INFO] [stdout] 276 | struct PrefixTreeNode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrefixTreeNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/critical_path/mod.rs:286:8 [INFO] [stdout] | [INFO] [stdout] 285 | impl PrefixTreeNode { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] 286 | fn new(a: N, b: N, cost: D) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeviationEdges` is never constructed [INFO] [stdout] --> src/critical_path/mod.rs:301:8 [INFO] [stdout] | [INFO] [stdout] 301 | struct DeviationEdges<'a, NodeId, D> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DeviationEdges` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deviation_edges_from_prefix_node`, `path_from_prefix_node`, `path_cost_from_prefix_node_naive`, `next_path`, and `next_prefix_node` are never used [INFO] [stdout] --> src/critical_path/mod.rs:347:8 [INFO] [stdout] | [INFO] [stdout] 338 | / impl CriticalPaths [INFO] [stdout] 339 | | where [INFO] [stdout] 340 | | G: IntoEdgesDirected + Visitable, [INFO] [stdout] 341 | | G::NodeId: Hash + Eq + PartialEq, [INFO] [stdout] 342 | | D: Measure + Copy, [INFO] [stdout] 343 | | F: Fn(G::EdgeRef) -> D, [INFO] [stdout] | |___________________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 347 | fn deviation_edges_from_prefix_node( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | fn path_from_prefix_node( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 378 | fn path_cost_from_prefix_node_naive(&self, prefix_node: NodeIndex) -> D { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 397 | fn next_path(&mut self) -> Option>> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 523 | fn next_prefix_node(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImplicitPath` is never constructed [INFO] [stdout] --> src/critical_path/mod.rs:537:8 [INFO] [stdout] | [INFO] [stdout] 537 | struct ImplicitPath { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImplicitPath` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `nodes` is never used [INFO] [stdout] --> src/critical_path/mod.rs:570:8 [INFO] [stdout] | [INFO] [stdout] 562 | / impl ImplicitPath [INFO] [stdout] 563 | | where [INFO] [stdout] 564 | | F: Fn(&NodeId) -> Option>, [INFO] [stdout] 565 | | Dist: PartialEq + Clone, [INFO] [stdout] 566 | | NodeId: PartialEq + Copy, [INFO] [stdout] 567 | | Deviations: Iterator> + Clone, [INFO] [stdout] | |________________________________________________________________- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 570 | fn nodes(self) -> impl Iterator { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reversed` is never used [INFO] [stdout] --> src/critical_path/mod.rs:639:8 [INFO] [stdout] | [INFO] [stdout] 637 | impl PathEdge { [INFO] [stdout] | ----------------------------------- method in this implementation [INFO] [stdout] 638 | /// Swap source and target nodes. [INFO] [stdout] 639 | fn reversed(self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `backtrack_with_deviations` is never used [INFO] [stdout] --> src/critical_path/mod.rs:664:4 [INFO] [stdout] | [INFO] [stdout] 664 | fn backtrack_with_deviations( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lazy` is never constructed [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Lazy; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Precomputed` is never constructed [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Precomputed; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dijkstra` is never constructed [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Dijkstra [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 63 | / impl Dijkstra [INFO] [stdout] 64 | | where [INFO] [stdout] 65 | | G: GraphBase + Visitable + IntoEdges, [INFO] [stdout] 66 | | D: Measure, [INFO] [stdout] 67 | | F: Fn(G::EdgeRef) -> D, [INFO] [stdout] | |___________________________- associated function in this implementation [INFO] [stdout] 68 | { [INFO] [stdout] 69 | pub fn new(graph: G, start: G::NodeId, edge_cost: F) -> Dijkstra { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `next_hop` is never used [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 84 | / impl Dijkstra [INFO] [stdout] 85 | | where [INFO] [stdout] 86 | | G: IntoEdges + Visitable, [INFO] [stdout] 87 | | G::NodeId: Eq + Hash, [INFO] [stdout] 88 | | F: Fn(G::EdgeRef) -> D, [INFO] [stdout] 89 | | D: Measure + Copy, [INFO] [stdout] | |______________________- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn next_hop(&self, dest: &G::NodeId) -> Option> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `next_hop` and `precompute` are never used [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 97 | / impl Dijkstra [INFO] [stdout] 98 | | where [INFO] [stdout] 99 | | G: IntoEdges + Visitable, [INFO] [stdout] 100 | | G::NodeId: Eq + Hash, [INFO] [stdout] 101 | | F: Fn(G::EdgeRef) -> D, [INFO] [stdout] 102 | | D: Measure + Copy, [INFO] [stdout] | |______________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn next_hop(&mut self, dest: &G::NodeId) -> Option> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn precompute(mut self) -> Dijkstra { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `allow_negative_weights`, `next_hop_cached`, and `search_next_hop` are never used [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 130 | / impl Dijkstra [INFO] [stdout] 131 | | where [INFO] [stdout] 132 | | G: IntoEdges + Visitable, [INFO] [stdout] 133 | | G::NodeId: Eq + Hash, [INFO] [stdout] 134 | | F: Fn(G::EdgeRef) -> D, [INFO] [stdout] 135 | | D: Measure + Copy, [INFO] [stdout] | |______________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn allow_negative_weights(self, allow: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn next_hop_cached(&self, dest: &G::NodeId) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | fn search_next_hop(&mut self, dest: &G::NodeId) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dijkstra` is never used [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn dijkstra( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `distance_to_source` is never read [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:297:9 [INFO] [stdout] | [INFO] [stdout] 296 | pub struct NextHop { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 297 | pub distance_to_source: D, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NextHop` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cell_name` is never read [INFO] [stdout] --> src/liberty_library/mod.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub(crate) struct Cell { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 162 | cell_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cell` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `next_state` and `num_bits` are never read [INFO] [stdout] --> src/liberty_library/mod.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 214 | pub(crate) struct FlipFlop { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 219 | next_state: BooleanExpr, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | num_bits: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FlipFlop` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data_in` is never read [INFO] [stdout] --> src/liberty_library/mod.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 233 | pub(crate) struct Latch { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 239 | data_in: BooleanExpr, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Latch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pin_name` and `capacitance` are never read [INFO] [stdout] --> src/liberty_library/mod.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 246 | pub struct Pin { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 247 | pin_name: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub(crate) capacitance: Capacitance, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pin` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `size` is never read [INFO] [stdout] --> src/liberty_library/mod.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 312 | struct LuTableTemplate { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 318 | size: (usize, usize), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LuTableTemplate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pin_id` is never read [INFO] [stdout] --> src/liberty_library/mod.rs:337:5 [INFO] [stdout] | [INFO] [stdout] 335 | struct PinImportContext<'a, CellId, PinId> { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 336 | cell_context: &'a CellImportContext<'a, CellId, PinId>, [INFO] [stdout] 337 | pin_id: &'a PinId, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LowestCommonAncestor` is never constructed [INFO] [stdout] --> src/lowest_common_ancestor/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LowestCommonAncestor [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EulerNode` is never constructed [INFO] [stdout] --> src/lowest_common_ancestor/mod.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | struct EulerNode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EulerNode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/lowest_common_ancestor/mod.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl EulerNode { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 39 | pub fn new(node: T, level: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `new_with_direction`, and `lowest_common_ancestor` are never used [INFO] [stdout] --> src/lowest_common_ancestor/mod.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 64 | / impl LowestCommonAncestor [INFO] [stdout] 65 | | where [INFO] [stdout] 66 | | G: IntoEdgesDirected, [INFO] [stdout] 67 | | G::NodeId: Eq + Hash, [INFO] [stdout] | |_________________________- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn new(graph: G, root: G::NodeId) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn new_with_direction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn lowest_common_ancestor(&self, a: &G::NodeId, b: &G::NodeId) -> &G::NodeId { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `levelized_euler_tour_tree` is never used [INFO] [stdout] --> src/lowest_common_ancestor/mod.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn levelized_euler_tour_tree( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ArgMinRange` is never constructed [INFO] [stdout] --> src/lowest_common_ancestor/argmin_lut.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ArgMinRange { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/lowest_common_ancestor/argmin_lut.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 15 | / impl<'a, A, T> ArgMinRange [INFO] [stdout] 16 | | where [INFO] [stdout] 17 | | A: AsRef<[T]>, [INFO] [stdout] 18 | | T: Ord, [INFO] [stdout] | |___________- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn new(array: A) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn min(&self, start: usize, range_len: usize) -> &T { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn argmin(&self, start: usize, range_len: usize) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn array(&self) -> &[T] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn take_array(self) -> A { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn build_lut(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn get_index(&self, window_size_log2: u32, window_position: usize) -> (usize, u32, u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | fn get_argmin_in_window(&self, window_size_log2: u32, window_start: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | fn set_argmin_in_window(&mut self, window_size_log2: u32, window_start: usize, argmin: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | fn get_bits(word: usize, bit_offset: u32, bit_length: u32) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn set_bits(word: usize, value: usize, bit_offset: u32, bit_length: u32) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | fn allocate_lut(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | fn required_storage_for_window_size( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | fn num_bits_for_offset(window_size_log2: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | fn num_windows(&self, window_size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | fn sub_lut_index(&self, start: usize, range_len: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `jitter` is never read [INFO] [stdout] --> src/models/clock_tag.rs:530:5 [INFO] [stdout] | [INFO] [stdout] 528 | struct PrimaryClockDefinition { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 529 | period: Time, [INFO] [stdout] 530 | jitter: Time, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrimaryClockDefinition` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sta_mode` is never read [INFO] [stdout] --> src/models/nldm_cell_delay.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct NLDMCellModel<'a, N: NetlistIds> { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 29 | sta_mode: StaMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NLDMCellModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `summarize_arrival_time` and `acc_slew` are never used [INFO] [stdout] --> src/models/nldm_cell_delay.rs:162:8 [INFO] [stdout] | [INFO] [stdout] 99 | impl NLDMSignal { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 162 | fn summarize_arrival_time(&mut self, arrival_time: Time) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn acc_slew(&mut self, slew: Time) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `select_timing_groups` is never used [INFO] [stdout] --> src/liberty_util.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn select_timing_groups<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `forward_level` is never read [INFO] [stdout] --> src/timing_graph.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub(crate) struct NodeData [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 45 | pub forward_level: AtomicU32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_num_unresolved` is never used [INFO] [stdout] --> src/timing_graph.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl DependencyCounter { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn set_num_unresolved(&self, num_unresolved: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `constraint` is never read [INFO] [stdout] --> src/timing_graph.rs:229:9 [INFO] [stdout] | [INFO] [stdout] 224 | pub(crate) struct SyncEdgeData [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 229 | pub constraint: Option, // TODO: remove [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncEdgeData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:236:21 [INFO] [stdout] | [INFO] [stdout] 236 | fn top_cell_ref(&self) -> CellRef { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 236 | fn top_cell_ref(&self) -> CellRef<'_, N> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/critical_path/mod.rs:348:9 [INFO] [stdout] | [INFO] [stdout] 348 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 349 | prefix_node: NodeIndex, [INFO] [stdout] 350 | ) -> DeviationEdges { [INFO] [stdout] | ---------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 350 | ) -> DeviationEdges<'_, G::NodeId, D> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/timing_graph.rs:305:9 [INFO] [stdout] | [INFO] [stdout] 305 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 308 | ) -> Option>> { [INFO] [stdout] | -------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 308 | ) -> Option>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/timing_graph.rs:315:26 [INFO] [stdout] | [INFO] [stdout] 315 | pub fn get_node_data(&self, graph_node: NodeIndex) -> Option>> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 315 | pub fn get_node_data(&self, graph_node: NodeIndex) -> Option>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/timing_graph.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 329 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 332 | ) -> Option>> { [INFO] [stdout] | --------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 332 | ) -> Option>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/timing_graph.rs:346:9 [INFO] [stdout] | [INFO] [stdout] 346 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 347 | graph_node: NodeIndex, [INFO] [stdout] 348 | ) -> Option>> { [INFO] [stdout] | --------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 348 | ) -> Option>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 15s [INFO] running `Command { std: "docker" "inspect" "222b665c64b1c58449520f11f0deb0512a012aafe06f563028576136791293f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "222b665c64b1c58449520f11f0deb0512a012aafe06f563028576136791293f4", kill_on_drop: false }` [INFO] [stdout] 222b665c64b1c58449520f11f0deb0512a012aafe06f563028576136791293f4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] c9aab9989a3f722c88b111aa0b236e11f65c87fd376dd0250058ab977e128c62 [INFO] running `Command { std: "docker" "start" "-a" "c9aab9989a3f722c88b111aa0b236e11f65c87fd376dd0250058ab977e128c62", kill_on_drop: false }` [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling term v0.7.0 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling string_cache v0.8.9 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling ena v0.14.3 [INFO] [stderr] Compiling ascii-canvas v3.0.0 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling itertools v0.11.0 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling pico-args v0.5.0 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/liberty_library/import.rs:462:26 [INFO] [stdout] | [INFO] [stdout] 462 | if let Some((f, var_names)) = &output_function { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_load` [INFO] [stdout] --> src/liberty_library/mod.rs:531:9 [INFO] [stdout] | [INFO] [stdout] 531 | output_load: Capacitance, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_load` [INFO] [stdout] --> src/liberty_library/mod.rs:542:9 [INFO] [stdout] | [INFO] [stdout] 542 | output_load: Capacitance, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/models/nldm_cell_delay.rs:485:47 [INFO] [stdout] | [INFO] [stdout] 485 | if let SignalTransitionType::Constant(c) = input_signal.transition_type() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_load` [INFO] [stdout] --> src/models/zero_interconnect_delay.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | output_load: &Self::Load, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_load` [INFO] [stdout] --> src/signal_propagation.rs:315:25 [INFO] [stdout] | [INFO] [stdout] 315 | let output_load = C::Load::zero(); // TODO [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `constraint_node_data` [INFO] [stdout] --> src/signal_propagation.rs:618:36 [INFO] [stdout] | [INFO] [stdout] 618 | |(constraint_edge, constraint_node_data)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constraint_node_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clock_id` [INFO] [stdout] --> src/lib.rs:209:41 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn report_critical_paths(&self, clock_id: ClockId, setup_hold: SetupHold) -> () { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clock_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `setup_hold` [INFO] [stdout] --> src/lib.rs:209:60 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn report_critical_paths(&self, clock_id: ClockId, setup_hold: SetupHold) -> () { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_setup_hold` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nodes` [INFO] [stdout] --> src/lib.rs:566:26 [INFO] [stdout] | [INFO] [stdout] 566 | if let Some(&nodes) = self.timing_graph.term2node.get(&terminal) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_nodes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaf_cell` [INFO] [stdout] --> src/lib.rs:787:13 [INFO] [stdout] | [INFO] [stdout] 787 | for leaf_cell in top.each_cell_dependency() { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaf_cell` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:785:13 [INFO] [stdout] | [INFO] [stdout] 785 | let mut missing_cells: FnvHashSet = Default::default(); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `load1` [INFO] [stdout] --> src/lib.rs:842:25 [INFO] [stdout] | [INFO] [stdout] 842 | fn sum_loads(&self, load1: &Self::Load, load2: &Self::Load) -> Self::Load { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_load1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `load2` [INFO] [stdout] --> src/lib.rs:842:45 [INFO] [stdout] | [INFO] [stdout] 842 | fn sum_loads(&self, load1: &Self::Load, load2: &Self::Load) -> Self::Load { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_load2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape_id` [INFO] [stdout] --> src/lib.rs:1181:32 [INFO] [stdout] | [INFO] [stdout] 1181 | fn remove_shape(&mut self, shape_id: &Self::ShapeId) -> Option> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `toposort_delay_graph` and `debug_print_actual_signals` are never used [INFO] [stdout] --> src/lib.rs:665:8 [INFO] [stdout] | [INFO] [stdout] 305 | / impl SimpleSTA [INFO] [stdout] 306 | | where [INFO] [stdout] 307 | | N: NetlistBase, [INFO] [stdout] 308 | | Lib: CellLoadModel + CellDelayModel + CellConstraintModel + LogicModel, [INFO] [stdout] 309 | | Lib::LogicValue: LogicOps + From + TryInto, [INFO] [stdout] | |___________________________________________________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 665 | fn toposort_delay_graph(&self) -> Result>, StaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 710 | fn debug_print_actual_signals(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `propagate_cones` is never used [INFO] [stdout] --> src/cone_propagation.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub(crate) fn propagate_cones( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `critical_paths` is never used [INFO] [stdout] --> src/critical_path/mod.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn critical_paths( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shortest_paths` is never used [INFO] [stdout] --> src/critical_path/mod.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn shortest_paths( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `longest_paths` is never used [INFO] [stdout] --> src/critical_path/mod.rs:87:8 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn longest_paths<'f, G, F, D>( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ordered` is never constructed [INFO] [stdout] --> src/critical_path/mod.rs:182:19 [INFO] [stdout] | [INFO] [stdout] 182 | pub(super) struct Ordered(O, T); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Ordered` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `PrefixTree` is never used [INFO] [stdout] --> src/critical_path/mod.rs:224:6 [INFO] [stdout] | [INFO] [stdout] 224 | type PrefixTree = StableDiGraph, ()>; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CriticalPaths` is never constructed [INFO] [stdout] --> src/critical_path/mod.rs:226:12 [INFO] [stdout] | [INFO] [stdout] 226 | pub struct CriticalPaths [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PrefixTreeNode` is never constructed [INFO] [stdout] --> src/critical_path/mod.rs:276:8 [INFO] [stdout] | [INFO] [stdout] 276 | struct PrefixTreeNode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrefixTreeNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/critical_path/mod.rs:286:8 [INFO] [stdout] | [INFO] [stdout] 285 | impl PrefixTreeNode { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] 286 | fn new(a: N, b: N, cost: D) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeviationEdges` is never constructed [INFO] [stdout] --> src/critical_path/mod.rs:301:8 [INFO] [stdout] | [INFO] [stdout] 301 | struct DeviationEdges<'a, NodeId, D> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DeviationEdges` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deviation_edges_from_prefix_node`, `path_from_prefix_node`, `path_cost_from_prefix_node_naive`, `next_path`, and `next_prefix_node` are never used [INFO] [stdout] --> src/critical_path/mod.rs:347:8 [INFO] [stdout] | [INFO] [stdout] 338 | / impl CriticalPaths [INFO] [stdout] 339 | | where [INFO] [stdout] 340 | | G: IntoEdgesDirected + Visitable, [INFO] [stdout] 341 | | G::NodeId: Hash + Eq + PartialEq, [INFO] [stdout] 342 | | D: Measure + Copy, [INFO] [stdout] 343 | | F: Fn(G::EdgeRef) -> D, [INFO] [stdout] | |___________________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 347 | fn deviation_edges_from_prefix_node( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 359 | fn path_from_prefix_node( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 378 | fn path_cost_from_prefix_node_naive(&self, prefix_node: NodeIndex) -> D { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 397 | fn next_path(&mut self) -> Option>> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 523 | fn next_prefix_node(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImplicitPath` is never constructed [INFO] [stdout] --> src/critical_path/mod.rs:537:8 [INFO] [stdout] | [INFO] [stdout] 537 | struct ImplicitPath { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImplicitPath` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `nodes` is never used [INFO] [stdout] --> src/critical_path/mod.rs:570:8 [INFO] [stdout] | [INFO] [stdout] 562 | / impl ImplicitPath [INFO] [stdout] 563 | | where [INFO] [stdout] 564 | | F: Fn(&NodeId) -> Option>, [INFO] [stdout] 565 | | Dist: PartialEq + Clone, [INFO] [stdout] 566 | | NodeId: PartialEq + Copy, [INFO] [stdout] 567 | | Deviations: Iterator> + Clone, [INFO] [stdout] | |________________________________________________________________- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 570 | fn nodes(self) -> impl Iterator { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reversed` is never used [INFO] [stdout] --> src/critical_path/mod.rs:639:8 [INFO] [stdout] | [INFO] [stdout] 637 | impl PathEdge { [INFO] [stdout] | ----------------------------------- method in this implementation [INFO] [stdout] 638 | /// Swap source and target nodes. [INFO] [stdout] 639 | fn reversed(self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `backtrack_with_deviations` is never used [INFO] [stdout] --> src/critical_path/mod.rs:664:4 [INFO] [stdout] | [INFO] [stdout] 664 | fn backtrack_with_deviations( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lazy` is never constructed [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Lazy; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Precomputed` is never constructed [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Precomputed; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dijkstra` is never constructed [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Dijkstra [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 63 | / impl Dijkstra [INFO] [stdout] 64 | | where [INFO] [stdout] 65 | | G: GraphBase + Visitable + IntoEdges, [INFO] [stdout] 66 | | D: Measure, [INFO] [stdout] 67 | | F: Fn(G::EdgeRef) -> D, [INFO] [stdout] | |___________________________- associated function in this implementation [INFO] [stdout] 68 | { [INFO] [stdout] 69 | pub fn new(graph: G, start: G::NodeId, edge_cost: F) -> Dijkstra { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `next_hop` is never used [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 84 | / impl Dijkstra [INFO] [stdout] 85 | | where [INFO] [stdout] 86 | | G: IntoEdges + Visitable, [INFO] [stdout] 87 | | G::NodeId: Eq + Hash, [INFO] [stdout] 88 | | F: Fn(G::EdgeRef) -> D, [INFO] [stdout] 89 | | D: Measure + Copy, [INFO] [stdout] | |______________________- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn next_hop(&self, dest: &G::NodeId) -> Option> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `next_hop` and `precompute` are never used [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 97 | / impl Dijkstra [INFO] [stdout] 98 | | where [INFO] [stdout] 99 | | G: IntoEdges + Visitable, [INFO] [stdout] 100 | | G::NodeId: Eq + Hash, [INFO] [stdout] 101 | | F: Fn(G::EdgeRef) -> D, [INFO] [stdout] 102 | | D: Measure + Copy, [INFO] [stdout] | |______________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn next_hop(&mut self, dest: &G::NodeId) -> Option> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn precompute(mut self) -> Dijkstra { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `allow_negative_weights`, `next_hop_cached`, and `search_next_hop` are never used [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:138:12 [INFO] [stdout] | [INFO] [stdout] 130 | / impl Dijkstra [INFO] [stdout] 131 | | where [INFO] [stdout] 132 | | G: IntoEdges + Visitable, [INFO] [stdout] 133 | | G::NodeId: Eq + Hash, [INFO] [stdout] 134 | | F: Fn(G::EdgeRef) -> D, [INFO] [stdout] 135 | | D: Measure + Copy, [INFO] [stdout] | |______________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn allow_negative_weights(self, allow: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn next_hop_cached(&self, dest: &G::NodeId) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | fn search_next_hop(&mut self, dest: &G::NodeId) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dijkstra` is never used [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn dijkstra( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `distance_to_source` is never read [INFO] [stdout] --> src/critical_path/lazy_dijkstra.rs:297:9 [INFO] [stdout] | [INFO] [stdout] 296 | pub struct NextHop { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 297 | pub distance_to_source: D, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NextHop` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cell_name` is never read [INFO] [stdout] --> src/liberty_library/mod.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub(crate) struct Cell { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 162 | cell_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cell` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `next_state` and `num_bits` are never read [INFO] [stdout] --> src/liberty_library/mod.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 214 | pub(crate) struct FlipFlop { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 219 | next_state: BooleanExpr, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | num_bits: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FlipFlop` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data_in` is never read [INFO] [stdout] --> src/liberty_library/mod.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 233 | pub(crate) struct Latch { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 239 | data_in: BooleanExpr, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Latch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pin_name` and `capacitance` are never read [INFO] [stdout] --> src/liberty_library/mod.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 246 | pub struct Pin { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 247 | pin_name: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub(crate) capacitance: Capacitance, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pin` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `size` is never read [INFO] [stdout] --> src/liberty_library/mod.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 312 | struct LuTableTemplate { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 318 | size: (usize, usize), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LuTableTemplate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pin_id` is never read [INFO] [stdout] --> src/liberty_library/mod.rs:337:5 [INFO] [stdout] | [INFO] [stdout] 335 | struct PinImportContext<'a, CellId, PinId> { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 336 | cell_context: &'a CellImportContext<'a, CellId, PinId>, [INFO] [stdout] 337 | pin_id: &'a PinId, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LowestCommonAncestor` is never constructed [INFO] [stdout] --> src/lowest_common_ancestor/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LowestCommonAncestor [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EulerNode` is never constructed [INFO] [stdout] --> src/lowest_common_ancestor/mod.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | struct EulerNode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EulerNode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/lowest_common_ancestor/mod.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl EulerNode { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 39 | pub fn new(node: T, level: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `new_with_direction`, and `lowest_common_ancestor` are never used [INFO] [stdout] --> src/lowest_common_ancestor/mod.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 64 | / impl LowestCommonAncestor [INFO] [stdout] 65 | | where [INFO] [stdout] 66 | | G: IntoEdgesDirected, [INFO] [stdout] 67 | | G::NodeId: Eq + Hash, [INFO] [stdout] | |_________________________- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn new(graph: G, root: G::NodeId) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn new_with_direction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn lowest_common_ancestor(&self, a: &G::NodeId, b: &G::NodeId) -> &G::NodeId { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `levelized_euler_tour_tree` is never used [INFO] [stdout] --> src/lowest_common_ancestor/mod.rs:155:4 [INFO] [stdout] | [INFO] [stdout] 155 | fn levelized_euler_tour_tree( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ArgMinRange` is never constructed [INFO] [stdout] --> src/lowest_common_ancestor/argmin_lut.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ArgMinRange { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/lowest_common_ancestor/argmin_lut.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 15 | / impl<'a, A, T> ArgMinRange [INFO] [stdout] 16 | | where [INFO] [stdout] 17 | | A: AsRef<[T]>, [INFO] [stdout] 18 | | T: Ord, [INFO] [stdout] | |___________- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn new(array: A) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn min(&self, start: usize, range_len: usize) -> &T { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn argmin(&self, start: usize, range_len: usize) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn array(&self) -> &[T] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn take_array(self) -> A { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn build_lut(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn get_index(&self, window_size_log2: u32, window_position: usize) -> (usize, u32, u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | fn get_argmin_in_window(&self, window_size_log2: u32, window_start: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | fn set_argmin_in_window(&mut self, window_size_log2: u32, window_start: usize, argmin: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | fn get_bits(word: usize, bit_offset: u32, bit_length: u32) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn set_bits(word: usize, value: usize, bit_offset: u32, bit_length: u32) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | fn allocate_lut(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | fn required_storage_for_window_size( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | fn num_bits_for_offset(window_size_log2: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | fn num_windows(&self, window_size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | fn sub_lut_index(&self, start: usize, range_len: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `jitter` is never read [INFO] [stdout] --> src/models/clock_tag.rs:530:5 [INFO] [stdout] | [INFO] [stdout] 528 | struct PrimaryClockDefinition { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 529 | period: Time, [INFO] [stdout] 530 | jitter: Time, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrimaryClockDefinition` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sta_mode` is never read [INFO] [stdout] --> src/models/nldm_cell_delay.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct NLDMCellModel<'a, N: NetlistIds> { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 29 | sta_mode: StaMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NLDMCellModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `summarize_arrival_time` and `acc_slew` are never used [INFO] [stdout] --> src/models/nldm_cell_delay.rs:162:8 [INFO] [stdout] | [INFO] [stdout] 99 | impl NLDMSignal { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 162 | fn summarize_arrival_time(&mut self, arrival_time: Time) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn acc_slew(&mut self, slew: Time) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `select_timing_groups` is never used [INFO] [stdout] --> src/liberty_util.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn select_timing_groups<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `forward_level` is never read [INFO] [stdout] --> src/timing_graph.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub(crate) struct NodeData [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 45 | pub forward_level: AtomicU32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_num_unresolved` is never used [INFO] [stdout] --> src/timing_graph.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl DependencyCounter { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn set_num_unresolved(&self, num_unresolved: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `constraint` is never read [INFO] [stdout] --> src/timing_graph.rs:229:9 [INFO] [stdout] | [INFO] [stdout] 224 | pub(crate) struct SyncEdgeData [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 229 | pub constraint: Option, // TODO: remove [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncEdgeData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:236:21 [INFO] [stdout] | [INFO] [stdout] 236 | fn top_cell_ref(&self) -> CellRef { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 236 | fn top_cell_ref(&self) -> CellRef<'_, N> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/critical_path/mod.rs:348:9 [INFO] [stdout] | [INFO] [stdout] 348 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 349 | prefix_node: NodeIndex, [INFO] [stdout] 350 | ) -> DeviationEdges { [INFO] [stdout] | ---------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 350 | ) -> DeviationEdges<'_, G::NodeId, D> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/timing_graph.rs:305:9 [INFO] [stdout] | [INFO] [stdout] 305 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 308 | ) -> Option>> { [INFO] [stdout] | -------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 308 | ) -> Option>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/timing_graph.rs:315:26 [INFO] [stdout] | [INFO] [stdout] 315 | pub fn get_node_data(&self, graph_node: NodeIndex) -> Option>> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 315 | pub fn get_node_data(&self, graph_node: NodeIndex) -> Option>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/timing_graph.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 329 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 332 | ) -> Option>> { [INFO] [stdout] | --------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 332 | ) -> Option>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/timing_graph.rs:346:9 [INFO] [stdout] | [INFO] [stdout] 346 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 347 | graph_node: NodeIndex, [INFO] [stdout] 348 | ) -> Option>> { [INFO] [stdout] | --------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 348 | ) -> Option>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Compiling lalrpop-util v0.20.2 [INFO] [stderr] Compiling lalrpop v0.20.2 [INFO] [stderr] Compiling libreda-structural-verilog v0.0.5 [INFO] [stderr] Compiling libreda-sta v0.0.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `MinMax` and `NLDMRequiredSignal` [INFO] [stdout] --> tests/test_flipflop_setup_hold.rs:8:44 [INFO] [stdout] | [INFO] [stdout] 8 | use libreda_sta::models::nldm_cell_delay::{MinMax, NLDMRequiredSignal, NLDMSignal}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RequiredSignalArg` [INFO] [stdout] --> tests/test_flipflop_setup_hold.rs:14:49 [INFO] [stdout] | [INFO] [stdout] 14 | use libreda_sta::{ClockDefinition, InputSignal, RequiredSignalArg}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `out1` [INFO] [stdout] --> tests/test_flipflop_setup_hold.rs:62:20 [INFO] [stdout] | [INFO] [stdout] 62 | let [clk, in1, out1] = [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_out1` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clk_id` [INFO] [stdout] --> tests/test_flipflop_setup_hold.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | let clk_id = sta.create_clock( [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_clk_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/liberty_library/import.rs:462:26 [INFO] [stdout] | [INFO] [stdout] 462 | if let Some((f, var_names)) = &output_function { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_load` [INFO] [stdout] --> src/liberty_library/mod.rs:531:9 [INFO] [stdout] | [INFO] [stdout] 531 | output_load: Capacitance, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_load` [INFO] [stdout] --> src/liberty_library/mod.rs:542:9 [INFO] [stdout] | [INFO] [stdout] 542 | output_load: Capacitance, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timing_library` [INFO] [stdout] --> src/liberty_library/mod.rs:569:9 [INFO] [stdout] | [INFO] [stdout] 569 | let timing_library = LibertyTimingLibrary::new(&library, cell_by_name, pin_by_name).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timing_library` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cell_fall` [INFO] [stdout] --> src/liberty_library/mod.rs:651:9 [INFO] [stdout] | [INFO] [stdout] 651 | let cell_fall = arc_a_y.cell_fall.as_ref().unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cell_fall` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/models/nldm_cell_delay.rs:485:47 [INFO] [stdout] | [INFO] [stdout] 485 | if let SignalTransitionType::Constant(c) = input_signal.transition_type() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_load` [INFO] [stdout] --> src/models/zero_interconnect_delay.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | output_load: &Self::Load, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_load` [INFO] [stdout] --> src/signal_propagation.rs:315:25 [INFO] [stdout] | [INFO] [stdout] 315 | let output_load = C::Load::zero(); // TODO [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `constraint_node_data` [INFO] [stdout] --> src/signal_propagation.rs:618:36 [INFO] [stdout] | [INFO] [stdout] 618 | |(constraint_edge, constraint_node_data)| { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constraint_node_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clock_id` [INFO] [stdout] --> src/lib.rs:209:41 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn report_critical_paths(&self, clock_id: ClockId, setup_hold: SetupHold) -> () { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clock_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `setup_hold` [INFO] [stdout] --> src/lib.rs:209:60 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn report_critical_paths(&self, clock_id: ClockId, setup_hold: SetupHold) -> () { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_setup_hold` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nodes` [INFO] [stdout] --> src/lib.rs:566:26 [INFO] [stdout] | [INFO] [stdout] 566 | if let Some(&nodes) = self.timing_graph.term2node.get(&terminal) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_nodes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leaf_cell` [INFO] [stdout] --> src/lib.rs:787:13 [INFO] [stdout] | [INFO] [stdout] 787 | for leaf_cell in top.each_cell_dependency() { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaf_cell` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:785:13 [INFO] [stdout] | [INFO] [stdout] 785 | let mut missing_cells: FnvHashSet = Default::default(); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `load1` [INFO] [stdout] --> src/lib.rs:842:25 [INFO] [stdout] | [INFO] [stdout] 842 | fn sum_loads(&self, load1: &Self::Load, load2: &Self::Load) -> Self::Load { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_load1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `load2` [INFO] [stdout] --> src/lib.rs:842:45 [INFO] [stdout] | [INFO] [stdout] 842 | fn sum_loads(&self, load1: &Self::Load, load2: &Self::Load) -> Self::Load { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_load2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shape_id` [INFO] [stdout] --> src/lib.rs:1181:32 [INFO] [stdout] | [INFO] [stdout] 1181 | fn remove_shape(&mut self, shape_id: &Self::ShapeId) -> Option> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `toposort_delay_graph` and `debug_print_actual_signals` are never used [INFO] [stdout] --> src/lib.rs:665:8 [INFO] [stdout] | [INFO] [stdout] 305 | / impl SimpleSTA [INFO] [stdout] 306 | | where [INFO] [stdout] 307 | | N: NetlistBase, [INFO] [stdout] 308 | | Lib: CellLoadModel + CellDelayModel + CellConstraintModel + LogicModel, [INFO] [stdout] 309 | | Lib::LogicValue: LogicOps + From + TryInto, [INFO] [stdout] | |___________________________________________________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 665 | fn toposort_delay_graph(&self) -> Result>, StaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 710 | fn debug_print_actual_signals(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `propagate_cones` is never used [INFO] [stdout] --> src/cone_propagation.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub(crate) fn propagate_cones( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `nodes` is never used [INFO] [stdout] --> src/critical_path/mod.rs:570:8 [INFO] [stdout] | [INFO] [stdout] 562 | / impl ImplicitPath [INFO] [stdout] 563 | | where [INFO] [stdout] 564 | | F: Fn(&NodeId) -> Option>, [INFO] [stdout] 565 | | Dist: PartialEq + Clone, [INFO] [stdout] 566 | | NodeId: PartialEq + Copy, [INFO] [stdout] 567 | | Deviations: Iterator> + Clone, [INFO] [stdout] | |________________________________________________________________- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 570 | fn nodes(self) -> impl Iterator { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cell_name` is never read [INFO] [stdout] --> src/liberty_library/mod.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 157 | pub(crate) struct Cell { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 162 | cell_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cell` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `next_state` and `num_bits` are never read [INFO] [stdout] --> src/liberty_library/mod.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 214 | pub(crate) struct FlipFlop { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 219 | next_state: BooleanExpr, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | num_bits: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FlipFlop` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data_in` is never read [INFO] [stdout] --> src/liberty_library/mod.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 233 | pub(crate) struct Latch { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 239 | data_in: BooleanExpr, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Latch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pin_name` and `capacitance` are never read [INFO] [stdout] --> src/liberty_library/mod.rs:247:5 [INFO] [stdout] | [INFO] [stdout] 246 | pub struct Pin { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 247 | pin_name: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub(crate) capacitance: Capacitance, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pin` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `size` is never read [INFO] [stdout] --> src/liberty_library/mod.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 312 | struct LuTableTemplate { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 318 | size: (usize, usize), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LuTableTemplate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pin_id` is never read [INFO] [stdout] --> src/liberty_library/mod.rs:337:5 [INFO] [stdout] | [INFO] [stdout] 335 | struct PinImportContext<'a, CellId, PinId> { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 336 | cell_context: &'a CellImportContext<'a, CellId, PinId>, [INFO] [stdout] 337 | pin_id: &'a PinId, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `take_array` and `sub_lut_index` are never used [INFO] [stdout] --> src/lowest_common_ancestor/argmin_lut.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 15 | / impl<'a, A, T> ArgMinRange [INFO] [stdout] 16 | | where [INFO] [stdout] 17 | | A: AsRef<[T]>, [INFO] [stdout] 18 | | T: Ord, [INFO] [stdout] | |___________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn take_array(self) -> A { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | fn sub_lut_index(&self, start: usize, range_len: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `jitter` is never read [INFO] [stdout] --> src/models/clock_tag.rs:530:5 [INFO] [stdout] | [INFO] [stdout] 528 | struct PrimaryClockDefinition { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 529 | period: Time, [INFO] [stdout] 530 | jitter: Time, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PrimaryClockDefinition` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sta_mode` is never read [INFO] [stdout] --> src/models/nldm_cell_delay.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct NLDMCellModel<'a, N: NetlistIds> { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 29 | sta_mode: StaMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NLDMCellModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `summarize_arrival_time` and `acc_slew` are never used [INFO] [stdout] --> src/models/nldm_cell_delay.rs:162:8 [INFO] [stdout] | [INFO] [stdout] 99 | impl NLDMSignal { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 162 | fn summarize_arrival_time(&mut self, arrival_time: Time) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn acc_slew(&mut self, slew: Time) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `select_timing_groups` is never used [INFO] [stdout] --> src/liberty_util.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn select_timing_groups<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `forward_level` is never read [INFO] [stdout] --> src/timing_graph.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub(crate) struct NodeData [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 45 | pub forward_level: AtomicU32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_num_unresolved` is never used [INFO] [stdout] --> src/timing_graph.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl DependencyCounter { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn set_num_unresolved(&self, num_unresolved: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `constraint` is never read [INFO] [stdout] --> src/timing_graph.rs:229:9 [INFO] [stdout] | [INFO] [stdout] 224 | pub(crate) struct SyncEdgeData [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 229 | pub constraint: Option, // TODO: remove [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SyncEdgeData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lib.rs:236:21 [INFO] [stdout] | [INFO] [stdout] 236 | fn top_cell_ref(&self) -> CellRef { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 236 | fn top_cell_ref(&self) -> CellRef<'_, N> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/critical_path/mod.rs:348:9 [INFO] [stdout] | [INFO] [stdout] 348 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 349 | prefix_node: NodeIndex, [INFO] [stdout] 350 | ) -> DeviationEdges { [INFO] [stdout] | ---------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 350 | ) -> DeviationEdges<'_, G::NodeId, D> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/timing_graph.rs:305:9 [INFO] [stdout] | [INFO] [stdout] 305 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 308 | ) -> Option>> { [INFO] [stdout] | -------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 308 | ) -> Option>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/timing_graph.rs:315:26 [INFO] [stdout] | [INFO] [stdout] 315 | pub fn get_node_data(&self, graph_node: NodeIndex) -> Option>> { [INFO] [stdout] | ^^^^^ this lifetime flows to the output -------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 315 | pub fn get_node_data(&self, graph_node: NodeIndex) -> Option>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/timing_graph.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 329 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 332 | ) -> Option>> { [INFO] [stdout] | --------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 332 | ) -> Option>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/timing_graph.rs:346:9 [INFO] [stdout] | [INFO] [stdout] 346 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] 347 | graph_node: NodeIndex, [INFO] [stdout] 348 | ) -> Option>> { [INFO] [stdout] | --------------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 348 | ) -> Option>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 17s [INFO] running `Command { std: "docker" "inspect" "c9aab9989a3f722c88b111aa0b236e11f65c87fd376dd0250058ab977e128c62", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c9aab9989a3f722c88b111aa0b236e11f65c87fd376dd0250058ab977e128c62", kill_on_drop: false }` [INFO] [stdout] c9aab9989a3f722c88b111aa0b236e11f65c87fd376dd0250058ab977e128c62 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] fd8dc55da291499b2187873268969e026a7cf91fe36700ff46837f907152e4e6 [INFO] running `Command { std: "docker" "start" "-a" "fd8dc55da291499b2187873268969e026a7cf91fe36700ff46837f907152e4e6", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/liberty_library/import.rs:462:26 [INFO] [stderr] | [INFO] [stderr] 462 | if let Some((f, var_names)) = &output_function { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_load` [INFO] [stderr] --> src/liberty_library/mod.rs:531:9 [INFO] [stderr] | [INFO] [stderr] 531 | output_load: Capacitance, [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_load` [INFO] [stderr] --> src/liberty_library/mod.rs:542:9 [INFO] [stderr] | [INFO] [stderr] 542 | output_load: Capacitance, [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/models/nldm_cell_delay.rs:485:47 [INFO] [stderr] | [INFO] [stderr] 485 | if let SignalTransitionType::Constant(c) = input_signal.transition_type() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_load` [INFO] [stderr] --> src/models/zero_interconnect_delay.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | output_load: &Self::Load, [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output_load` [INFO] [stderr] --> src/signal_propagation.rs:315:25 [INFO] [stderr] | [INFO] [stderr] 315 | let output_load = C::Load::zero(); // TODO [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_load` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `constraint_node_data` [INFO] [stderr] --> src/signal_propagation.rs:618:36 [INFO] [stderr] | [INFO] [stderr] 618 | |(constraint_edge, constraint_node_data)| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constraint_node_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `clock_id` [INFO] [stderr] --> src/lib.rs:209:41 [INFO] [stderr] | [INFO] [stderr] 209 | pub fn report_critical_paths(&self, clock_id: ClockId, setup_hold: SetupHold) -> () { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clock_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `setup_hold` [INFO] [stderr] --> src/lib.rs:209:60 [INFO] [stderr] | [INFO] [stderr] 209 | pub fn report_critical_paths(&self, clock_id: ClockId, setup_hold: SetupHold) -> () { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_setup_hold` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `nodes` [INFO] [stderr] --> src/lib.rs:566:26 [INFO] [stderr] | [INFO] [stderr] 566 | if let Some(&nodes) = self.timing_graph.term2node.get(&terminal) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_nodes` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `leaf_cell` [INFO] [stderr] --> src/lib.rs:787:13 [INFO] [stderr] | [INFO] [stderr] 787 | for leaf_cell in top.each_cell_dependency() { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leaf_cell` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:785:13 [INFO] [stderr] | [INFO] [stderr] 785 | let mut missing_cells: FnvHashSet = Default::default(); [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `load1` [INFO] [stderr] --> src/lib.rs:842:25 [INFO] [stderr] | [INFO] [stderr] 842 | fn sum_loads(&self, load1: &Self::Load, load2: &Self::Load) -> Self::Load { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_load1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `load2` [INFO] [stderr] --> src/lib.rs:842:45 [INFO] [stderr] | [INFO] [stderr] 842 | fn sum_loads(&self, load1: &Self::Load, load2: &Self::Load) -> Self::Load { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_load2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `shape_id` [INFO] [stderr] --> src/lib.rs:1181:32 [INFO] [stderr] | [INFO] [stderr] 1181 | fn remove_shape(&mut self, shape_id: &Self::ShapeId) -> Option> { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shape_id` [INFO] [stderr] [INFO] [stderr] warning: methods `toposort_delay_graph` and `debug_print_actual_signals` are never used [INFO] [stderr] --> src/lib.rs:665:8 [INFO] [stderr] | [INFO] [stderr] 305 | / impl SimpleSTA [INFO] [stderr] 306 | | where [INFO] [stderr] 307 | | N: NetlistBase, [INFO] [stderr] 308 | | Lib: CellLoadModel + CellDelayModel + CellConstraintModel + LogicModel, [INFO] [stderr] 309 | | Lib::LogicValue: LogicOps + From + TryInto, [INFO] [stderr] | |___________________________________________________________- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 665 | fn toposort_delay_graph(&self) -> Result>, StaError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 710 | fn debug_print_actual_signals(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `propagate_cones` is never used [INFO] [stderr] --> src/cone_propagation.rs:35:15 [INFO] [stderr] | [INFO] [stderr] 35 | pub(crate) fn propagate_cones( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `critical_paths` is never used [INFO] [stderr] --> src/critical_path/mod.rs:29:8 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn critical_paths( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `shortest_paths` is never used [INFO] [stderr] --> src/critical_path/mod.rs:71:8 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn shortest_paths( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `longest_paths` is never used [INFO] [stderr] --> src/critical_path/mod.rs:87:8 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn longest_paths<'f, G, F, D>( [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Ordered` is never constructed [INFO] [stderr] --> src/critical_path/mod.rs:182:19 [INFO] [stderr] | [INFO] [stderr] 182 | pub(super) struct Ordered(O, T); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Ordered` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: type alias `PrefixTree` is never used [INFO] [stderr] --> src/critical_path/mod.rs:224:6 [INFO] [stderr] | [INFO] [stderr] 224 | type PrefixTree = StableDiGraph, ()>; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `CriticalPaths` is never constructed [INFO] [stderr] --> src/critical_path/mod.rs:226:12 [INFO] [stderr] | [INFO] [stderr] 226 | pub struct CriticalPaths [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `PrefixTreeNode` is never constructed [INFO] [stderr] --> src/critical_path/mod.rs:276:8 [INFO] [stderr] | [INFO] [stderr] 276 | struct PrefixTreeNode { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PrefixTreeNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/critical_path/mod.rs:286:8 [INFO] [stderr] | [INFO] [stderr] 285 | impl PrefixTreeNode { [INFO] [stderr] | ------------------------------- associated function in this implementation [INFO] [stderr] 286 | fn new(a: N, b: N, cost: D) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DeviationEdges` is never constructed [INFO] [stderr] --> src/critical_path/mod.rs:301:8 [INFO] [stderr] | [INFO] [stderr] 301 | struct DeviationEdges<'a, NodeId, D> { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `DeviationEdges` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `deviation_edges_from_prefix_node`, `path_from_prefix_node`, `path_cost_from_prefix_node_naive`, `next_path`, and `next_prefix_node` are never used [INFO] [stderr] --> src/critical_path/mod.rs:347:8 [INFO] [stderr] | [INFO] [stderr] 338 | / impl CriticalPaths [INFO] [stderr] 339 | | where [INFO] [stderr] 340 | | G: IntoEdgesDirected + Visitable, [INFO] [stderr] 341 | | G::NodeId: Hash + Eq + PartialEq, [INFO] [stderr] 342 | | D: Measure + Copy, [INFO] [stderr] 343 | | F: Fn(G::EdgeRef) -> D, [INFO] [stderr] | |___________________________- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 347 | fn deviation_edges_from_prefix_node( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 359 | fn path_from_prefix_node( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 378 | fn path_cost_from_prefix_node_naive(&self, prefix_node: NodeIndex) -> D { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 397 | fn next_path(&mut self) -> Option>> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 523 | fn next_prefix_node(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ImplicitPath` is never constructed [INFO] [stderr] --> src/critical_path/mod.rs:537:8 [INFO] [stderr] | [INFO] [stderr] 537 | struct ImplicitPath { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ImplicitPath` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `nodes` is never used [INFO] [stderr] --> src/critical_path/mod.rs:570:8 [INFO] [stderr] | [INFO] [stderr] 562 | / impl ImplicitPath [INFO] [stderr] 563 | | where [INFO] [stderr] 564 | | F: Fn(&NodeId) -> Option>, [INFO] [stderr] 565 | | Dist: PartialEq + Clone, [INFO] [stderr] 566 | | NodeId: PartialEq + Copy, [INFO] [stderr] 567 | | Deviations: Iterator> + Clone, [INFO] [stderr] | |________________________________________________________________- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 570 | fn nodes(self) -> impl Iterator { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `reversed` is never used [INFO] [stderr] --> src/critical_path/mod.rs:639:8 [INFO] [stderr] | [INFO] [stderr] 637 | impl PathEdge { [INFO] [stderr] | ----------------------------------- method in this implementation [INFO] [stderr] 638 | /// Swap source and target nodes. [INFO] [stderr] 639 | fn reversed(self) -> Self { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `backtrack_with_deviations` is never used [INFO] [stderr] --> src/critical_path/mod.rs:664:4 [INFO] [stderr] | [INFO] [stderr] 664 | fn backtrack_with_deviations( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Lazy` is never constructed [INFO] [stderr] --> src/critical_path/lazy_dijkstra.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | pub struct Lazy; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Precomputed` is never constructed [INFO] [stderr] --> src/critical_path/lazy_dijkstra.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Precomputed; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Dijkstra` is never constructed [INFO] [stderr] --> src/critical_path/lazy_dijkstra.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 24 | pub struct Dijkstra [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/critical_path/lazy_dijkstra.rs:69:12 [INFO] [stderr] | [INFO] [stderr] 63 | / impl Dijkstra [INFO] [stderr] 64 | | where [INFO] [stderr] 65 | | G: GraphBase + Visitable + IntoEdges, [INFO] [stderr] 66 | | D: Measure, [INFO] [stderr] 67 | | F: Fn(G::EdgeRef) -> D, [INFO] [stderr] | |___________________________- associated function in this implementation [INFO] [stderr] 68 | { [INFO] [stderr] 69 | pub fn new(graph: G, start: G::NodeId, edge_cost: F) -> Dijkstra { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: method `next_hop` is never used [INFO] [stderr] --> src/critical_path/lazy_dijkstra.rs:92:12 [INFO] [stderr] | [INFO] [stderr] 84 | / impl Dijkstra [INFO] [stderr] 85 | | where [INFO] [stderr] 86 | | G: IntoEdges + Visitable, [INFO] [stderr] 87 | | G::NodeId: Eq + Hash, [INFO] [stderr] 88 | | F: Fn(G::EdgeRef) -> D, [INFO] [stderr] 89 | | D: Measure + Copy, [INFO] [stderr] | |______________________- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 92 | pub fn next_hop(&self, dest: &G::NodeId) -> Option> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `next_hop` and `precompute` are never used [INFO] [stderr] --> src/critical_path/lazy_dijkstra.rs:105:12 [INFO] [stderr] | [INFO] [stderr] 97 | / impl Dijkstra [INFO] [stderr] 98 | | where [INFO] [stderr] 99 | | G: IntoEdges + Visitable, [INFO] [stderr] 100 | | G::NodeId: Eq + Hash, [INFO] [stderr] 101 | | F: Fn(G::EdgeRef) -> D, [INFO] [stderr] 102 | | D: Measure + Copy, [INFO] [stderr] | |______________________- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 105 | pub fn next_hop(&mut self, dest: &G::NodeId) -> Option> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 111 | pub fn precompute(mut self) -> Dijkstra { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `allow_negative_weights`, `next_hop_cached`, and `search_next_hop` are never used [INFO] [stderr] --> src/critical_path/lazy_dijkstra.rs:138:12 [INFO] [stderr] | [INFO] [stderr] 130 | / impl Dijkstra [INFO] [stderr] 131 | | where [INFO] [stderr] 132 | | G: IntoEdges + Visitable, [INFO] [stderr] 133 | | G::NodeId: Eq + Hash, [INFO] [stderr] 134 | | F: Fn(G::EdgeRef) -> D, [INFO] [stderr] 135 | | D: Measure + Copy, [INFO] [stderr] | |______________________- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 138 | pub fn allow_negative_weights(self, allow: bool) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 146 | pub fn next_hop_cached(&self, dest: &G::NodeId) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 151 | fn search_next_hop(&mut self, dest: &G::NodeId) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `dijkstra` is never used [INFO] [stderr] --> src/critical_path/lazy_dijkstra.rs:238:8 [INFO] [stderr] | [INFO] [stderr] 238 | pub fn dijkstra( [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `distance_to_source` is never read [INFO] [stderr] --> src/critical_path/lazy_dijkstra.rs:297:9 [INFO] [stderr] | [INFO] [stderr] 296 | pub struct NextHop { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] 297 | pub distance_to_source: D, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `NextHop` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `cell_name` is never read [INFO] [stderr] --> src/liberty_library/mod.rs:162:5 [INFO] [stderr] | [INFO] [stderr] 157 | pub(crate) struct Cell { [INFO] [stderr] | ---- field in this struct [INFO] [stderr] ... [INFO] [stderr] 162 | cell_name: String, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Cell` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `next_state` and `num_bits` are never read [INFO] [stderr] --> src/liberty_library/mod.rs:219:5 [INFO] [stderr] | [INFO] [stderr] 214 | pub(crate) struct FlipFlop { [INFO] [stderr] | -------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 219 | next_state: BooleanExpr, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 227 | num_bits: usize, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `FlipFlop` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `data_in` is never read [INFO] [stderr] --> src/liberty_library/mod.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 233 | pub(crate) struct Latch { [INFO] [stderr] | ----- field in this struct [INFO] [stderr] ... [INFO] [stderr] 239 | data_in: BooleanExpr, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Latch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `pin_name` and `capacitance` are never read [INFO] [stderr] --> src/liberty_library/mod.rs:247:5 [INFO] [stderr] | [INFO] [stderr] 246 | pub struct Pin { [INFO] [stderr] | --- fields in this struct [INFO] [stderr] 247 | pin_name: String, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 251 | pub(crate) capacitance: Capacitance, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Pin` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `size` is never read [INFO] [stderr] --> src/liberty_library/mod.rs:318:5 [INFO] [stderr] | [INFO] [stderr] 312 | struct LuTableTemplate { [INFO] [stderr] | --------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 318 | size: (usize, usize), [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `LuTableTemplate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `pin_id` is never read [INFO] [stderr] --> src/liberty_library/mod.rs:337:5 [INFO] [stderr] | [INFO] [stderr] 335 | struct PinImportContext<'a, CellId, PinId> { [INFO] [stderr] | ---------------- field in this struct [INFO] [stderr] 336 | cell_context: &'a CellImportContext<'a, CellId, PinId>, [INFO] [stderr] 337 | pin_id: &'a PinId, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `LowestCommonAncestor` is never constructed [INFO] [stderr] --> src/lowest_common_ancestor/mod.rs:21:12 [INFO] [stderr] | [INFO] [stderr] 21 | pub struct LowestCommonAncestor [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `EulerNode` is never constructed [INFO] [stderr] --> src/lowest_common_ancestor/mod.rs:31:8 [INFO] [stderr] | [INFO] [stderr] 31 | struct EulerNode { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `EulerNode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/lowest_common_ancestor/mod.rs:39:12 [INFO] [stderr] | [INFO] [stderr] 38 | impl EulerNode { [INFO] [stderr] | -------------------- associated function in this implementation [INFO] [stderr] 39 | pub fn new(node: T, level: usize) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `new_with_direction`, and `lowest_common_ancestor` are never used [INFO] [stderr] --> src/lowest_common_ancestor/mod.rs:72:12 [INFO] [stderr] | [INFO] [stderr] 64 | / impl LowestCommonAncestor [INFO] [stderr] 65 | | where [INFO] [stderr] 66 | | G: IntoEdgesDirected, [INFO] [stderr] 67 | | G::NodeId: Eq + Hash, [INFO] [stderr] | |_________________________- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 72 | pub fn new(graph: G, root: G::NodeId) -> Result { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 77 | pub fn new_with_direction( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 97 | pub fn lowest_common_ancestor(&self, a: &G::NodeId, b: &G::NodeId) -> &G::NodeId { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `levelized_euler_tour_tree` is never used [INFO] [stderr] --> src/lowest_common_ancestor/mod.rs:155:4 [INFO] [stderr] | [INFO] [stderr] 155 | fn levelized_euler_tour_tree( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ArgMinRange` is never constructed [INFO] [stderr] --> src/lowest_common_ancestor/argmin_lut.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | pub struct ArgMinRange { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/lowest_common_ancestor/argmin_lut.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 15 | / impl<'a, A, T> ArgMinRange [INFO] [stderr] 16 | | where [INFO] [stderr] 17 | | A: AsRef<[T]>, [INFO] [stderr] 18 | | T: Ord, [INFO] [stderr] | |___________- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 24 | pub fn new(array: A) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 42 | pub fn min(&self, start: usize, range_len: usize) -> &T { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 49 | pub fn argmin(&self, start: usize, range_len: usize) -> usize { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 87 | pub fn array(&self) -> &[T] { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 92 | pub fn take_array(self) -> A { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 96 | fn build_lut(&mut self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 123 | fn get_index(&self, window_size_log2: u32, window_position: usize) -> (usize, u32, u32) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 134 | fn get_argmin_in_window(&self, window_size_log2: u32, window_start: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 143 | fn set_argmin_in_window(&mut self, window_size_log2: u32, window_start: usize, argmin: usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 161 | fn get_bits(word: usize, bit_offset: u32, bit_length: u32) -> usize { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 167 | fn set_bits(word: usize, value: usize, bit_offset: u32, bit_length: u32) -> usize { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 174 | fn allocate_lut(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 196 | fn required_storage_for_window_size( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 208 | fn num_bits_for_offset(window_size_log2: u32) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 213 | fn num_windows(&self, window_size: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 218 | fn sub_lut_index(&self, start: usize, range_len: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `jitter` is never read [INFO] [stderr] --> src/models/clock_tag.rs:530:5 [INFO] [stderr] | [INFO] [stderr] 528 | struct PrimaryClockDefinition { [INFO] [stderr] | ---------------------- field in this struct [INFO] [stderr] 529 | period: Time, [INFO] [stderr] 530 | jitter: Time, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PrimaryClockDefinition` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `sta_mode` is never read [INFO] [stderr] --> src/models/nldm_cell_delay.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 28 | pub struct NLDMCellModel<'a, N: NetlistIds> { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 29 | sta_mode: StaMode, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `NLDMCellModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `summarize_arrival_time` and `acc_slew` are never used [INFO] [stderr] --> src/models/nldm_cell_delay.rs:162:8 [INFO] [stderr] | [INFO] [stderr] 99 | impl NLDMSignal { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 162 | fn summarize_arrival_time(&mut self, arrival_time: Time) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 167 | fn acc_slew(&mut self, slew: Time) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `select_timing_groups` is never used [INFO] [stderr] --> src/liberty_util.rs:13:8 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn select_timing_groups<'a>( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `forward_level` is never read [INFO] [stderr] --> src/timing_graph.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 35 | pub(crate) struct NodeData [INFO] [stderr] | -------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 45 | pub forward_level: AtomicU32, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `NodeData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `set_num_unresolved` is never used [INFO] [stderr] --> src/timing_graph.rs:106:12 [INFO] [stderr] | [INFO] [stderr] 97 | impl DependencyCounter { [INFO] [stderr] | ---------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 106 | pub fn set_num_unresolved(&self, num_unresolved: u32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `constraint` is never read [INFO] [stderr] --> src/timing_graph.rs:229:9 [INFO] [stderr] | [INFO] [stderr] 224 | pub(crate) struct SyncEdgeData [INFO] [stderr] | ------------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 229 | pub constraint: Option, // TODO: remove [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SyncEdgeData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/lib.rs:236:21 [INFO] [stderr] | [INFO] [stderr] 236 | fn top_cell_ref(&self) -> CellRef { [INFO] [stderr] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 236 | fn top_cell_ref(&self) -> CellRef<'_, N> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/critical_path/mod.rs:348:9 [INFO] [stderr] | [INFO] [stderr] 348 | &self, [INFO] [stderr] | ^^^^^ this lifetime flows to the output [INFO] [stderr] 349 | prefix_node: NodeIndex, [INFO] [stderr] 350 | ) -> DeviationEdges { [INFO] [stderr] | ---------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 350 | ) -> DeviationEdges<'_, G::NodeId, D> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/timing_graph.rs:305:9 [INFO] [stderr] | [INFO] [stderr] 305 | &self, [INFO] [stderr] | ^^^^^ this lifetime flows to the output [INFO] [stderr] ... [INFO] [stderr] 308 | ) -> Option>> { [INFO] [stderr] | -------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 308 | ) -> Option>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/timing_graph.rs:315:26 [INFO] [stderr] | [INFO] [stderr] 315 | pub fn get_node_data(&self, graph_node: NodeIndex) -> Option>> { [INFO] [stderr] | ^^^^^ this lifetime flows to the output -------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 315 | pub fn get_node_data(&self, graph_node: NodeIndex) -> Option>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/timing_graph.rs:329:9 [INFO] [stderr] | [INFO] [stderr] 329 | &self, [INFO] [stderr] | ^^^^^ this lifetime flows to the output [INFO] [stderr] ... [INFO] [stderr] 332 | ) -> Option>> { [INFO] [stderr] | --------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 332 | ) -> Option>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/timing_graph.rs:346:9 [INFO] [stderr] | [INFO] [stderr] 346 | &self, [INFO] [stderr] | ^^^^^ this lifetime flows to the output [INFO] [stderr] 347 | graph_node: NodeIndex, [INFO] [stderr] 348 | ) -> Option>> { [INFO] [stderr] | --------------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 348 | ) -> Option>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `libreda-sta` (lib) generated 66 warnings (run `cargo fix --lib -p libreda-sta` to apply 7 suggestions) [INFO] [stderr] warning: unused imports: `MinMax` and `NLDMRequiredSignal` [INFO] [stderr] --> tests/test_flipflop_setup_hold.rs:8:44 [INFO] [stderr] | [INFO] [stderr] 8 | use libreda_sta::models::nldm_cell_delay::{MinMax, NLDMRequiredSignal, NLDMSignal}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `RequiredSignalArg` [INFO] [stderr] --> tests/test_flipflop_setup_hold.rs:14:49 [INFO] [stderr] | [INFO] [stderr] 14 | use libreda_sta::{ClockDefinition, InputSignal, RequiredSignalArg}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `out1` [INFO] [stderr] --> tests/test_flipflop_setup_hold.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | let [clk, in1, out1] = [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_out1` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `clk_id` [INFO] [stderr] --> tests/test_flipflop_setup_hold.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | let clk_id = sta.create_clock( [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_clk_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `timing_library` [INFO] [stderr] --> src/liberty_library/mod.rs:569:9 [INFO] [stderr] | [INFO] [stderr] 569 | let timing_library = LibertyTimingLibrary::new(&library, cell_by_name, pin_by_name).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timing_library` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cell_fall` [INFO] [stderr] --> src/liberty_library/mod.rs:651:9 [INFO] [stderr] | [INFO] [stderr] 651 | let cell_fall = arc_a_y.cell_fall.as_ref().unwrap(); [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cell_fall` [INFO] [stderr] [INFO] [stderr] warning: methods `take_array` and `sub_lut_index` are never used [INFO] [stderr] --> src/lowest_common_ancestor/argmin_lut.rs:92:12 [INFO] [stderr] | [INFO] [stderr] 15 | / impl<'a, A, T> ArgMinRange [INFO] [stderr] 16 | | where [INFO] [stderr] 17 | | A: AsRef<[T]>, [INFO] [stderr] 18 | | T: Ord, [INFO] [stderr] | |___________- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 92 | pub fn take_array(self) -> A { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 218 | fn sub_lut_index(&self, start: usize, range_len: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `libreda-sta` (test "test_flipflop_setup_hold") generated 4 warnings (run `cargo fix --test "test_flipflop_setup_hold"` to apply 2 suggestions) [INFO] [stderr] warning: `libreda-sta` (lib test) generated 40 warnings (37 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/libreda_sta-e28fc3a0ba3a204a) [INFO] [stdout] [INFO] [stdout] running 35 tests [INFO] [stdout] test critical_path::lazy_dijkstra::test_dijkstra_digraph_negative_weights ... ok [INFO] [stdout] test critical_path::test_circital_paths_smallest_nontrivial ... ok [INFO] [stdout] test critical_path::test_circital_paths_empty ... ok [INFO] [stdout] test critical_path::test_backtrack_with_deviation_edges ... ok [INFO] [stdout] test critical_path::test_circital_paths_trivial ... ok [INFO] [stdout] test critical_path::lazy_dijkstra::test_dijkstra_digraph ... ok [INFO] [stdout] test critical_path::test_critical_path_enumeration ... ok [INFO] [stdout] test critical_path::lazy_dijkstra::test_lazy_dijkstra ... ok [INFO] [stdout] test critical_path::lazy_dijkstra::test_lazy_dijkstra_digraph_negative_weights ... ok [INFO] [stdout] test critical_path::test_longest_path_enumeration ... ok [INFO] [stdout] test critical_path::test_min_heap ... ok [INFO] [stdout] test critical_path::test_petgraph_intoedges ... ok [INFO] [stdout] test liberty_library::propagation_pattern::test_edgeset_contains ... ok [INFO] [stdout] test liberty_library::propagation_pattern::test_propagationpatterns_contains ... ok [INFO] [stdout] test liberty_library::propagation_pattern::test_propagationpatterns_intersection ... ok [INFO] [stdout] test critical_path::test_critical_path_enumeration_many_paths ... ok [INFO] [stdout] test liberty_library::test_lut_variable_ordering ... ok [INFO] [stdout] test liberty_util::test_get_timing_table_2d ... ok [INFO] [stdout] test liberty_util::test_get_timing_table_scalar ... ok [INFO] [stdout] test liberty_library::propagation_pattern::test_edgeset_intersection ... ok [INFO] [stdout] test liberty_library::propagation_pattern::test_edgeset_union ... ok [INFO] [stdout] test lowest_common_ancestor::argmin_lut::test_argmin_range_pass_ownership ... ok [INFO] [stdout] test lowest_common_ancestor::argmin_lut::test_argmin_range_random_exhaustive ... ok [INFO] [stdout] test lowest_common_ancestor::test_euler_tour ... ok [INFO] [stdout] test lowest_common_ancestor::test_lowest_common_ancestor ... ok [INFO] [stdout] test lowest_common_ancestor::test_lowest_common_ancestor_trivial ... ok [INFO] [stdout] test models::clock_tag::test_clock_id_compact_encoding_of_option ... ok [INFO] [stdout] test models::clock_tag::test_clock_id_set_flags ... ok [INFO] [stdout] test lowest_common_ancestor::test_euler_tour_with_non_tree ... ok [INFO] [stdout] test models::clock_tag::test_create_clock_id ... ok [INFO] [stdout] test test_uom_unit_elimination ... ok [INFO] [stdout] test liberty_util::test_get_timing_table_1d ... ok [INFO] [stdout] test test_uom ... ok [INFO] [stdout] test lowest_common_ancestor::argmin_lut::test_argmin_range_empty_array - should panic ... ok [INFO] [stdout] test liberty_library::test_load_timing_library_freepdk45 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s [INFO] [stdout] [INFO] [stderr] Running tests/test_combinational.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/test_combinational-26884bc9da0040e4) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test test_read_simple_liberty ... ok [INFO] [stdout] test test_delay_in_combinational_circuit ... ok [INFO] [stdout] test test_constraint_in_combinational_circuit ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running tests/test_flipflop_setup_hold.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/test_flipflop_setup_hold-8d2b65d4bd1ba7d5) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_read_simple_liberty ... ok [INFO] [stderr] Running tests/test_sta.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/test_sta-f98eff9e87449a23) [INFO] [stdout] test test_constraint_in_combinational_circuit ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_sta ... ok [INFO] [stdout] test test_simple_incremental_sta ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s [INFO] [stdout] [INFO] [stderr] Running tests/test_timing_library.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/test_timing_library-52e9e6d4cfaaa726) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "fd8dc55da291499b2187873268969e026a7cf91fe36700ff46837f907152e4e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fd8dc55da291499b2187873268969e026a7cf91fe36700ff46837f907152e4e6", kill_on_drop: false }` [INFO] [stdout] fd8dc55da291499b2187873268969e026a7cf91fe36700ff46837f907152e4e6