[INFO] cloning repository https://github.com/yelhsams/thesis
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yelhsams/thesis" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyelhsams%2Fthesis", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyelhsams%2Fthesis'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1a031f54674088e6cfc5fa7ee4871b57a3a0e1b7
[INFO] testing yelhsams/thesis against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyelhsams%2Fthesis" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/yelhsams/thesis
[INFO] removed 0 missing examples
[INFO] finished tweaking git repo https://github.com/yelhsams/thesis
[INFO] tweaked toml for git repo https://github.com/yelhsams/thesis written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/yelhsams/thesis on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/yelhsams/thesis already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 438337ade66c1768f9d0f50034e6d0160d0632ac0ebabd0026386ecfdbf9ace5
[INFO] running `Command { std: "docker" "start" "-a" "438337ade66c1768f9d0f50034e6d0160d0632ac0ebabd0026386ecfdbf9ace5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "438337ade66c1768f9d0f50034e6d0160d0632ac0ebabd0026386ecfdbf9ace5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "438337ade66c1768f9d0f50034e6d0160d0632ac0ebabd0026386ecfdbf9ace5", kill_on_drop: false }`
[INFO] [stdout] 438337ade66c1768f9d0f50034e6d0160d0632ac0ebabd0026386ecfdbf9ace5
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d56dd71ac181ae4df8260c8efb62f415d913587b1b820581e8939ddaada33d30
[INFO] running `Command { std: "docker" "start" "-a" "d56dd71ac181ae4df8260c8efb62f415d913587b1b820581e8939ddaada33d30", kill_on_drop: false }`
[INFO] [stderr]    Compiling thesis v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/lib.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use context_test_cases::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the name `example_strength_reduction` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 20 | pub use pattern_examples::*;
[INFO] [stdout]    |         ------------------- but the name `example_strength_reduction` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `opcode` is assigned to, but never used
[INFO] [stdout]    --> src/clif_parser.rs:201:13
[INFO] [stdout]     |
[INFO] [stdout] 201 |         let mut opcode = self.parse_opcode(&opcode_str)?;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_opcode` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `opcode` is never read
[INFO] [stdout]    --> src/clif_parser.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 opcode = self.parse_comparison_condition(&cond_str)?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dfg`
[INFO] [stdout]    --> src/clif_parser.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         dfg: &DataFlowGraph,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_dfg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `canonical_map`
[INFO] [stdout]    --> src/egraph_pass.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn rebuild_layout(&mut self, canonical_map: &HashMap<ValueId, ValueId>) {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_canonical_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/pattern.rs:669:38
[INFO] [stdout]     |
[INFO] [stdout] 669 |                         if let (Some(a), Some(b)) = (
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/pattern.rs:669:47
[INFO] [stdout]     |
[INFO] [stdout] 669 |                         if let (Some(a), Some(b)) = (
[INFO] [stdout]     |                                               ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `custom_rule`
[INFO] [stdout]   --> src/pattern_examples.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let custom_rule = Rewrite::new("and-with-minus-one")
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `power_of_two_rule`
[INFO] [stdout]   --> src/pattern_examples.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let power_of_two_rule = Rewrite::new("mul-power-of-two")
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_power_of_two_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/pattern_examples.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let c = dfg.make_inst_result(add_id, Type::I32);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fold_rule`
[INFO] [stdout]    --> src/pattern_examples.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let fold_rule = Rewrite::new("fold-add-constants")
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fold_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nested_rule`
[INFO] [stdout]    --> src/pattern_examples.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let nested_rule = Rewrite::new("nested-simplify")
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nested_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `distributive`
[INFO] [stdout]    --> src/pattern_examples.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let distributive = Rewrite::new("distributive")
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distributive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `add_zero_rule`
[INFO] [stdout]    --> src/pattern_examples.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |     let add_zero_rule = Rewrite::new("add-zero-either-side")
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_add_zero_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strength_reduce`
[INFO] [stdout]    --> src/pattern_examples.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |     let strength_reduce = Rewrite::new("strength-reduce-large-mul")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strength_reduce`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_id`
[INFO] [stdout]   --> src/rewrite_integration.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |                     if let Some((inst_id, ref inst)) = inst_info {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/rewrite_integration.rs:92:43
[INFO] [stdout]    |
[INFO] [stdout] 92 |                     if let Some((inst_id, ref inst)) = inst_info {
[INFO] [stdout]    |                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `eclass_size` and `remat_values` are never read
[INFO] [stdout]    --> src/egraph_pass.rs:488:5
[INFO] [stdout]     |
[INFO] [stdout] 482 | struct OptimizeCtx<'a> {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 488 |     eclass_size: &'a mut HashMap<ValueId, u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 489 |     remat_values: &'a HashSet<ValueId>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `domtree` is never read
[INFO] [stdout]   --> src/elaborate.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct Elaborator<'a> {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 66 |     dfg: &'a mut DataFlowGraph,
[INFO] [stdout] 67 |     domtree: &'a DominatorTree,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/pattern.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout]  96 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 128 |         check: fn(&Bindings) -> bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/support.rs:167:18
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn entry(&mut self, key: K) -> ScopedEntry<K, V> {
[INFO] [stdout]     |                  ^^^^^^^^^             ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn entry(&mut self, key: K) -> ScopedEntry<'_, K, V> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.44s
[INFO] running `Command { std: "docker" "inspect" "d56dd71ac181ae4df8260c8efb62f415d913587b1b820581e8939ddaada33d30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d56dd71ac181ae4df8260c8efb62f415d913587b1b820581e8939ddaada33d30", kill_on_drop: false }`
[INFO] [stdout] d56dd71ac181ae4df8260c8efb62f415d913587b1b820581e8939ddaada33d30
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6a94352d5b8f6f71445668c39cbde043ddfbe01320c9fccb8fb9c3dddc02bb9a
[INFO] running `Command { std: "docker" "start" "-a" "6a94352d5b8f6f71445668c39cbde043ddfbe01320c9fccb8fb9c3dddc02bb9a", kill_on_drop: false }`
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/lib.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use context_test_cases::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the name `example_strength_reduction` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 20 | pub use pattern_examples::*;
[INFO] [stdout]    |         ------------------- but the name `example_strength_reduction` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `opcode` is assigned to, but never used
[INFO] [stdout]    --> src/clif_parser.rs:201:13
[INFO] [stdout]     |
[INFO] [stdout] 201 |         let mut opcode = self.parse_opcode(&opcode_str)?;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_opcode` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `opcode` is never read
[INFO] [stdout]    --> src/clif_parser.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 opcode = self.parse_comparison_condition(&cond_str)?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dfg`
[INFO] [stdout]    --> src/clif_parser.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         dfg: &DataFlowGraph,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_dfg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `canonical_map`
[INFO] [stdout]    --> src/egraph_pass.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn rebuild_layout(&mut self, canonical_map: &HashMap<ValueId, ValueId>) {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_canonical_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/pattern.rs:669:38
[INFO] [stdout]     |
[INFO] [stdout] 669 |                         if let (Some(a), Some(b)) = (
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/pattern.rs:669:47
[INFO] [stdout]     |
[INFO] [stdout] 669 |                         if let (Some(a), Some(b)) = (
[INFO] [stdout]     |                                               ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `custom_rule`
[INFO] [stdout]   --> src/pattern_examples.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let custom_rule = Rewrite::new("and-with-minus-one")
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `power_of_two_rule`
[INFO] [stdout]   --> src/pattern_examples.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let power_of_two_rule = Rewrite::new("mul-power-of-two")
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_power_of_two_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/pattern_examples.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let c = dfg.make_inst_result(add_id, Type::I32);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fold_rule`
[INFO] [stdout]    --> src/pattern_examples.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let fold_rule = Rewrite::new("fold-add-constants")
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fold_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nested_rule`
[INFO] [stdout]    --> src/pattern_examples.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let nested_rule = Rewrite::new("nested-simplify")
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nested_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `distributive`
[INFO] [stdout]    --> src/pattern_examples.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let distributive = Rewrite::new("distributive")
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distributive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `add_zero_rule`
[INFO] [stdout]    --> src/pattern_examples.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |     let add_zero_rule = Rewrite::new("add-zero-either-side")
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_add_zero_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strength_reduce`
[INFO] [stdout]    --> src/pattern_examples.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |     let strength_reduce = Rewrite::new("strength-reduce-large-mul")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strength_reduce`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_id`
[INFO] [stdout]   --> src/rewrite_integration.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |                     if let Some((inst_id, ref inst)) = inst_info {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/rewrite_integration.rs:92:43
[INFO] [stdout]    |
[INFO] [stdout] 92 |                     if let Some((inst_id, ref inst)) = inst_info {
[INFO] [stdout]    |                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `eclass_size` and `remat_values` are never read
[INFO] [stdout]    --> src/egraph_pass.rs:488:5
[INFO] [stdout]     |
[INFO] [stdout] 482 | struct OptimizeCtx<'a> {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 488 |     eclass_size: &'a mut HashMap<ValueId, u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 489 |     remat_values: &'a HashSet<ValueId>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `domtree` is never read
[INFO] [stdout]   --> src/elaborate.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct Elaborator<'a> {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 66 |     dfg: &'a mut DataFlowGraph,
[INFO] [stdout] 67 |     domtree: &'a DominatorTree,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/pattern.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout]  96 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 128 |         check: fn(&Bindings) -> bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/support.rs:167:18
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn entry(&mut self, key: K) -> ScopedEntry<K, V> {
[INFO] [stdout]     |                  ^^^^^^^^^             ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn entry(&mut self, key: K) -> ScopedEntry<'_, K, V> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling thesis v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/lib.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use context_test_cases::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^ the name `example_strength_reduction` in the value namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 20 | pub use pattern_examples::*;
[INFO] [stdout]    |         ------------------- but the name `example_strength_reduction` in the value namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `opcode` is assigned to, but never used
[INFO] [stdout]    --> src/clif_parser.rs:201:13
[INFO] [stdout]     |
[INFO] [stdout] 201 |         let mut opcode = self.parse_opcode(&opcode_str)?;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_opcode` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `opcode` is never read
[INFO] [stdout]    --> src/clif_parser.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 opcode = self.parse_comparison_condition(&cond_str)?;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dfg`
[INFO] [stdout]    --> src/clif_parser.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |         dfg: &DataFlowGraph,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_dfg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dfg`
[INFO] [stdout]    --> src/clif_parser.rs:608:14
[INFO] [stdout]     |
[INFO] [stdout] 608 |         let (dfg, layout) = result.unwrap();
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_dfg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dfg`
[INFO] [stdout]    --> src/clif_parser.rs:636:14
[INFO] [stdout]     |
[INFO] [stdout] 636 |         let (dfg, layout) = result.unwrap();
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_dfg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `canonical_map`
[INFO] [stdout]    --> src/egraph_pass.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn rebuild_layout(&mut self, canonical_map: &HashMap<ValueId, ValueId>) {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_canonical_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/pattern.rs:669:38
[INFO] [stdout]     |
[INFO] [stdout] 669 |                         if let (Some(a), Some(b)) = (
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/pattern.rs:669:47
[INFO] [stdout]     |
[INFO] [stdout] 669 |                         if let (Some(a), Some(b)) = (
[INFO] [stdout]     |                                               ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `custom_rule`
[INFO] [stdout]   --> src/pattern_examples.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let custom_rule = Rewrite::new("and-with-minus-one")
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `power_of_two_rule`
[INFO] [stdout]   --> src/pattern_examples.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let power_of_two_rule = Rewrite::new("mul-power-of-two")
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_power_of_two_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/pattern_examples.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let c = dfg.make_inst_result(add_id, Type::I32);
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fold_rule`
[INFO] [stdout]    --> src/pattern_examples.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let fold_rule = Rewrite::new("fold-add-constants")
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fold_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nested_rule`
[INFO] [stdout]    --> src/pattern_examples.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let nested_rule = Rewrite::new("nested-simplify")
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nested_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `distributive`
[INFO] [stdout]    --> src/pattern_examples.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let distributive = Rewrite::new("distributive")
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distributive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `add_zero_rule`
[INFO] [stdout]    --> src/pattern_examples.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |     let add_zero_rule = Rewrite::new("add-zero-either-side")
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_add_zero_rule`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strength_reduce`
[INFO] [stdout]    --> src/pattern_examples.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |     let strength_reduce = Rewrite::new("strength-reduce-large-mul")
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strength_reduce`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_id`
[INFO] [stdout]   --> src/rewrite_integration.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |                     if let Some((inst_id, ref inst)) = inst_info {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/rewrite_integration.rs:92:43
[INFO] [stdout]    |
[INFO] [stdout] 92 |                     if let Some((inst_id, ref inst)) = inst_info {
[INFO] [stdout]    |                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `eclass_size` and `remat_values` are never read
[INFO] [stdout]    --> src/egraph_pass.rs:488:5
[INFO] [stdout]     |
[INFO] [stdout] 482 | struct OptimizeCtx<'a> {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 488 |     eclass_size: &'a mut HashMap<ValueId, u8>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 489 |     remat_values: &'a HashSet<ValueId>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `domtree` is never read
[INFO] [stdout]   --> src/elaborate.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct Elaborator<'a> {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 66 |     dfg: &'a mut DataFlowGraph,
[INFO] [stdout] 67 |     domtree: &'a DominatorTree,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> src/pattern.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout]  96 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 128 |         check: fn(&Bindings) -> bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/support.rs:167:18
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn entry(&mut self, key: K) -> ScopedEntry<K, V> {
[INFO] [stdout]     |                  ^^^^^^^^^             ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn entry(&mut self, key: K) -> ScopedEntry<'_, K, V> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.49s
[INFO] running `Command { std: "docker" "inspect" "6a94352d5b8f6f71445668c39cbde043ddfbe01320c9fccb8fb9c3dddc02bb9a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a94352d5b8f6f71445668c39cbde043ddfbe01320c9fccb8fb9c3dddc02bb9a", kill_on_drop: false }`
[INFO] [stdout] 6a94352d5b8f6f71445668c39cbde043ddfbe01320c9fccb8fb9c3dddc02bb9a
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b66e341b692c94d9f4e98f3e3ff32e515fa99a73770e4e5dc913b52d403eacd7
[INFO] running `Command { std: "docker" "start" "-a" "b66e341b692c94d9f4e98f3e3ff32e515fa99a73770e4e5dc913b52d403eacd7", kill_on_drop: false }`
[INFO] [stderr] warning: ambiguous glob re-exports
[INFO] [stderr]   --> src/lib.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub use context_test_cases::*;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^ the name `example_strength_reduction` in the value namespace is first re-exported here
[INFO] [stderr] ...
[INFO] [stderr] 20 | pub use pattern_examples::*;
[INFO] [stderr]    |         ------------------- but the name `example_strength_reduction` in the value namespace is also re-exported here
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `opcode` is assigned to, but never used
[INFO] [stderr]    --> src/clif_parser.rs:201:13
[INFO] [stderr]     |
[INFO] [stderr] 201 |         let mut opcode = self.parse_opcode(&opcode_str)?;
[INFO] [stderr]     |             ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_opcode` instead
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `opcode` is never read
[INFO] [stderr]    --> src/clif_parser.rs:209:17
[INFO] [stderr]     |
[INFO] [stderr] 209 |                 opcode = self.parse_comparison_condition(&cond_str)?;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dfg`
[INFO] [stderr]    --> src/clif_parser.rs:253:9
[INFO] [stderr]     |
[INFO] [stderr] 253 |         dfg: &DataFlowGraph,
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_dfg`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `canonical_map`
[INFO] [stderr]    --> src/egraph_pass.rs:137:34
[INFO] [stderr]     |
[INFO] [stderr] 137 |     fn rebuild_layout(&mut self, canonical_map: &HashMap<ValueId, ValueId>) {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_canonical_map`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]    --> src/pattern.rs:669:38
[INFO] [stderr]     |
[INFO] [stderr] 669 |                         if let (Some(a), Some(b)) = (
[INFO] [stderr]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `b`
[INFO] [stderr]    --> src/pattern.rs:669:47
[INFO] [stderr]     |
[INFO] [stderr] 669 |                         if let (Some(a), Some(b)) = (
[INFO] [stderr]     |                                               ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `custom_rule`
[INFO] [stderr]   --> src/pattern_examples.rs:76:9
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let custom_rule = Rewrite::new("and-with-minus-one")
[INFO] [stderr]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_rule`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `power_of_two_rule`
[INFO] [stderr]   --> src/pattern_examples.rs:89:9
[INFO] [stderr]    |
[INFO] [stderr] 89 |     let power_of_two_rule = Rewrite::new("mul-power-of-two")
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_power_of_two_rule`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]    --> src/pattern_examples.rs:179:9
[INFO] [stderr]     |
[INFO] [stderr] 179 |     let c = dfg.make_inst_result(add_id, Type::I32);
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fold_rule`
[INFO] [stderr]    --> src/pattern_examples.rs:186:9
[INFO] [stderr]     |
[INFO] [stderr] 186 |     let fold_rule = Rewrite::new("fold-add-constants")
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fold_rule`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `nested_rule`
[INFO] [stderr]    --> src/pattern_examples.rs:208:9
[INFO] [stderr]     |
[INFO] [stderr] 208 |     let nested_rule = Rewrite::new("nested-simplify")
[INFO] [stderr]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nested_rule`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `distributive`
[INFO] [stderr]    --> src/pattern_examples.rs:224:9
[INFO] [stderr]     |
[INFO] [stderr] 224 |     let distributive = Rewrite::new("distributive")
[INFO] [stderr]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_distributive`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `add_zero_rule`
[INFO] [stderr]    --> src/pattern_examples.rs:251:9
[INFO] [stderr]     |
[INFO] [stderr] 251 |     let add_zero_rule = Rewrite::new("add-zero-either-side")
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_add_zero_rule`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `strength_reduce`
[INFO] [stderr]    --> src/pattern_examples.rs:274:9
[INFO] [stderr]     |
[INFO] [stderr] 274 |     let strength_reduce = Rewrite::new("strength-reduce-large-mul")
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strength_reduce`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inst_id`
[INFO] [stderr]   --> src/rewrite_integration.rs:92:34
[INFO] [stderr]    |
[INFO] [stderr] 92 |                     if let Some((inst_id, ref inst)) = inst_info {
[INFO] [stderr]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inst`
[INFO] [stderr]   --> src/rewrite_integration.rs:92:43
[INFO] [stderr]    |
[INFO] [stderr] 92 |                     if let Some((inst_id, ref inst)) = inst_info {
[INFO] [stderr]    |                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `eclass_size` and `remat_values` are never read
[INFO] [stderr]    --> src/egraph_pass.rs:488:5
[INFO] [stderr]     |
[INFO] [stderr] 482 | struct OptimizeCtx<'a> {
[INFO] [stderr]     |        ----------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 488 |     eclass_size: &'a mut HashMap<ValueId, u8>,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 489 |     remat_values: &'a HashSet<ValueId>,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `domtree` is never read
[INFO] [stderr]   --> src/elaborate.rs:67:5
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub struct Elaborator<'a> {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] 66 |     dfg: &'a mut DataFlowGraph,
[INFO] [stderr] 67 |     domtree: &'a DominatorTree,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> src/pattern.rs:128:9
[INFO] [stderr]     |
[INFO] [stderr]  96 | #[derive(Debug, Clone, PartialEq)]
[INFO] [stderr]     |                        --------- in this derive macro expansion
[INFO] [stderr] ...
[INFO] [stderr] 128 |         check: fn(&Bindings) -> bool,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/support.rs:167:18
[INFO] [stderr]     |
[INFO] [stderr] 167 |     pub fn entry(&mut self, key: K) -> ScopedEntry<K, V> {
[INFO] [stderr]     |                  ^^^^^^^^^             ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 167 |     pub fn entry(&mut self, key: K) -> ScopedEntry<'_, K, V> {
[INFO] [stderr]     |                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: `thesis` (lib) generated 21 warnings (run `cargo fix --lib -p thesis` to apply 15 suggestions)
[INFO] [stderr] warning: unused variable: `dfg`
[INFO] [stderr]    --> src/clif_parser.rs:608:14
[INFO] [stderr]     |
[INFO] [stderr] 608 |         let (dfg, layout) = result.unwrap();
[INFO] [stderr]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_dfg`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dfg`
[INFO] [stderr]    --> src/clif_parser.rs:636:14
[INFO] [stderr]     |
[INFO] [stderr] 636 |         let (dfg, layout) = result.unwrap();
[INFO] [stderr]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_dfg`
[INFO] [stderr] 
[INFO] [stderr] warning: `thesis` (lib test) generated 23 warnings (21 duplicates) (run `cargo fix --lib -p thesis --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/aegraph-737e3c6938535def)
[INFO] [stdout] 
[INFO] [stdout] running 26 tests
[INFO] [stdout] test clif_lexer::tests::test_basic_tokens ... ok
[INFO] [stdout] test clif_lexer::tests::test_comment ... ok
[INFO] [stdout] test clif_parser::tests::test_conditional_branch ... ok
[INFO] [stdout] test context_test_cases::tests::test_conditional_constant_propagation ... ok
[INFO] [stdout] test clif_lexer::tests::test_block_and_instruction ... ok
[INFO] [stdout] test clif_parser::tests::test_with_comments ... ok
[INFO] [stdout] test clif_parser::tests::test_simple_function ... ok
[INFO] [stdout] test clif_parser::tests::test_branch_display ... ok
[INFO] [stdout] test context_test_cases::tests::test_simple_constant ... ok
[INFO] [stdout] test egraph_pass::tests::test_simple_gvn ... ok
[INFO] [stdout] test context_test_cases::tests::test_self_comparison_optimization ... ok
[INFO] [stdout] test pattern::tests::test_pattern_application ... ok
[INFO] [stdout] test pattern::tests::test_pattern_matching ... ok
[INFO] [stdout] test rewrite_integration::tests::test_pattern_helpers ... ok
[INFO] [stdout] test pattern::tests::test_rewrite_library ... ok
[INFO] [stdout] test context_test_cases::tests::test_multiplication_by_zero ... ok
[INFO] [stdout] test egraph_pass::tests::test_pattern_based_rewrites ... ok
[INFO] [stdout] test pattern_examples::tests::test_all_pattern_examples ... ok
[INFO] [stdout] test context_test_cases::tests::test_addition_identity ... ok
[INFO] [stdout] test context_test_cases::tests::test_parse_only ... ok
[INFO] [stdout] test elaborate::tests::test_cost_computation ... ok
[INFO] [stdout] test elaborate::tests::test_union_cost_selection ... ok
[INFO] [stdout] test rewrite_integration::tests::test_rewrite_engine ... ok
[INFO] [stdout] test rewrite_integration::tests::test_custom_library ... ok
[INFO] [stdout] test example::tests::test_all_examples ... ok
[INFO] [stderr]    Doc-tests aegraph
[INFO] [stdout] test context_test_cases::tests::test_algebraic_patterns ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/pattern.rs - pattern (line 4) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/pattern.rs - pattern (line 4) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rewrite`
[INFO] [stdout]  --> src/pattern.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | let rule = Rewrite::new("add-zero")
[INFO] [stdout]   |            ^^^^^^^ use of undeclared type `Rewrite`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 4 + use aegraph::Rewrite;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Pattern`
[INFO] [stdout]  --> src/pattern.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Pattern::op(Opcode::Add, vec![
[INFO] [stdout]   |         ^^^^^^^ use of undeclared type `Pattern`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]   |
[INFO] [stdout] 4 + use std::str::pattern::Pattern;
[INFO] [stdout]   |
[INFO] [stdout] 4 + use aegraph::Pattern;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Opcode`
[INFO] [stdout]  --> src/pattern.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 |         Pattern::op(Opcode::Add, vec![
[INFO] [stdout]   |                     ^^^^^^ use of undeclared type `Opcode`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]   |
[INFO] [stdout] 4 + use aegraph::Opcode;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Pattern`
[INFO] [stdout]  --> src/pattern.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |             Pattern::var("x"),
[INFO] [stdout]   |             ^^^^^^^ use of undeclared type `Pattern`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]   |
[INFO] [stdout] 4 + use std::str::pattern::Pattern;
[INFO] [stdout]   |
[INFO] [stdout] 4 + use aegraph::Pattern;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Pattern`
[INFO] [stdout]   --> src/pattern.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             Pattern::constant(0),
[INFO] [stdout]    |             ^^^^^^^ use of undeclared type `Pattern`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  4 + use std::str::pattern::Pattern;
[INFO] [stdout]    |
[INFO] [stdout]  4 + use aegraph::Pattern;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Pattern`
[INFO] [stdout]   --> src/pattern.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |     .produce(Pattern::var("x"))
[INFO] [stdout]    |              ^^^^^^^ use of undeclared type `Pattern`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout]  4 + use std::str::pattern::Pattern;
[INFO] [stdout]    |
[INFO] [stdout]  4 + use aegraph::Pattern;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/pattern.rs - pattern (line 4)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "b66e341b692c94d9f4e98f3e3ff32e515fa99a73770e4e5dc913b52d403eacd7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b66e341b692c94d9f4e98f3e3ff32e515fa99a73770e4e5dc913b52d403eacd7", kill_on_drop: false }`
[INFO] [stdout] b66e341b692c94d9f4e98f3e3ff32e515fa99a73770e4e5dc913b52d403eacd7
