[INFO] cloning repository https://github.com/pclewis/bs-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pclewis/bs-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpclewis%2Fbs-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpclewis%2Fbs-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d2e4e368960a9eb09f68c8f13c5e7e337a8eb02a
[INFO] testing pclewis/bs-rust against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpclewis%2Fbs-rust" "/workspace/builds/worker-7/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/pclewis/bs-rust 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/pclewis/bs-rust
[INFO] finished tweaking git repo https://github.com/pclewis/bs-rust
[INFO] tweaked toml for git repo https://github.com/pclewis/bs-rust written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/pclewis/bs-rust 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] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr] error: the lock file /workspace/builds/worker-7/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating git repository `https://github.com/mitsuhiko/redis-rs.git`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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] f845962ece35f4420b169d66610bca38d7c489fc0c9652b6a420d8d2a98c8a82
[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" "f845962ece35f4420b169d66610bca38d7c489fc0c9652b6a420d8d2a98c8a82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f845962ece35f4420b169d66610bca38d7c489fc0c9652b6a420d8d2a98c8a82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f845962ece35f4420b169d66610bca38d7c489fc0c9652b6a420d8d2a98c8a82", kill_on_drop: false }`
[INFO] [stdout] f845962ece35f4420b169d66610bca38d7c489fc0c9652b6a420d8d2a98c8a82
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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] 15585d0d7b6fea338e1fc48f8a104c60c38f070022e6a8a3969679b26f0f3f40
[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" "15585d0d7b6fea338e1fc48f8a104c60c38f070022e6a8a3969679b26f0f3f40", kill_on_drop: false }`
[INFO] [stderr]    Compiling const_fn v0.4.2
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling regex-syntax v0.6.20
[INFO] [stderr]    Compiling humantime v2.0.1
[INFO] [stderr]    Compiling termcolor v1.1.0
[INFO] [stderr]    Compiling libc v0.1.12
[INFO] [stderr]    Compiling sha1 v0.6.0
[INFO] [stderr]    Compiling rustc-serialize v0.3.24
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling num-bigint v0.3.0
[INFO] [stderr]    Compiling num-rational v0.3.0
[INFO] [stderr]    Compiling num-iter v0.1.41
[INFO] [stderr]    Compiling standback v0.2.11
[INFO] [stderr]    Compiling time v0.2.22
[INFO] [stderr]    Compiling thread_local v1.0.1
[INFO] [stderr]    Compiling judy v0.0.2
[INFO] [stderr]    Compiling aho-corasick v0.7.14
[INFO] [stderr]    Compiling combine v4.3.2
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling term v0.2.14
[INFO] [stderr]    Compiling async-trait v0.1.41
[INFO] [stderr]    Compiling time-macros-impl v0.1.1
[INFO] [stderr]    Compiling time-macros v0.1.1
[INFO] [stderr]    Compiling num-complex v0.3.0
[INFO] [stderr]    Compiling regex v1.4.1
[INFO] [stderr]    Compiling env_logger v0.8.1
[INFO] [stderr]    Compiling num v0.3.0
[INFO] [stderr]    Compiling redis v0.17.1-alpha.0 (https://github.com/mitsuhiko/redis-rs.git#2d7f94cc)
[INFO] [stderr]    Compiling bs-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let client = try!(redis::Client::open("redis://127.0.0.1/"));
[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/main.rs:184:22
[INFO] [stdout]     |
[INFO] [stdout] 184 |         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/main.rs:185:25
[INFO] [stdout]     |
[INFO] [stdout] 185 |             let entry = try!(entry);
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |             try!(walk_dir(entry.path().as_path(), cb));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:158:46
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn load_track<T>(conn: &Connection, bs: &mut Bitset<T>, filename: &str)
[INFO] [stdout]     |                                              ^^^^^^^^^ help: use `dyn`: `dyn Bitset<T>`
[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/main.rs:211:33
[INFO] [stdout]     |
[INFO] [stdout] 211 | fn colorize_ns<T:Write>(t: &mut Terminal<T>, ns: u64)
[INFO] [stdout]     |                                 ^^^^^^^^^^^ help: use `dyn`: `dyn Terminal<T>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 | ... = time::precise_time_ns();
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 | ...unts : Vec<(&str, usize)> = time!( "fetch", tracks.iter().map( |t| { let c:usize = conn.scard(&t as &str).unwrap(); (t as &str, c) } ).collect()...
[INFO] [stdout]     |                                ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 | ... = time::precise_time_ns();
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 | ...counts : Vec<(&str, usize)> = time!( "fetch", tracks.iter().map( |t| { let c:usize = conn.scard(&t as &str).unwrap(); (t as &str, c) } ).collect()...
[INFO] [stdout]     |                                  ---------------------------------------------------------------------------------------------------------------------- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let start = time::precise_time_ns();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     time!( "sort", tracks_counts.sort_by(|a,b| b.1.cmp(&a.1)) ); // sort descending
[INFO] [stdout]     |     ------------------------------------------------------------ in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let end = time::precise_time_ns();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     time!( "sort", tracks_counts.sort_by(|a,b| b.1.cmp(&a.1)) ); // sort descending
[INFO] [stdout]     |     ------------------------------------------------------------ in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let start = time::precise_time_ns();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     let tags : Vec<usize> = time!( "union track-tags", conn.sunion(top_n).unwrap() );
[INFO] [stdout]     |                             -------------------------------------------------------- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let end = time::precise_time_ns();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     let tags : Vec<usize> = time!( "union track-tags", conn.sunion(top_n).unwrap() );
[INFO] [stdout]     |                             -------------------------------------------------------- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let start = time::precise_time_ns();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     let tracks : Vec<usize> = time!( "union tag-tracks", conn.sunion(tag_names).unwrap() );
[INFO] [stdout]     |                               ------------------------------------------------------------ in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let end = time::precise_time_ns();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     let tracks : Vec<usize> = time!( "union tag-tracks", conn.sunion(tag_names).unwrap() );
[INFO] [stdout]     |                               ------------------------------------------------------------ in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let start = time::precise_time_ns();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     let final_tags : Vec<usize> = time!( "inter track-tags", conn.sinter( track_names ).unwrap() );
[INFO] [stdout]     |                                   ---------------------------------------------------------------- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let end = time::precise_time_ns();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     let final_tags : Vec<usize> = time!( "inter track-tags", conn.sinter( track_names ).unwrap() );
[INFO] [stdout]     |                                   ---------------------------------------------------------------- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |               let start = time::precise_time_ns();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 | /     time!( "Import track-tags",
[INFO] [stdout] 265 | |         for (i, tags) in all_tracks.track_tags.iter().enumerate() {
[INFO] [stdout] 266 | |             let tags_as_usize : Vec<usize> = tags.iter().map(|i|*i as usize).collect();
[INFO] [stdout] 267 | |             judy.add( "track-tags", i, &tags_as_usize ).unwrap();
[INFO] [stdout] 268 | |         }
[INFO] [stdout] 269 | |     );
[INFO] [stdout]     | |______- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |               let end = time::precise_time_ns();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 | /     time!( "Import track-tags",
[INFO] [stdout] 265 | |         for (i, tags) in all_tracks.track_tags.iter().enumerate() {
[INFO] [stdout] 266 | |             let tags_as_usize : Vec<usize> = tags.iter().map(|i|*i as usize).collect();
[INFO] [stdout] 267 | |             judy.add( "track-tags", i, &tags_as_usize ).unwrap();
[INFO] [stdout] 268 | |         }
[INFO] [stdout] 269 | |     );
[INFO] [stdout]     | |______- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |               let start = time::precise_time_ns();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 | /     time!( "Import tag-tracks",
[INFO] [stdout] 272 | |         for (i, tracks) in all_tracks.tag_tracks.iter().enumerate() {
[INFO] [stdout] 273 | |             let tracks_as_usize : Vec<usize> = tracks.iter().map(|i|*i as usize).collect();
[INFO] [stdout] 274 | |             judy.add( "tag-tracks", i, &tracks_as_usize ).unwrap();
[INFO] [stdout] 275 | |         }
[INFO] [stdout] 276 | |     );
[INFO] [stdout]     | |______- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |               let end = time::precise_time_ns();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 | /     time!( "Import tag-tracks",
[INFO] [stdout] 272 | |         for (i, tracks) in all_tracks.tag_tracks.iter().enumerate() {
[INFO] [stdout] 273 | |             let tracks_as_usize : Vec<usize> = tracks.iter().map(|i|*i as usize).collect();
[INFO] [stdout] 274 | |             judy.add( "tag-tracks", i, &tracks_as_usize ).unwrap();
[INFO] [stdout] 275 | |         }
[INFO] [stdout] 276 | |     );
[INFO] [stdout]     | |______- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let start = time::precise_time_ns();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     time!( "sort", tracks_counts.sort_by(|a,b| b.1.cmp(&a.1)) ); // sort descending
[INFO] [stdout]     |     ------------------------------------------------------------ in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let end = time::precise_time_ns();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     time!( "sort", tracks_counts.sort_by(|a,b| b.1.cmp(&a.1)) ); // sort descending
[INFO] [stdout]     |     ------------------------------------------------------------ in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let start = time::precise_time_ns();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     let tags : Vec<usize> = time!( "union track-tags", judy.union("track-tags", &top_n).unwrap() );
[INFO] [stdout]     |                             ---------------------------------------------------------------------- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let end = time::precise_time_ns();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     let tags : Vec<usize> = time!( "union track-tags", judy.union("track-tags", &top_n).unwrap() );
[INFO] [stdout]     |                             ---------------------------------------------------------------------- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let start = time::precise_time_ns();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     let tracks : Vec<usize> = time!( "union tag-tracks", judy.union("tag-tracks", &tags).unwrap() );
[INFO] [stdout]     |                               --------------------------------------------------------------------- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let end = time::precise_time_ns();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     let tracks : Vec<usize> = time!( "union tag-tracks", judy.union("tag-tracks", &tags).unwrap() );
[INFO] [stdout]     |                               --------------------------------------------------------------------- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let start = time::precise_time_ns();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     let final_tags : Vec<usize> = time!( "inter track-tags", judy.intersect("track-tags", &tracks).unwrap() );
[INFO] [stdout]     |                                   --------------------------------------------------------------------------- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let end = time::precise_time_ns();
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     let final_tags : Vec<usize> = time!( "inter track-tags", judy.intersect("track-tags", &tracks).unwrap() );
[INFO] [stdout]     |                                   --------------------------------------------------------------------------- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:225:25
[INFO] [stdout]     |
[INFO] [stdout] 225 |               let start = time::precise_time_ns();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 | /                 time!("Import tracks",
[INFO] [stdout] 329 | |                       walk_dir( Path::new(&arg),
[INFO] [stdout] 330 | |                                 &mut |f| load_track(&conn, &mut bs, f.to_str().unwrap()))
[INFO] [stdout] 331 | |                       ).ok().expect("Error reading path");
[INFO] [stdout]     | |_______________________- in this macro invocation
[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 `time::precise_time_ns`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]    --> src/main.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |               let end = time::precise_time_ns();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 | /                 time!("Import tracks",
[INFO] [stdout] 329 | |                       walk_dir( Path::new(&arg),
[INFO] [stdout] 330 | |                                 &mut |f| load_track(&conn, &mut bs, f.to_str().unwrap()))
[INFO] [stdout] 331 | |                       ).ok().expect("Error reading path");
[INFO] [stdout]     | |_______________________- in this macro invocation
[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[E0107]: wrong number of type arguments: expected 0, found 1
[INFO] [stdout]    --> src/main.rs:211:42
[INFO] [stdout]     |
[INFO] [stdout] 211 | fn colorize_ns<T:Write>(t: &mut Terminal<T>, ns: u64)
[INFO] [stdout]     |                                          ^ unexpected type argument
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0191]: the value of the associated type `Output` (from trait `term::Terminal`) must be specified
[INFO] [stdout]    --> src/main.rs:211:33
[INFO] [stdout]     |
[INFO] [stdout] 211 | fn colorize_ns<T:Write>(t: &mut Terminal<T>, ns: u64)
[INFO] [stdout]     |                                 ^^^^^^^^^-^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          help: specify the associated type: `Output = T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0191.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bs-rust`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "15585d0d7b6fea338e1fc48f8a104c60c38f070022e6a8a3969679b26f0f3f40", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "15585d0d7b6fea338e1fc48f8a104c60c38f070022e6a8a3969679b26f0f3f40", kill_on_drop: false }`
[INFO] [stdout] 15585d0d7b6fea338e1fc48f8a104c60c38f070022e6a8a3969679b26f0f3f40
