[INFO] cloning repository https://github.com/ahwatts/graphplay2-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ahwatts/graphplay2-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fahwatts%2Fgraphplay2-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fahwatts%2Fgraphplay2-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6d968b9013554384669df1b29f4fefe393ebc171
[INFO] testing ahwatts/graphplay2-rs against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fahwatts%2Fgraphplay2-rs" "/workspace/builds/worker-10/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ahwatts/graphplay2-rs on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ahwatts/graphplay2-rs
[INFO] finished tweaking git repo https://github.com/ahwatts/graphplay2-rs
[INFO] tweaked toml for git repo https://github.com/ahwatts/graphplay2-rs written to /workspace/builds/worker-10/source/Cargo.toml
[INFO] crate git repo https://github.com/ahwatts/graphplay2-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e81eda9f34257061422964827f30809533145c35f107d8f65804472eebaaf91c
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "e81eda9f34257061422964827f30809533145c35f107d8f65804472eebaaf91c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e81eda9f34257061422964827f30809533145c35f107d8f65804472eebaaf91c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e81eda9f34257061422964827f30809533145c35f107d8f65804472eebaaf91c", kill_on_drop: false }`
[INFO] [stdout] e81eda9f34257061422964827f30809533145c35f107d8f65804472eebaaf91c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e6180dc2309bfec053d5b60d05364f442078173d255dd7a617cb842d8859ad99
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "e6180dc2309bfec053d5b60d05364f442078173d255dd7a617cb842d8859ad99", kill_on_drop: false }`
[INFO] [stderr]    Compiling phf_shared v0.7.20
[INFO] [stderr]    Compiling serde v0.8.21
[INFO] [stderr]    Compiling khronos_api v1.0.0
[INFO] [stderr]    Compiling gcc v0.3.41
[INFO] [stderr]    Compiling crossbeam v0.2.10
[INFO] [stderr]    Compiling backtrace v0.2.3
[INFO] [stderr]    Compiling rustc-demangle v0.1.3
[INFO] [stderr]    Compiling smallvec v0.1.8
[INFO] [stderr]    Compiling byteorder v1.0.0
[INFO] [stderr]    Compiling xml-rs v0.3.5
[INFO] [stderr]    Compiling dbghelp-sys v0.2.0
[INFO] [stderr]    Compiling shared_library v0.1.5
[INFO] [stderr]    Compiling x11-dl v2.12.0
[INFO] [stderr]    Compiling num-complex v0.1.35
[INFO] [stderr]    Compiling tempfile v2.1.4
[INFO] [stderr]    Compiling num-bigint v0.1.35
[INFO] [stderr]    Compiling phf_generator v0.7.20
[INFO] [stderr]    Compiling phf v0.7.20
[INFO] [stderr]    Compiling fs2 v0.2.5
[INFO] [stderr]    Compiling phf_codegen v0.7.20
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling memmap v0.2.3
[INFO] [stderr]    Compiling target_build_utils v0.1.2
[INFO] [stderr]    Compiling num-rational v0.1.35
[INFO] [stderr]    Compiling backtrace-sys v0.1.5
[INFO] [stderr]    Compiling num v0.1.36
[INFO] [stderr]    Compiling wayland-scanner v0.5.11
[INFO] [stderr]    Compiling gl_generator v0.5.2
[INFO] [stderr]    Compiling nalgebra v0.10.1
[INFO] [stderr]    Compiling wayland-client v0.5.12
[INFO] [stderr]    Compiling glutin v0.6.2
[INFO] [stderr]    Compiling glium v0.15.0
[INFO] [stderr]    Compiling serde_json v0.8.4
[INFO] [stderr]    Compiling libloading v0.3.1
[INFO] [stderr]    Compiling dlib v0.3.1
[INFO] [stderr]    Compiling wayland-sys v0.5.11
[INFO] [stderr]    Compiling wayland-kbd v0.3.6
[INFO] [stderr]    Compiling wayland-window v0.2.3
[INFO] [stderr]    Compiling graphplay2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:116:20
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let file = try!(File::open(filename));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         try!(file.read_line(&mut magic));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:136:24
[INFO] [stdout]     |
[INFO] [stdout] 136 |             let line = try!(line_result);
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:139:20
[INFO] [stdout]     |
[INFO] [stdout] 139 |             match *try!(tokens.get(0).ok_or(other_io_error(&format!("No tokens on line?! (line = {:?})", line)))) {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:140:43
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 "format" => { rv.format = try!(parse_format(&tokens)); },
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:141:49
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 "comment" => { rv.comments.push(try!(parse_comment(&tokens))); },
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:142:49
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 "element" => { rv.elements.push(try!(parse_element(&tokens))); },
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:145:35
[INFO] [stdout]     |
[INFO] [stdout] 145 | ...   let element = try!(elements.last_mut().ok_or(other_io_error(("Tried to add a property but there's no current element"))));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:146:42
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     element.add_property(try!(parse_property(&tokens)));
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:155:34
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 Format::Ascii => try!(read_ascii_element(elt, &mut file)),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:156:81
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 f @ Format::BinaryLittleEndian | f @ Format::BinaryBigEndian => try!(read_binary_element(elt, f, &mut file)),
[INFO] [stdout]     |                                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:261:28
[INFO] [stdout]     |
[INFO] [stdout] 261 |                 let ival = try!(
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:267:28
[INFO] [stdout]     |
[INFO] [stdout] 267 |                 let fval = try!(
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:283:21
[INFO] [stdout]     |
[INFO] [stdout] 283 |                     try!(list.push_ascii_scalar_value(v));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:290:21
[INFO] [stdout]     |
[INFO] [stdout] 290 |                     try!(list.push_ascii_scalar_value(v));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:336:23
[INFO] [stdout]     |
[INFO] [stdout] 336 |     Format::from_str(*try!(toks.get(1).ok_or(other_io_error("Not enough tokens for ply format"))))
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:350:17
[INFO] [stdout]     |
[INFO] [stdout] 350 |     let name = *try!(toks.get(1).ok_or(other_io_error("Not enough tokens for ply element name")));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |     let count_str = *try!(toks.get(2).ok_or(other_io_error("Not enough tokens for ply element count")));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:352:17
[INFO] [stdout]     |
[INFO] [stdout] 352 |     let count = try!(i32::from_str_radix(count_str, 10).map_err(|e| other_io_error(&format!("Could not parse ply element count from {:?}:...
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:362:22
[INFO] [stdout]     |
[INFO] [stdout] 362 |     let prop_type = *try!(toks.get(1).ok_or(other_io_error("Not enough tokens for ply property type")));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:365:31
[INFO] [stdout]     |
[INFO] [stdout] 365 |         let count_type_str = *try!(toks.get(2).ok_or(other_io_error("Not enough tokens for ply list property count type")));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:366:31
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let value_type_str = *try!(toks.get(3).ok_or(other_io_error("Not enough tokens for ply list property value type")));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:367:21
[INFO] [stdout]     |
[INFO] [stdout] 367 |         let name = *try!(toks.get(4).ok_or(other_io_error("Not enough tokens for ply list property name")));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:369:26
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let count_type = try!(DataType::from_str(count_type_str));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:370:26
[INFO] [stdout]     |
[INFO] [stdout] 370 |         let value_type = try!(DataType::from_str(value_type_str));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:382:21
[INFO] [stdout]     |
[INFO] [stdout] 382 |         let name = *try!(toks.get(2).ok_or(other_io_error("Not enough tokens for ply property name")));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:383:26
[INFO] [stdout]     |
[INFO] [stdout] 383 |         let value_type = try!(DataType::from_str(prop_type));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:399:20
[INFO] [stdout]     |
[INFO] [stdout] 399 |         let line = try!(line_result);
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:404:33
[INFO] [stdout]     |
[INFO] [stdout] 404 |                 let count_str = try!(toks.next().ok_or(other_io_error("Not enough tokens for ply list property count")));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:405:29
[INFO] [stdout]     |
[INFO] [stdout] 405 |                 let count = try!{
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:413:37
[INFO] [stdout]     |
[INFO] [stdout] 413 |                     value_toks.push(try!(toks.next().ok_or(other_io_error("Not enough tokens for ply list property value"))));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:416:17
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 try!(property.data.push_ascii_list_value(&value_toks).map_err(|s| other_io_error(&s)))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:418:33
[INFO] [stdout]     |
[INFO] [stdout] 418 |                 let value_str = try!(toks.next().ok_or(other_io_error("Not enough tokens for ply scalar property value")));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:419:17
[INFO] [stdout]     |
[INFO] [stdout] 419 |                 try!(property.data.push_ascii_scalar_value(value_str).map_err(|s| other_io_error(&s)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:434:29
[INFO] [stdout]     |
[INFO] [stdout] 434 |                 let count = try!(count_type.read_int(file, &format));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:446:40
[INFO] [stdout]     |
[INFO] [stdout] 446 | ...                   let ival = try!(value_type.read_int(file, &format));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:450:40
[INFO] [stdout]     |
[INFO] [stdout] 450 | ...                   let fval = try!(value_type.read_float(file, &format));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:465:33
[INFO] [stdout]     |
[INFO] [stdout] 465 |                     let value = try!(value_type.read_int(file, &format));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ply.rs:471:33
[INFO] [stdout]     |
[INFO] [stdout] 471 |                     let value = try!(value_type.read_float(file, &format));
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/physics/body.rs:29:21
[INFO] [stdout]    |
[INFO] [stdout] 29 |     integrator: Box<Integrator<Phase, f32>>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Integrator<Phase, f32>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/physics/body.rs:58:47
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn add_constraint(&mut self, calc: Rc<ConstraintCalc>, other: Body) {
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ConstraintCalc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/physics/constraint.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub calc: Rc<ConstraintCalc>,
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ConstraintCalc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/physics/integrator.rs:42:58
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn step(&self, dep: X, indep: T, step: T, equation: &FirstOrderODE<X, T>) -> X;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FirstOrderODE<X, T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/physics/integrator.rs:46:27
[INFO] [stdout]    |
[INFO] [stdout] 46 |     where F: Fn(X, T, T, &FirstOrderODE<X, T>) -> X,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FirstOrderODE<X, T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/physics/integrator.rs:49:58
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn step(&self, dep: X, indep: T, step: T, equation: &FirstOrderODE<X, T>) -> X {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FirstOrderODE<X, T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/physics/integrator.rs:55:52
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn euler<X, T>(x0: X, t0: T, dt: T, equation: &FirstOrderODE<X, T>) -> X
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FirstOrderODE<X, T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/physics/integrator.rs:64:49
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn rk4<X, T>(x0: X, t0: T, h: T, equation: &FirstOrderODE<X, T>) -> X
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FirstOrderODE<X, T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/ply.rs:145:81
[INFO] [stdout]     |
[INFO] [stdout] 145 | ....ok_or(other_io_error(("Tried to add a property but there's no current element"))));
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/scene.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     objects: Vec<Rc<RefCell<SceneObject>>>,
[INFO] [stdout]    |                             ^^^^^^^^^^^ help: use `dyn`: `dyn SceneObject`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/shaders/mod.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | implement_uniform_block!(ViewAndProjectionBlock, view, view_inv, projection);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/shaders/mod.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | implement_uniform_block!(LightProperties, position, specular_exp, color, enabled);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/shaders/mod.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | implement_uniform_block!(LightListBlock, lights);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit code: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-Wl,--eh-frame-hdr" "-L" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.graphplay2.a0b9qf83-cgu.9.rcgu.o" "-o" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89" "/opt/rustwide/target/debug/deps/graphplay2-2949a64da2083e89.frpqfo1nko20b2z.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libglium-2a401dc3e38ef946.rlib" "/opt/rustwide/target/debug/deps/libglutin-845b14f09fa87453.rlib" "/opt/rustwide/target/debug/deps/libwayland_window-9b5387d7e46787b4.rlib" "/opt/rustwide/target/debug/deps/libtempfile-c58e95b6df534835.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-e9641ac4997e4e91.rlib" "/opt/rustwide/target/debug/deps/libwayland_kbd-89305171d4f1fff7.rlib" "/opt/rustwide/target/debug/deps/libmemmap-c91bbc14bac11bc0.rlib" "/opt/rustwide/target/debug/deps/libosmesa_sys-f6e25d02bf256109.rlib" "/opt/rustwide/target/debug/deps/libwayland_client-9a3c5bf75683672a.rlib" "/opt/rustwide/target/debug/deps/libwayland_sys-4ec6b9443fbaa58c.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-dc50001efa6d6ff9.rlib" "/opt/rustwide/target/debug/deps/libdlib-eaa4a1ade39ddd87.rlib" "/opt/rustwide/target/debug/deps/liblibloading-df9576b6feaa9a41.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam-c2857daa65d46166.rlib" "/opt/rustwide/target/debug/deps/libbitflags-032ea61c97bf3967.rlib" "/opt/rustwide/target/debug/deps/libx11_dl-1e8567198a46cad1.rlib" "/opt/rustwide/target/debug/deps/libshared_library-73756c8f73491164.rlib" "/opt/rustwide/target/debug/deps/libsmallvec-4816cea49ec779f5.rlib" "/opt/rustwide/target/debug/deps/libbacktrace-0913b9b302a2bba2.rlib" "/opt/rustwide/target/debug/deps/libbacktrace_sys-605d059251a3fa94.rlib" "/opt/rustwide/target/debug/deps/librustc_demangle-1f54c49f5be732f2.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-d6fcb4c35c06a007.rlib" "/opt/rustwide/target/debug/deps/libdbghelp-720313caad178130.rlib" "/opt/rustwide/target/debug/deps/libwinapi-2b3c8de3012066b8.rlib" "/opt/rustwide/target/debug/deps/libkernel32-7b1b1e9c00963030.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-e32a991de8bae5fe.rlib" "/opt/rustwide/target/debug/deps/libnalgebra-d69d6856798ecdc3.rlib" "/opt/rustwide/target/debug/deps/libnum-8536ea2a4f6d5a3d.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-6e848f785f30584b.rlib" "/opt/rustwide/target/debug/deps/libnum_bigint-343a40440285ca14.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-947fca03e3bd83d7.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-64356a8e767c7920.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-53f378d69f2192f6.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-68c0603f54582ee3.rlib" "/opt/rustwide/target/debug/deps/librand-cf834a08e6b84d06.rlib" "/opt/rustwide/target/debug/deps/liblibc-19f84d5612491181.rlib" "/opt/rustwide/target/debug/deps/librustc_serialize-082c5bea4c3eafb1.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-ad5369429071110b.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-f14aca24435a5414.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-48d342a8b48d1d01.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-14bc0820888c8eb3.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-9cbd9e217bff06bc.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-31826136df98934e.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-075976a117c8fd5d.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-2d5cbedfbf17a011.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-0474372ff08c5319.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-d437c34460d2315a.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-fb61ed1b8cc4de79.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-bf76d1b643bfc9f0.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-a1b53aa7fddcf418.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-28585e57fac45c73.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-64801769bc15ab28.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-541997b56bb98660.rlib" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-cdea3c81adab3d12.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.47.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-cd9f15a39fb65cbc.rlib" "-Wl,-Bdynamic" "-ldl" "-ldl" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-ldl" "-lutil"
[INFO] [stdout]   = note: /usr/bin/ld: /opt/rustwide/target/debug/deps/libbacktrace-0913b9b302a2bba2.rlib(backtrace-0913b9b302a2bba2.backtrace.3pjilstj-cgu.12.rcgu.o): in function `backtrace::symbolize::libbacktrace::init_state::{{closure}}':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/backtrace-0.2.3/src/symbolize/libbacktrace.rs:150: undefined reference to `backtrace_create_state'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/target/debug/deps/libbacktrace-0913b9b302a2bba2.rlib(backtrace-0913b9b302a2bba2.backtrace.3pjilstj-cgu.12.rcgu.o): in function `backtrace::symbolize::libbacktrace::resolve':
[INFO] [stdout]           /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/backtrace-0.2.3/src/symbolize/libbacktrace.rs:167: undefined reference to `backtrace_pcinfo'
[INFO] [stdout]           /usr/bin/ld: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/backtrace-0.2.3/src/symbolize/libbacktrace.rs:171: undefined reference to `backtrace_syminfo'
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 52 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `graphplay2`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "e6180dc2309bfec053d5b60d05364f442078173d255dd7a617cb842d8859ad99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6180dc2309bfec053d5b60d05364f442078173d255dd7a617cb842d8859ad99", kill_on_drop: false }`
[INFO] [stdout] e6180dc2309bfec053d5b60d05364f442078173d255dd7a617cb842d8859ad99
