[INFO] cloning repository https://github.com/calebmer/accelerate
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/calebmer/accelerate" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcalebmer%2Faccelerate", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcalebmer%2Faccelerate'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 31cbc3ab75f0bd4e3b7c623df5d8ad0732f35fcd
[INFO] checking calebmer/accelerate against master#cb06d12710575a0d7ff71d6fe108f3bcff4f9195 for pr-128425-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcalebmer%2Faccelerate" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/calebmer/accelerate on toolchain cb06d12710575a0d7ff71d6fe108f3bcff4f9195
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cb06d12710575a0d7ff71d6fe108f3bcff4f9195" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/calebmer/accelerate
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/calebmer/accelerate
[INFO] tweaked toml for git repo https://github.com/calebmer/accelerate written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/calebmer/accelerate 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" "+cb06d12710575a0d7ff71d6fe108f3bcff4f9195" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * tests/integration.rs
[INFO] [stderr] * tests/support.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded phf v0.7.14
[INFO] [stderr]   Downloaded phf_shared v0.7.14
[INFO] [stderr]   Downloaded strsim v0.4.1
[INFO] [stderr]   Downloaded unicode-width v0.1.3
[INFO] [stderr]   Downloaded ansi_term v0.7.2
[INFO] [stderr]   Downloaded net2 v0.2.23
[INFO] [stderr]   Downloaded clap v2.5.2
[INFO] [stderr]   Downloaded regex-syntax v0.3.3
[INFO] [stderr]   Downloaded regex v0.1.71
[INFO] [stderr]   Downloaded postgres v0.11.8
[INFO] [stderr]   Downloaded colored v1.2.0
[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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+cb06d12710575a0d7ff71d6fe108f3bcff4f9195" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7b476b0092ca9f7abbc503c4d88e425cecd6bad6ec4b4c47ed2c9d0d452e5265
[INFO] running `Command { std: "docker" "start" "-a" "7b476b0092ca9f7abbc503c4d88e425cecd6bad6ec4b4c47ed2c9d0d452e5265", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b476b0092ca9f7abbc503c4d88e425cecd6bad6ec4b4c47ed2c9d0d452e5265", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b476b0092ca9f7abbc503c4d88e425cecd6bad6ec4b4c47ed2c9d0d452e5265", kill_on_drop: false }`
[INFO] [stdout] 7b476b0092ca9f7abbc503c4d88e425cecd6bad6ec4b4c47ed2c9d0d452e5265
[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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+cb06d12710575a0d7ff71d6fe108f3bcff4f9195" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 407603a041bf0ca41cc19ac0c91f81e3d367e02805f5c18b10bc5f7c9b45ccfd
[INFO] running `Command { std: "docker" "start" "-a" "407603a041bf0ca41cc19ac0c91f81e3d367e02805f5c18b10bc5f7c9b45ccfd", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * tests/integration.rs
[INFO] [stderr] * tests/support.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]     Checking libc v0.2.11
[INFO] [stderr]     Checking winapi v0.2.7
[INFO] [stderr]     Checking cfg-if v0.1.0
[INFO] [stderr]     Checking phf_shared v0.7.14
[INFO] [stderr]     Checking log v0.3.6
[INFO] [stderr]     Checking regex-syntax v0.3.3
[INFO] [stderr]     Checking hex v0.2.0
[INFO] [stderr]     Checking byteorder v0.5.3
[INFO] [stderr]     Checking unicode-width v0.1.3
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]     Checking ansi_term v0.7.2
[INFO] [stderr]     Checking vec_map v0.6.0
[INFO] [stderr]     Checking bitflags v0.5.0
[INFO] [stderr]     Checking lazy_static v0.1.16
[INFO] [stderr]     Checking bufstream v0.1.2
[INFO] [stderr]     Checking strsim v0.4.1
[INFO] [stderr]     Checking colored v1.2.0
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling ws2_32-sys v0.2.1
[INFO] [stderr]     Checking phf v0.7.14
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]     Checking net2 v0.2.23
[INFO] [stderr]     Checking clap v2.5.2
[INFO] [stderr]     Checking aho-corasick v0.5.2
[INFO] [stderr]     Checking thread_local v0.2.6
[INFO] [stderr]     Checking postgres v0.11.8
[INFO] [stderr]     Checking regex v0.1.71
[INFO] [stderr]     Checking accelerate v2.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     try!(write!(f, "{}", parent_display));
[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/motions.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     try!(write!(f, "{}", self.name));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:24:31
[INFO] [stdout]    |
[INFO] [stdout] 24 |     if parent_display != "" { try!(write!(f, "/")); }
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |   let template = try!(find_template(dir));
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |   let motions = try!(find_motions(&template, dir));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:44:15
[INFO] [stdout]    |
[INFO] [stdout] 44 |   let paths = try!(find_paths(dir.to_path_buf(), 1));
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:52:18
[INFO] [stdout]    |
[INFO] [stdout] 52 |   let add_path = try!(
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |   let sub_path = try!(
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:86:15
[INFO] [stdout]    |
[INFO] [stdout] 86 |   let paths = try!(find_paths(dir.to_path_buf(), 100));
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:110:32
[INFO] [stdout]     |
[INFO] [stdout] 110 |       let &(ref sub_path, _) = try!(
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:135:6
[INFO] [stdout]     |
[INFO] [stdout] 135 |   if try!(fs::metadata(&path)).is_dir() {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |     for entry in try!(fs::read_dir(&path)) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:146:28
[INFO] [stdout]     |
[INFO] [stdout] 146 |       let mut next_paths = try!(find_paths(try!(entry).path(), recurse - 1));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:146:44
[INFO] [stdout]     |
[INFO] [stdout] 146 |       let mut next_paths = try!(find_paths(try!(entry).path(), recurse - 1));
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:176:3
[INFO] [stdout]     |
[INFO] [stdout] 176 |   try!(copy_file(&template.add_path, &add_path));
[INFO] [stdout]     |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:178:3
[INFO] [stdout]     |
[INFO] [stdout] 178 |   try!(copy_file(&template.sub_path, &sub_path));
[INFO] [stdout]     |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:163:18
[INFO] [stdout]     |
[INFO] [stdout] 163 |   let template = try!(find_template(dir));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:201:3
[INFO] [stdout]     |
[INFO] [stdout] 201 |   try!(in_file.read_to_string(&mut contents));
[INFO] [stdout]     |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:207:3
[INFO] [stdout]     |
[INFO] [stdout] 207 |   try!(out_file.write_all(contents.as_bytes()));
[INFO] [stdout]     |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:198:21
[INFO] [stdout]     |
[INFO] [stdout] 198 |   let mut in_file = try!(File::open(in_path));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:203:45
[INFO] [stdout]     |
[INFO] [stdout] 203 |   if let Some(parent) = out_path.parent() { try!(fs::create_dir_all(parent)); }
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:205:22
[INFO] [stdout]     |
[INFO] [stdout] 205 |   let mut out_file = try!(File::create(out_path));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let records = try!(driver.get_records());
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let state = try!(diff_motions(records, motions));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         try!(file.read_to_string(&mut transaction));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         try!(self.driver.execute(transaction));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         try!(self.driver.add_record(&motion.name));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:38:24
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut file = try!(File::open(&motion.add_path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         try!(file.read_to_string(&mut transaction));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         try!(self.driver.execute(transaction));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         try!(self.driver.sub_record(&motion.name));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let mut file = try!(File::open(&motion.sub_path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     try!(connection.execute(CREATE_SCHEMA_QUERY, &[]));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     try!(connection.execute(CREATE_TABLE_QUERY, &[]));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let connection = try!(Connection::connect(conn_string, SslMode::None));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Ok(try!(self.connection.query(GET_RECORDS_QUERY, &[])).iter().map(|row| row.get(0)).collect())
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let rows_updated = try!(self.connection.execute(ADD_RECORD_QUERY, &[&record]));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:51:24
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let rows_updated = try!(self.connection.execute(SUB_RECORD_QUERY, &[&record]));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     try!(self.connection.batch_execute(&query));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/mod.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |     "postgres" => Ok(Box::new(try!(postgres::PostgresDriver::connect(conn_str)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/mod.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |       Ok(Box::new(try!(postgres::PostgresDriver::connect(conn_str)))),
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:169:20
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let database = try!(database.ok_or(error!("A database connection string is required and none was found in either the command line arg...
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:173:41
[INFO] [stdout]     |
[INFO] [stdout] 173 |   let accelerator = || Accelerator::new(try!(driver()), try!(motions()));
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:173:57
[INFO] [stdout]     |
[INFO] [stdout] 173 |   let accelerator = || Accelerator::new(try!(driver()), try!(motions()));
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:177:21
[INFO] [stdout]     |
[INFO] [stdout] 177 |       for motion in try!(motions()) {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:182:20
[INFO] [stdout]     |
[INFO] [stdout] 182 |       let driver = try!(driver());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |       let records = try!(driver.get_records());
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:184:21
[INFO] [stdout]     |
[INFO] [stdout] 184 |       for motion in try!(motions()) {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:193:7
[INFO] [stdout]     |
[INFO] [stdout] 193 |       try!(motions::create(&directory(), matches.value_of("name").unwrap()));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:198:7
[INFO] [stdout]     |
[INFO] [stdout] 198 |       try!(accelerator.add(n));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:196:29
[INFO] [stdout]     |
[INFO] [stdout] 196 |       let mut accelerator = try!(accelerator());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |       let n = try!(matches.value_of("n").unwrap_or("1").parse::<usize>());
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:204:7
[INFO] [stdout]     |
[INFO] [stdout] 204 |       try!(accelerator.sub(n));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:201:26
[INFO] [stdout]     |
[INFO] [stdout] 201 |       if !auto_confirm { try!(confirm()); }
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:202:29
[INFO] [stdout]     |
[INFO] [stdout] 202 |       let mut accelerator = try!(accelerator());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:203:15
[INFO] [stdout]     |
[INFO] [stdout] 203 |       let n = try!(matches.value_of("n").unwrap_or("1").parse::<usize>());
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:208:7
[INFO] [stdout]     |
[INFO] [stdout] 208 |       try!(accelerator.add(usize::max_value()));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:207:29
[INFO] [stdout]     |
[INFO] [stdout] 207 |       let mut accelerator = try!(accelerator());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:213:7
[INFO] [stdout]     |
[INFO] [stdout] 213 |       try!(accelerator.sub(usize::max_value()));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:211:26
[INFO] [stdout]     |
[INFO] [stdout] 211 |       if !auto_confirm { try!(confirm()); }
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:212:29
[INFO] [stdout]     |
[INFO] [stdout] 212 |       let mut accelerator = try!(accelerator());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:218:7
[INFO] [stdout]     |
[INFO] [stdout] 218 |       try!(accelerator.sub(1));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:219:7
[INFO] [stdout]     |
[INFO] [stdout] 219 |       try!(accelerator.add(1));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:216:26
[INFO] [stdout]     |
[INFO] [stdout] 216 |       if !auto_confirm { try!(confirm()); }
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:217:29
[INFO] [stdout]     |
[INFO] [stdout] 217 |       let mut accelerator = try!(accelerator());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:225:7
[INFO] [stdout]     |
[INFO] [stdout] 225 |       try!(accelerator.sub(usize::max_value()));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:226:7
[INFO] [stdout]     |
[INFO] [stdout] 226 |       try!(accelerator.add(applied));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:222:26
[INFO] [stdout]     |
[INFO] [stdout] 222 |       if !auto_confirm { try!(confirm()); }
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:223:29
[INFO] [stdout]     |
[INFO] [stdout] 223 |       let mut accelerator = try!(accelerator());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:240:3
[INFO] [stdout]     |
[INFO] [stdout] 240 |   try!(stdin.lock().read_line(&mut line));
[INFO] [stdout]     |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/error.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type Error = Box<error::Error>;
[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 a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type Error = Box<dyn error::Error>;
[INFO] [stdout]   |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/accelerator.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |   driver: Box<Driver>,
[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 a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |   driver: Box<dyn Driver>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     try!(write!(f, "{}", parent_display));
[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/motions.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     try!(write!(f, "{}", self.name));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:24:31
[INFO] [stdout]    |
[INFO] [stdout] 24 |     if parent_display != "" { try!(write!(f, "/")); }
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |   let template = try!(find_template(dir));
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |   let motions = try!(find_motions(&template, dir));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:44:15
[INFO] [stdout]    |
[INFO] [stdout] 44 |   let paths = try!(find_paths(dir.to_path_buf(), 1));
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:52:18
[INFO] [stdout]    |
[INFO] [stdout] 52 |   let add_path = try!(
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 |   let sub_path = try!(
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/motions.rs:86:15
[INFO] [stdout]    |
[INFO] [stdout] 86 |   let paths = try!(find_paths(dir.to_path_buf(), 100));
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:110:32
[INFO] [stdout]     |
[INFO] [stdout] 110 |       let &(ref sub_path, _) = try!(
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:135:6
[INFO] [stdout]     |
[INFO] [stdout] 135 |   if try!(fs::metadata(&path)).is_dir() {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |     for entry in try!(fs::read_dir(&path)) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:146:28
[INFO] [stdout]     |
[INFO] [stdout] 146 |       let mut next_paths = try!(find_paths(try!(entry).path(), recurse - 1));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:146:44
[INFO] [stdout]     |
[INFO] [stdout] 146 |       let mut next_paths = try!(find_paths(try!(entry).path(), recurse - 1));
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:176:3
[INFO] [stdout]     |
[INFO] [stdout] 176 |   try!(copy_file(&template.add_path, &add_path));
[INFO] [stdout]     |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:178:3
[INFO] [stdout]     |
[INFO] [stdout] 178 |   try!(copy_file(&template.sub_path, &sub_path));
[INFO] [stdout]     |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:163:18
[INFO] [stdout]     |
[INFO] [stdout] 163 |   let template = try!(find_template(dir));
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:201:3
[INFO] [stdout]     |
[INFO] [stdout] 201 |   try!(in_file.read_to_string(&mut contents));
[INFO] [stdout]     |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:207:3
[INFO] [stdout]     |
[INFO] [stdout] 207 |   try!(out_file.write_all(contents.as_bytes()));
[INFO] [stdout]     |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:198:21
[INFO] [stdout]     |
[INFO] [stdout] 198 |   let mut in_file = try!(File::open(in_path));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:203:45
[INFO] [stdout]     |
[INFO] [stdout] 203 |   if let Some(parent) = out_path.parent() { try!(fs::create_dir_all(parent)); }
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/motions.rs:205:22
[INFO] [stdout]     |
[INFO] [stdout] 205 |   let mut out_file = try!(File::create(out_path));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let records = try!(driver.get_records());
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let state = try!(diff_motions(records, motions));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         try!(file.read_to_string(&mut transaction));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         try!(self.driver.execute(transaction));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         try!(self.driver.add_record(&motion.name));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:38:24
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut file = try!(File::open(&motion.add_path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         try!(file.read_to_string(&mut transaction));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         try!(self.driver.execute(transaction));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         try!(self.driver.sub_record(&motion.name));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/accelerator.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let mut file = try!(File::open(&motion.sub_path));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/accelerator.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |   pub fn new(driver: Box<Driver>, motions: Vec<Motion>) -> Result<Self, Error> {
[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 a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |   pub fn new(driver: Box<dyn Driver>, motions: Vec<Motion>) -> Result<Self, Error> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/mod.rs:15:69
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn get(driver_name: Option<&str>, conn_str: &str) -> Result<Box<Driver>, Error> {
[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 a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn get(driver_name: Option<&str>, conn_str: &str) -> Result<Box<dyn Driver>, Error> {
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/mod.rs:23:65
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn get_by_name(driver_name: &str, conn_str: &str) -> Result<Box<Driver>, Error> {
[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 a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn get_by_name(driver_name: &str, conn_str: &str) -> Result<Box<dyn Driver>, Error> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/mod.rs:38:50
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn get_by_conn_str(conn_str: &str) -> Result<Box<Driver>, Error> {
[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 a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn get_by_conn_str(conn_str: &str) -> Result<Box<dyn Driver>, Error> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     try!(connection.execute(CREATE_SCHEMA_QUERY, &[]));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     try!(connection.execute(CREATE_TABLE_QUERY, &[]));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let connection = try!(Connection::connect(conn_string, SslMode::None));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Ok(try!(self.connection.query(GET_RECORDS_QUERY, &[])).iter().map(|row| row.get(0)).collect())
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:42:24
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let rows_updated = try!(self.connection.execute(ADD_RECORD_QUERY, &[&record]));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:51:24
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let rows_updated = try!(self.connection.execute(SUB_RECORD_QUERY, &[&record]));
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/postgres.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     try!(self.connection.batch_execute(&query));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/mod.rs:32:31
[INFO] [stdout]    |
[INFO] [stdout] 32 |     "postgres" => Ok(Box::new(try!(postgres::PostgresDriver::connect(conn_str)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/driver/mod.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |       Ok(Box::new(try!(postgres::PostgresDriver::connect(conn_str)))),
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:169:20
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let database = try!(database.ok_or(error!("A database connection string is required and none was found in either the command line arg...
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:173:41
[INFO] [stdout]     |
[INFO] [stdout] 173 |   let accelerator = || Accelerator::new(try!(driver()), try!(motions()));
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:173:57
[INFO] [stdout]     |
[INFO] [stdout] 173 |   let accelerator = || Accelerator::new(try!(driver()), try!(motions()));
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:177:21
[INFO] [stdout]     |
[INFO] [stdout] 177 |       for motion in try!(motions()) {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:182:20
[INFO] [stdout]     |
[INFO] [stdout] 182 |       let driver = try!(driver());
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |       let records = try!(driver.get_records());
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:184:21
[INFO] [stdout]     |
[INFO] [stdout] 184 |       for motion in try!(motions()) {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:193:7
[INFO] [stdout]     |
[INFO] [stdout] 193 |       try!(motions::create(&directory(), matches.value_of("name").unwrap()));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:198:7
[INFO] [stdout]     |
[INFO] [stdout] 198 |       try!(accelerator.add(n));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:196:29
[INFO] [stdout]     |
[INFO] [stdout] 196 |       let mut accelerator = try!(accelerator());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |       let n = try!(matches.value_of("n").unwrap_or("1").parse::<usize>());
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:204:7
[INFO] [stdout]     |
[INFO] [stdout] 204 |       try!(accelerator.sub(n));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:201:26
[INFO] [stdout]     |
[INFO] [stdout] 201 |       if !auto_confirm { try!(confirm()); }
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:202:29
[INFO] [stdout]     |
[INFO] [stdout] 202 |       let mut accelerator = try!(accelerator());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:203:15
[INFO] [stdout]     |
[INFO] [stdout] 203 |       let n = try!(matches.value_of("n").unwrap_or("1").parse::<usize>());
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:208:7
[INFO] [stdout]     |
[INFO] [stdout] 208 |       try!(accelerator.add(usize::max_value()));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:207:29
[INFO] [stdout]     |
[INFO] [stdout] 207 |       let mut accelerator = try!(accelerator());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:213:7
[INFO] [stdout]     |
[INFO] [stdout] 213 |       try!(accelerator.sub(usize::max_value()));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:211:26
[INFO] [stdout]     |
[INFO] [stdout] 211 |       if !auto_confirm { try!(confirm()); }
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:212:29
[INFO] [stdout]     |
[INFO] [stdout] 212 |       let mut accelerator = try!(accelerator());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:218:7
[INFO] [stdout]     |
[INFO] [stdout] 218 |       try!(accelerator.sub(1));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:219:7
[INFO] [stdout]     |
[INFO] [stdout] 219 |       try!(accelerator.add(1));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:216:26
[INFO] [stdout]     |
[INFO] [stdout] 216 |       if !auto_confirm { try!(confirm()); }
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:217:29
[INFO] [stdout]     |
[INFO] [stdout] 217 |       let mut accelerator = try!(accelerator());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:225:7
[INFO] [stdout]     |
[INFO] [stdout] 225 |       try!(accelerator.sub(usize::max_value()));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:226:7
[INFO] [stdout]     |
[INFO] [stdout] 226 |       try!(accelerator.add(applied));
[INFO] [stdout]     |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:222:26
[INFO] [stdout]     |
[INFO] [stdout] 222 |       if !auto_confirm { try!(confirm()); }
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:223:29
[INFO] [stdout]     |
[INFO] [stdout] 223 |       let mut accelerator = try!(accelerator());
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:240:3
[INFO] [stdout]     |
[INFO] [stdout] 240 |   try!(stdin.lock().read_line(&mut line));
[INFO] [stdout]     |   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/error.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type Error = Box<error::Error>;
[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 a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type Error = Box<dyn error::Error>;
[INFO] [stdout]   |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/accelerator.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |   driver: Box<Driver>,
[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 a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |   driver: Box<dyn Driver>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/accelerator.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |   pub fn new(driver: Box<Driver>, motions: Vec<Motion>) -> Result<Self, Error> {
[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 a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |   pub fn new(driver: Box<dyn Driver>, motions: Vec<Motion>) -> Result<Self, Error> {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/mod.rs:15:69
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn get(driver_name: Option<&str>, conn_str: &str) -> Result<Box<Driver>, Error> {
[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 a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn get(driver_name: Option<&str>, conn_str: &str) -> Result<Box<dyn Driver>, Error> {
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/mod.rs:23:65
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn get_by_name(driver_name: &str, conn_str: &str) -> Result<Box<Driver>, Error> {
[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 a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn get_by_name(driver_name: &str, conn_str: &str) -> Result<Box<dyn Driver>, Error> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/driver/mod.rs:38:50
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn get_by_conn_str(conn_str: &str) -> Result<Box<Driver>, Error> {
[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 a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn get_by_conn_str(conn_str: &str) -> Result<Box<dyn Driver>, Error> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `driver::Driver`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use driver::Driver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `driver::Driver`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use driver::Driver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.89s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.5.0, clap v2.5.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "407603a041bf0ca41cc19ac0c91f81e3d367e02805f5c18b10bc5f7c9b45ccfd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "407603a041bf0ca41cc19ac0c91f81e3d367e02805f5c18b10bc5f7c9b45ccfd", kill_on_drop: false }`
[INFO] [stdout] 407603a041bf0ca41cc19ac0c91f81e3d367e02805f5c18b10bc5f7c9b45ccfd
