[INFO] fetching crate adapton-lab 0.1.0...
[INFO] checking adapton-lab-0.1.0 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate adapton-lab 0.1.0 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate adapton-lab 0.1.0 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate adapton-lab 0.1.0
[INFO] finished tweaking crates.io crate adapton-lab 0.1.0
[INFO] tweaked toml for crates.io crate adapton-lab 0.1.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded strsim v0.4.1
[INFO] [stderr]   Downloaded rand v0.3.23
[INFO] [stderr]   Downloaded clap v1.3.2
[INFO] [stderr]   Downloaded ansi_term v0.6.3
[INFO] [stderr]   Downloaded rand v0.4.6
[INFO] [stderr]   Downloaded adapton v0.3.31
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] eec1422787afd1838718e3d1024519eeb86fcb268fa04fb5412706729c1594c4
[INFO] running `Command { std: "docker" "start" "-a" "eec1422787afd1838718e3d1024519eeb86fcb268fa04fb5412706729c1594c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eec1422787afd1838718e3d1024519eeb86fcb268fa04fb5412706729c1594c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eec1422787afd1838718e3d1024519eeb86fcb268fa04fb5412706729c1594c4", kill_on_drop: false }`
[INFO] [stdout] eec1422787afd1838718e3d1024519eeb86fcb268fa04fb5412706729c1594c4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 269a672bc71cb5a7a27540bcbcd2ee01910b80dc54607e8b03c21aa802068387
[INFO] running `Command { std: "docker" "start" "-a" "269a672bc71cb5a7a27540bcbcd2ee01910b80dc54607e8b03c21aa802068387", kill_on_drop: false }`
[INFO] [stderr]     Checking strsim v0.4.1
[INFO] [stderr]     Checking ansi_term v0.6.3
[INFO] [stderr]     Checking adapton v0.3.31
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking clap v1.3.2
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking adapton-lab v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/labdef.rs:42:14
[INFO] [stdout]    |
[INFO] [stdout] 42 |   fn compute(Input) -> Output;
[INFO] [stdout]    |              ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Input`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/labdef.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 |   fn compute(Input, usize) -> Output;
[INFO] [stdout]    |              ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Input`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/labdef.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |   fn compute(Input, usize) -> Output;
[INFO] [stdout]    |                     ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/labviz.rs:498:3
[INFO] [stdout]     |
[INFO] [stdout] 498 |   /// We style this with clear:both, and without any appearance
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 499 |   writeln!(writer, "<hr/>").unwrap();
[INFO] [stdout]     |   ---------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/labviz.rs:586:3
[INFO] [stdout]     |
[INFO] [stdout] 586 |   ;
[INFO] [stdout]     |   ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/labdef.rs:42:14
[INFO] [stdout]    |
[INFO] [stdout] 42 |   fn compute(Input) -> Output;
[INFO] [stdout]    |              ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Input`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/labdef.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 |   fn compute(Input, usize) -> Output;
[INFO] [stdout]    |              ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Input`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/labdef.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |   fn compute(Input, usize) -> Output;
[INFO] [stdout]    |                     ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/labviz.rs:498:3
[INFO] [stdout]     |
[INFO] [stdout] 498 |   /// We style this with clear:both, and without any appearance
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 499 |   writeln!(writer, "<hr/>").unwrap();
[INFO] [stdout]     |   ---------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/labviz.rs:586:3
[INFO] [stdout]     |
[INFO] [stdout] 586 |   ;
[INFO] [stdout]     |   ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:502:56
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub fn write_lab_name<W:Write>(writer:&mut W, lab:&Box<Lab>, is_title:bool) {
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub fn write_lab_name<W:Write>(writer:&mut W, lab:&Box<dyn Lab>, is_title:bool) {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:546:14
[INFO] [stdout]     |
[INFO] [stdout] 546 |    _lab:&Box<Lab>, 
[INFO] [stdout]     |              ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 546 |    _lab:&Box<dyn Lab>, 
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:502:56
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub fn write_lab_name<W:Write>(writer:&mut W, lab:&Box<Lab>, is_title:bool) {
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub fn write_lab_name<W:Write>(writer:&mut W, lab:&Box<dyn Lab>, is_title:bool) {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:546:14
[INFO] [stdout]     |
[INFO] [stdout] 546 |    _lab:&Box<Lab>, 
[INFO] [stdout]     |              ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 546 |    _lab:&Box<dyn Lab>, 
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:464:18
[INFO] [stdout]     |
[INFO] [stdout] 464 |    labs:&Vec<Box<Lab>>, 
[INFO] [stdout]     |                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 464 |    labs:&Vec<Box<dyn Lab>>, 
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:687:54
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn write_lab_results(params:&LabParams, lab:&Box<Lab>, results:&LabResults) {
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn write_lab_results(params:&LabParams, lab:&Box<dyn Lab>, results:&LabResults) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:464:18
[INFO] [stdout]     |
[INFO] [stdout] 464 |    labs:&Vec<Box<Lab>>, 
[INFO] [stdout]     |                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 464 |    labs:&Vec<Box<dyn Lab>>, 
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:687:54
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn write_lab_results(params:&LabParams, lab:&Box<Lab>, results:&LabResults) {
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn write_lab_results(params:&LabParams, lab:&Box<dyn Lab>, results:&LabResults) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:359:46
[INFO] [stdout]     |
[INFO] [stdout] 359 |           trace::Effect::Force(_) if tr.edge.succ.is_dup         => "tr-force-dup",
[INFO] [stdout]     |                                              ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:379:52
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 trace::Effect::Force(_) if tr.edge.succ.is_dup         => "ForceDup",
[INFO] [stdout]     |                                                    ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `loc` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:401:45
[INFO] [stdout]     |
[INFO] [stdout] 401 |           match (tr.effect.clone(), tr.edge.loc.clone()) {            
[INFO] [stdout]     |                                             ^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:359:46
[INFO] [stdout]     |
[INFO] [stdout] 359 |           trace::Effect::Force(_) if tr.edge.succ.is_dup         => "tr-force-dup",
[INFO] [stdout]     |                                              ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:379:52
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 trace::Effect::Force(_) if tr.edge.succ.is_dup         => "ForceDup",
[INFO] [stdout]     |                                                    ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `loc` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:401:45
[INFO] [stdout]     |
[INFO] [stdout] 401 |           match (tr.effect.clone(), tr.edge.loc.clone()) {            
[INFO] [stdout]     |                                             ^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/labviz.rs:404:30
[INFO] [stdout]     |
[INFO] [stdout] 404 |             _ => div_of_edge(&tr.edge)
[INFO] [stdout]     |                  ----------- ^^^^^^^^ expected `&Edge`, found `&EffectEdge`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Edge`
[INFO] [stdout]                found reference `&EffectEdge`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/labviz.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn div_of_edge (e:&trace::Edge) -> Div {
[INFO] [stdout]     |        ^^^^^^^^^^^  --------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/labviz.rs:404:30
[INFO] [stdout]     |
[INFO] [stdout] 404 |             _ => div_of_edge(&tr.edge)
[INFO] [stdout]     |                  ----------- ^^^^^^^^ expected `&Edge`, found `&EffectEdge`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Edge`
[INFO] [stdout]                found reference `&EffectEdge`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/labviz.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn div_of_edge (e:&trace::Edge) -> Div {
[INFO] [stdout]     |        ^^^^^^^^^^^  --------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:522:53
[INFO] [stdout]     |
[INFO] [stdout] 522 |   let succs : Vec<_> = traces.iter().map(|t| t.edge.succ.clone()).collect();
[INFO] [stdout]     |                                                     ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:531:16
[INFO] [stdout]     |
[INFO] [stdout] 531 |     if tr.edge.succ.effect == effect {
[INFO] [stdout]     |                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:534:64
[INFO] [stdout]     |
[INFO] [stdout] 534 |           div_of_alloc_tree(dcg, &mut HashMap::new(), &tr.edge.succ.loc)
[INFO] [stdout]     |                                                                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:522:53
[INFO] [stdout]     |
[INFO] [stdout] 522 |   let succs : Vec<_> = traces.iter().map(|t| t.edge.succ.clone()).collect();
[INFO] [stdout]     |                                                     ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:537:64
[INFO] [stdout]     |
[INFO] [stdout] 537 |           div_of_force_tree(dcg,&mut HashMap::new(),  &tr.edge.succ.loc)
[INFO] [stdout]     |                                                                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:531:16
[INFO] [stdout]     |
[INFO] [stdout] 531 |     if tr.edge.succ.effect == effect {
[INFO] [stdout]     |                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:534:64
[INFO] [stdout]     |
[INFO] [stdout] 534 |           div_of_alloc_tree(dcg, &mut HashMap::new(), &tr.edge.succ.loc)
[INFO] [stdout]     |                                                                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:537:64
[INFO] [stdout]     |
[INFO] [stdout] 537 |           div_of_force_tree(dcg,&mut HashMap::new(),  &tr.edge.succ.loc)
[INFO] [stdout]     |                                                                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors; 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors; 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `adapton-lab` (lib test) due to 9 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `adapton-lab` (lib) due to 9 previous errors; 9 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "269a672bc71cb5a7a27540bcbcd2ee01910b80dc54607e8b03c21aa802068387", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "269a672bc71cb5a7a27540bcbcd2ee01910b80dc54607e8b03c21aa802068387", kill_on_drop: false }`
[INFO] [stdout] 269a672bc71cb5a7a27540bcbcd2ee01910b80dc54607e8b03c21aa802068387
[INFO] checking adapton-lab-0.1.0 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate adapton-lab 0.1.0 into /workspace/builds/worker-3-tc2/source
[INFO] validating manifest of crates.io crate adapton-lab 0.1.0 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate adapton-lab 0.1.0
[INFO] finished tweaking crates.io crate adapton-lab 0.1.0
[INFO] tweaked toml for crates.io crate adapton-lab 0.1.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 90c974907d1c2c7be8399a1c36f4f5ac362ddca64dd4fec4fc587d9be700d3e2
[INFO] running `Command { std: "docker" "start" "-a" "90c974907d1c2c7be8399a1c36f4f5ac362ddca64dd4fec4fc587d9be700d3e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "90c974907d1c2c7be8399a1c36f4f5ac362ddca64dd4fec4fc587d9be700d3e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90c974907d1c2c7be8399a1c36f4f5ac362ddca64dd4fec4fc587d9be700d3e2", kill_on_drop: false }`
[INFO] [stdout] 90c974907d1c2c7be8399a1c36f4f5ac362ddca64dd4fec4fc587d9be700d3e2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3c85a7ff9a51835e5c7ce3cb195311cdb38122ed6d624736678ef44e4d345641
[INFO] running `Command { std: "docker" "start" "-a" "3c85a7ff9a51835e5c7ce3cb195311cdb38122ed6d624736678ef44e4d345641", kill_on_drop: false }`
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking ansi_term v0.6.3
[INFO] [stderr]     Checking strsim v0.4.1
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking adapton v0.3.31
[INFO] [stderr]     Checking clap v1.3.2
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking adapton-lab v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/labdef.rs:42:14
[INFO] [stdout]    |
[INFO] [stdout] 42 |   fn compute(Input) -> Output;
[INFO] [stdout]    |              ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Input`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/labdef.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 |   fn compute(Input, usize) -> Output;
[INFO] [stdout]    |              ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Input`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/labdef.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |   fn compute(Input, usize) -> Output;
[INFO] [stdout]    |                     ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/labviz.rs:498:3
[INFO] [stdout]     |
[INFO] [stdout] 498 |   /// We style this with clear:both, and without any appearance
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 499 |   writeln!(writer, "<hr/>").unwrap();
[INFO] [stdout]     |   ---------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/labviz.rs:586:3
[INFO] [stdout]     |
[INFO] [stdout] 586 |   ;
[INFO] [stdout]     |   ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/labdef.rs:42:14
[INFO] [stdout]    |
[INFO] [stdout] 42 |   fn compute(Input) -> Output;
[INFO] [stdout]    |              ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Input`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/labdef.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 |   fn compute(Input, usize) -> Output;
[INFO] [stdout]    |              ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Input`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/labdef.rs:47:21
[INFO] [stdout]    |
[INFO] [stdout] 47 |   fn compute(Input, usize) -> Output;
[INFO] [stdout]    |                     ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/labviz.rs:498:3
[INFO] [stdout]     |
[INFO] [stdout] 498 |   /// We style this with clear:both, and without any appearance
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 499 |   writeln!(writer, "<hr/>").unwrap();
[INFO] [stdout]     |   ---------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/labviz.rs:586:3
[INFO] [stdout]     |
[INFO] [stdout] 586 |   ;
[INFO] [stdout]     |   ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:502:56
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub fn write_lab_name<W:Write>(writer:&mut W, lab:&Box<Lab>, is_title:bool) {
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub fn write_lab_name<W:Write>(writer:&mut W, lab:&Box<dyn Lab>, is_title:bool) {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:546:14
[INFO] [stdout]     |
[INFO] [stdout] 546 |    _lab:&Box<Lab>, 
[INFO] [stdout]     |              ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 546 |    _lab:&Box<dyn Lab>, 
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:464:18
[INFO] [stdout]     |
[INFO] [stdout] 464 |    labs:&Vec<Box<Lab>>, 
[INFO] [stdout]     |                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 464 |    labs:&Vec<Box<dyn Lab>>, 
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:687:54
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn write_lab_results(params:&LabParams, lab:&Box<Lab>, results:&LabResults) {
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn write_lab_results(params:&LabParams, lab:&Box<dyn Lab>, results:&LabResults) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:502:56
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub fn write_lab_name<W:Write>(writer:&mut W, lab:&Box<Lab>, is_title:bool) {
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub fn write_lab_name<W:Write>(writer:&mut W, lab:&Box<dyn Lab>, is_title:bool) {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:546:14
[INFO] [stdout]     |
[INFO] [stdout] 546 |    _lab:&Box<Lab>, 
[INFO] [stdout]     |              ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 546 |    _lab:&Box<dyn Lab>, 
[INFO] [stdout]     |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:464:18
[INFO] [stdout]     |
[INFO] [stdout] 464 |    labs:&Vec<Box<Lab>>, 
[INFO] [stdout]     |                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 464 |    labs:&Vec<Box<dyn Lab>>, 
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/labviz.rs:687:54
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn write_lab_results(params:&LabParams, lab:&Box<Lab>, results:&LabResults) {
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 687 | pub fn write_lab_results(params:&LabParams, lab:&Box<dyn Lab>, results:&LabResults) {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:359:46
[INFO] [stdout]     |
[INFO] [stdout] 359 |           trace::Effect::Force(_) if tr.edge.succ.is_dup         => "tr-force-dup",
[INFO] [stdout]     |                                              ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:359:46
[INFO] [stdout]     |
[INFO] [stdout] 359 |           trace::Effect::Force(_) if tr.edge.succ.is_dup         => "tr-force-dup",
[INFO] [stdout]     |                                              ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:379:52
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 trace::Effect::Force(_) if tr.edge.succ.is_dup         => "ForceDup",
[INFO] [stdout]     |                                                    ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:379:52
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 trace::Effect::Force(_) if tr.edge.succ.is_dup         => "ForceDup",
[INFO] [stdout]     |                                                    ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `loc` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:401:45
[INFO] [stdout]     |
[INFO] [stdout] 401 |           match (tr.effect.clone(), tr.edge.loc.clone()) {            
[INFO] [stdout]     |                                             ^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `loc` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:401:45
[INFO] [stdout]     |
[INFO] [stdout] 401 |           match (tr.effect.clone(), tr.edge.loc.clone()) {            
[INFO] [stdout]     |                                             ^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/labviz.rs:404:30
[INFO] [stdout]     |
[INFO] [stdout] 404 |             _ => div_of_edge(&tr.edge)
[INFO] [stdout]     |                  ----------- ^^^^^^^^ expected `&Edge`, found `&EffectEdge`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Edge`
[INFO] [stdout]                found reference `&EffectEdge`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/labviz.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn div_of_edge (e:&trace::Edge) -> Div {
[INFO] [stdout]     |        ^^^^^^^^^^^  --------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/labviz.rs:404:30
[INFO] [stdout]     |
[INFO] [stdout] 404 |             _ => div_of_edge(&tr.edge)
[INFO] [stdout]     |                  ----------- ^^^^^^^^ expected `&Edge`, found `&EffectEdge`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&Edge`
[INFO] [stdout]                found reference `&EffectEdge`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/labviz.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn div_of_edge (e:&trace::Edge) -> Div {
[INFO] [stdout]     |        ^^^^^^^^^^^  --------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:522:53
[INFO] [stdout]     |
[INFO] [stdout] 522 |   let succs : Vec<_> = traces.iter().map(|t| t.edge.succ.clone()).collect();
[INFO] [stdout]     |                                                     ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:522:53
[INFO] [stdout]     |
[INFO] [stdout] 522 |   let succs : Vec<_> = traces.iter().map(|t| t.edge.succ.clone()).collect();
[INFO] [stdout]     |                                                     ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:531:16
[INFO] [stdout]     |
[INFO] [stdout] 531 |     if tr.edge.succ.effect == effect {
[INFO] [stdout]     |                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:531:16
[INFO] [stdout]     |
[INFO] [stdout] 531 |     if tr.edge.succ.effect == effect {
[INFO] [stdout]     |                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:534:64
[INFO] [stdout]     |
[INFO] [stdout] 534 |           div_of_alloc_tree(dcg, &mut HashMap::new(), &tr.edge.succ.loc)
[INFO] [stdout]     |                                                                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:534:64
[INFO] [stdout]     |
[INFO] [stdout] 534 |           div_of_alloc_tree(dcg, &mut HashMap::new(), &tr.edge.succ.loc)
[INFO] [stdout]     |                                                                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:537:64
[INFO] [stdout]     |
[INFO] [stdout] 537 |           div_of_force_tree(dcg,&mut HashMap::new(),  &tr.edge.succ.loc)
[INFO] [stdout]     |                                                                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `succ` on type `EffectEdge`
[INFO] [stdout]    --> src/labviz.rs:537:64
[INFO] [stdout]     |
[INFO] [stdout] 537 |           div_of_force_tree(dcg,&mut HashMap::new(),  &tr.edge.succ.loc)
[INFO] [stdout]     |                                                                ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors; 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors; 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `adapton-lab` (lib test) due to 9 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `adapton-lab` (lib) due to 9 previous errors; 9 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "3c85a7ff9a51835e5c7ce3cb195311cdb38122ed6d624736678ef44e4d345641", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c85a7ff9a51835e5c7ce3cb195311cdb38122ed6d624736678ef44e4d345641", kill_on_drop: false }`
[INFO] [stdout] 3c85a7ff9a51835e5c7ce3cb195311cdb38122ed6d624736678ef44e4d345641
