[INFO] updating cached repository https://github.com/socialvibe/rust-pie-bakeoff [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] f9c3ed674ff4000ea63e6fb03a0c650e06bfae9b [INFO] checking socialvibe/rust-pie-bakeoff against master#2748a9fd93dd1a00a4521f4f16de5befbf77f6cd for pr-62262-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsocialvibe%2Frust-pie-bakeoff" "/workspace/builds/worker-12/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/socialvibe/rust-pie-bakeoff on toolchain 2748a9fd93dd1a00a4521f4f16de5befbf77f6cd [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/socialvibe/rust-pie-bakeoff [INFO] finished tweaking git repo https://github.com/socialvibe/rust-pie-bakeoff [INFO] tweaked toml for git repo https://github.com/socialvibe/rust-pie-bakeoff written to /workspace/builds/worker-12/source/Cargo.toml [INFO] crate git repo https://github.com/socialvibe/rust-pie-bakeoff already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] error: the lock file /workspace/builds/worker-12/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] the lockfile is outdated, regenerating it [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating git repository `https://github.com/servo/rust-url` [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] f7af58c4947d0b4bb996bbbaf54df975f5d52a710da2da82d4361cff5949a0fe [INFO] running `"docker" "start" "-a" "f7af58c4947d0b4bb996bbbaf54df975f5d52a710da2da82d4361cff5949a0fe"` [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Checking futures v0.1.29 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Checking scopeguard v1.0.0 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling siphasher v0.2.3 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Checking traitobject v0.1.0 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Checking safemem v0.3.2 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Checking modifier v0.1.0 [INFO] [stderr] Compiling serde v1.0.101 [INFO] [stderr] Checking antidote v1.0.0 [INFO] [stderr] Checking ascii v0.9.3 [INFO] [stderr] Checking try-lock v0.2.2 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Checking percent-encoding v2.1.0 (https://github.com/servo/rust-url#7d2c9d6c) [INFO] [stderr] Checking sha1 v0.6.0 [INFO] [stderr] Checking dtoa v0.4.4 [INFO] [stderr] Checking route-recognizer v0.1.13 [INFO] [stderr] Checking bit-vec v0.6.1 [INFO] [stderr] Checking crossbeam-utils v0.6.6 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling indexmap v1.3.0 [INFO] [stderr] Checking lock_api v0.3.1 [INFO] [stderr] Checking unsafe-any v0.4.2 [INFO] [stderr] Checking scheduled-thread-pool v0.1.0 [INFO] [stderr] Compiling libc v0.2.65 [INFO] [stderr] Compiling unicase v1.4.2 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Checking idna v0.2.0 (https://github.com/servo/rust-url#7d2c9d6c) [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling rand_jitter v0.1.4 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking typemap v0.3.3 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling memoffset v0.5.1 [INFO] [stderr] Compiling hyper v0.12.35 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling rand_xorshift v0.1.1 [INFO] [stderr] Checking mio v0.6.19 [INFO] [stderr] Checking crossbeam-queue v0.1.2 [INFO] [stderr] Checking mime v0.2.6 [INFO] [stderr] Checking r2d2 v0.7.4 [INFO] [stderr] Checking plugin v0.2.6 [INFO] [stderr] Compiling phf_shared v0.7.24 [INFO] [stderr] Checking url v2.1.0 [INFO] [stderr] Checking phf v0.7.24 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Checking url v2.1.0 (https://github.com/servo/rust-url#7d2c9d6c) [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking base64 v0.9.3 [INFO] [stderr] Checking sha1 v0.1.1 [INFO] [stderr] Checking crossbeam-epoch v0.7.2 [INFO] [stderr] Checking combine v3.8.1 [INFO] [stderr] Checking scheduled-thread-pool v0.2.2 [INFO] [stderr] Checking mio-uds v0.6.7 [INFO] [stderr] Checking crossbeam-deque v0.7.1 [INFO] [stderr] Checking r2d2 v0.8.6 [INFO] [stderr] Checking tokio-executor v0.1.8 [INFO] [stderr] Checking tokio-sync v0.1.7 [INFO] [stderr] Checking want v0.2.0 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking tokio-io v0.1.12 [INFO] [stderr] Checking http v0.1.19 [INFO] [stderr] Checking string v0.2.1 [INFO] [stderr] Checking tokio-buf v0.1.1 [INFO] [stderr] Checking tokio-current-thread v0.1.6 [INFO] [stderr] Checking tokio-timer v0.2.11 [INFO] [stderr] Checking tokio-threadpool v0.1.16 [INFO] [stderr] Checking hyper v0.10.16 [INFO] [stderr] Checking redis v0.5.4 [INFO] [stderr] Checking tokio-reactor v0.1.10 [INFO] [stderr] Checking tokio-codec v0.1.1 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Checking tokio-tcp v0.1.3 [INFO] [stderr] Checking tokio-uds v0.2.5 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Compiling phf_codegen v0.7.24 [INFO] [stderr] Compiling mime_guess v1.8.7 [INFO] [stderr] Checking r2d2_redis v0.3.1 [INFO] [stderr] Checking h2 v0.1.26 [INFO] [stderr] Checking http-body v0.1.0 [INFO] [stderr] Checking iron v0.6.1 [INFO] [stderr] Checking persistent v0.4.0 [INFO] [stderr] Checking router v0.6.0 [INFO] [stderr] Checking mustache v0.9.0 [INFO] [stderr] Checking redis v0.13.0 [INFO] [stderr] Checking bakeoff v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] error: no rules expected the token `"/"` [INFO] [stderr] --> src/main.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | get "/" => endpoints::hello_world, [INFO] [stderr] | ^^^ no rules expected this token in macro call [INFO] [stderr] [INFO] [stderr] error[E0603]: crate `core` is private [INFO] [stderr] --> src/endpoints.rs:20:15 [INFO] [stderr] | [INFO] [stderr] 20 | use response::core::borrow::Borrow; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0603]: struct `Config` is private [INFO] [stderr] --> src/main.rs:99:15 [INFO] [stderr] | [INFO] [stderr] 99 | r2d2::Config::builder() [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error: no rules expected the token `"/"` [INFO] [stderr] --> src/main.rs:47:13 [INFO] [stderr] | [INFO] [stderr] 47 | get "/" => endpoints::hello_world, [INFO] [stderr] | ^^^ no rules expected this token in macro call [INFO] [stderr] [INFO] [stderr] error[E0603]: crate `core` is private [INFO] [stderr] --> src/endpoints.rs:20:15 [INFO] [stderr] | [INFO] [stderr] 20 | use response::core::borrow::Borrow; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] error[E0603]: struct `Config` is private [INFO] [stderr] --> src/main.rs:99:15 [INFO] [stderr] | [INFO] [stderr] 99 | r2d2::Config::builder() [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | / pub fn set_remaining(pool: &r2d2::Pool, pie: &pies::Pie) { [INFO] [stderr] 22 | | let conn = pool.get().expect("redis connection failed"); [INFO] [stderr] 23 | | let _ : () = conn.set(remaining_key!(pie.id), pie.slices).unwrap(); [INFO] [stderr] 24 | | [INFO] [stderr] 25 | | // let n : u64 = conn.get(remaining_key!(pie.id)).unwrap(); [INFO] [stderr] 26 | | // println!("setting remaining for pie {} to {}", pie.name, n); [INFO] [stderr] 27 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | / pub fn get_remaining(pool: &r2d2::Pool, pie: &pies::Pie) -> u64 { [INFO] [stderr] 30 | | let conn = pool.get().expect("redis connection failed"); [INFO] [stderr] 31 | | let n : u64 = conn.get(remaining_key!(pie.id)).unwrap(); [INFO] [stderr] 32 | | n [INFO] [stderr] 33 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn get_all_remaining(pool: &r2d2::Pool, ids: &Vec<&u64>) -> Vec { [INFO] [stderr] 36 | | let conn = pool.get().expect("redis connection failed"); [INFO] [stderr] 37 | | let keys : Vec = ids.iter().map( |&id| [INFO] [stderr] 38 | | remaining_key!(id) [INFO] [stderr] ... | [INFO] [stderr] 41 | | n [INFO] [stderr] 42 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:52:1 [INFO] [stderr] | [INFO] [stderr] 52 | / fn get_user_blacklist(conn: &r2d2::PooledConnection, user: &String) -> BitVec { [INFO] [stderr] 53 | | let bits : Vec = conn.get(user_blacklist_key!(user)).unwrap(); [INFO] [stderr] 54 | | let bitvec = BitVec::from_bytes(&bits); [INFO] [stderr] 55 | | // println!("{}: {:?}", user, bitvec); [INFO] [stderr] 56 | | bitvec [INFO] [stderr] 57 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::PooledConnection` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:59:1 [INFO] [stderr] | [INFO] [stderr] 59 | / fn get_pie_soldout(conn: &r2d2::PooledConnection) -> BitVec { [INFO] [stderr] 60 | | let bits : Vec = conn.get(sold_out_key!()).unwrap(); [INFO] [stderr] 61 | | let bitvec = BitVec::from_bytes(&bits); [INFO] [stderr] 62 | | bitvec [INFO] [stderr] 63 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::PooledConnection` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:65:1 [INFO] [stderr] | [INFO] [stderr] 65 | / fn set_user_blacklist(conn: &r2d2::PooledConnection, user: &String, bitvec_pos: usize) { [INFO] [stderr] 66 | | // println!("{:?} {:?}", user, bitvec_pos); [INFO] [stderr] 67 | | [INFO] [stderr] 68 | | // this doesn't work for some reason, so using the raw command version [INFO] [stderr] ... | [INFO] [stderr] 76 | | [INFO] [stderr] 77 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::PooledConnection` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:79:1 [INFO] [stderr] | [INFO] [stderr] 79 | / fn set_pie_soldout(conn: &r2d2::PooledConnection, bitvec_pos: usize) { [INFO] [stderr] 80 | | // this doesn't work for some reason, using the raw command version [INFO] [stderr] 81 | | // let _ : () = conn.setbit(sold_out_key!(), bitvec_pos, true).unwrap(); [INFO] [stderr] 82 | | [INFO] [stderr] ... | [INFO] [stderr] 88 | | .unwrap(); [INFO] [stderr] 89 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::PooledConnection` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:91:1 [INFO] [stderr] | [INFO] [stderr] 91 | / fn check_user_blacklist(conn: &r2d2::PooledConnection, user: &String, bitvec_pos: usize) -> bool { [INFO] [stderr] 92 | | let bitset : bool = conn.getbit(user_blacklist_key!(user), bitvec_pos).unwrap(); [INFO] [stderr] 93 | | bitset [INFO] [stderr] 94 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::PooledConnection` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:135:1 [INFO] [stderr] | [INFO] [stderr] 135 | / pub fn recommend<'pie>(pool: &r2d2::Pool, [INFO] [stderr] 136 | | labels: &Vec, [INFO] [stderr] 137 | | pies: &'pie Vec, [INFO] [stderr] 138 | | label_bitvecs: &HashMap, [INFO] [stderr] ... | [INFO] [stderr] 182 | | None [INFO] [stderr] 183 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:185:1 [INFO] [stderr] | [INFO] [stderr] 185 | / pub fn purchase_pie(pool: &r2d2::Pool, [INFO] [stderr] 186 | | pie: &pies::Pie, [INFO] [stderr] 187 | | bitvec_pos: usize, [INFO] [stderr] 188 | | user: &String, [INFO] [stderr] ... | [INFO] [stderr] 242 | | PurchaseStatus::Success [INFO] [stderr] 243 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:245:1 [INFO] [stderr] | [INFO] [stderr] 245 | / pub fn pie_purchases(pool: &r2d2::Pool, pie: &pies::Pie) -> Vec { [INFO] [stderr] 246 | | let conn = pool.get().expect("redis connection failed"); [INFO] [stderr] 247 | | [INFO] [stderr] 248 | | let purchases : HashMap = conn.hgetall(purchases_key!(pie.id)).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 260 | | vec [INFO] [stderr] 261 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/main.rs:96:1 [INFO] [stderr] | [INFO] [stderr] 96 | / fn connect_redis() -> r2d2::Pool { [INFO] [stderr] 97 | | let config = if cfg!(feature = "prod") { [INFO] [stderr] 98 | | println!("running in production mode"); [INFO] [stderr] 99 | | r2d2::Config::builder() [INFO] [stderr] ... | [INFO] [stderr] 108 | | pool [INFO] [stderr] 109 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/main.rs:111:1 [INFO] [stderr] | [INFO] [stderr] 111 | / fn update_redis(pies: &Vec, pool: &r2d2::Pool) { [INFO] [stderr] 112 | | for pie in pies { [INFO] [stderr] 113 | | pie_state::set_remaining(pool, pie) [INFO] [stderr] 114 | | } [INFO] [stderr] 115 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/cache.rs:17:22 [INFO] [stderr] | [INFO] [stderr] 17 | impl Key for Redis { type Value = r2d2::Pool; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error: aborting due to 17 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0603. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `bakeoff`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | / pub fn set_remaining(pool: &r2d2::Pool, pie: &pies::Pie) { [INFO] [stderr] 22 | | let conn = pool.get().expect("redis connection failed"); [INFO] [stderr] 23 | | let _ : () = conn.set(remaining_key!(pie.id), pie.slices).unwrap(); [INFO] [stderr] 24 | | [INFO] [stderr] 25 | | // let n : u64 = conn.get(remaining_key!(pie.id)).unwrap(); [INFO] [stderr] 26 | | // println!("setting remaining for pie {} to {}", pie.name, n); [INFO] [stderr] 27 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | / pub fn get_remaining(pool: &r2d2::Pool, pie: &pies::Pie) -> u64 { [INFO] [stderr] 30 | | let conn = pool.get().expect("redis connection failed"); [INFO] [stderr] 31 | | let n : u64 = conn.get(remaining_key!(pie.id)).unwrap(); [INFO] [stderr] 32 | | n [INFO] [stderr] 33 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn get_all_remaining(pool: &r2d2::Pool, ids: &Vec<&u64>) -> Vec { [INFO] [stderr] 36 | | let conn = pool.get().expect("redis connection failed"); [INFO] [stderr] 37 | | let keys : Vec = ids.iter().map( |&id| [INFO] [stderr] 38 | | remaining_key!(id) [INFO] [stderr] ... | [INFO] [stderr] 41 | | n [INFO] [stderr] 42 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:52:1 [INFO] [stderr] | [INFO] [stderr] 52 | / fn get_user_blacklist(conn: &r2d2::PooledConnection, user: &String) -> BitVec { [INFO] [stderr] 53 | | let bits : Vec = conn.get(user_blacklist_key!(user)).unwrap(); [INFO] [stderr] 54 | | let bitvec = BitVec::from_bytes(&bits); [INFO] [stderr] 55 | | // println!("{}: {:?}", user, bitvec); [INFO] [stderr] 56 | | bitvec [INFO] [stderr] 57 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::PooledConnection` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:59:1 [INFO] [stderr] | [INFO] [stderr] 59 | / fn get_pie_soldout(conn: &r2d2::PooledConnection) -> BitVec { [INFO] [stderr] 60 | | let bits : Vec = conn.get(sold_out_key!()).unwrap(); [INFO] [stderr] 61 | | let bitvec = BitVec::from_bytes(&bits); [INFO] [stderr] 62 | | bitvec [INFO] [stderr] 63 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::PooledConnection` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:65:1 [INFO] [stderr] | [INFO] [stderr] 65 | / fn set_user_blacklist(conn: &r2d2::PooledConnection, user: &String, bitvec_pos: usize) { [INFO] [stderr] 66 | | // println!("{:?} {:?}", user, bitvec_pos); [INFO] [stderr] 67 | | [INFO] [stderr] 68 | | // this doesn't work for some reason, so using the raw command version [INFO] [stderr] ... | [INFO] [stderr] 76 | | [INFO] [stderr] 77 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::PooledConnection` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:79:1 [INFO] [stderr] | [INFO] [stderr] 79 | / fn set_pie_soldout(conn: &r2d2::PooledConnection, bitvec_pos: usize) { [INFO] [stderr] 80 | | // this doesn't work for some reason, using the raw command version [INFO] [stderr] 81 | | // let _ : () = conn.setbit(sold_out_key!(), bitvec_pos, true).unwrap(); [INFO] [stderr] 82 | | [INFO] [stderr] ... | [INFO] [stderr] 88 | | .unwrap(); [INFO] [stderr] 89 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::PooledConnection` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:91:1 [INFO] [stderr] | [INFO] [stderr] 91 | / fn check_user_blacklist(conn: &r2d2::PooledConnection, user: &String, bitvec_pos: usize) -> bool { [INFO] [stderr] 92 | | let bitset : bool = conn.getbit(user_blacklist_key!(user), bitvec_pos).unwrap(); [INFO] [stderr] 93 | | bitset [INFO] [stderr] 94 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::PooledConnection` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:135:1 [INFO] [stderr] | [INFO] [stderr] 135 | / pub fn recommend<'pie>(pool: &r2d2::Pool, [INFO] [stderr] 136 | | labels: &Vec, [INFO] [stderr] 137 | | pies: &'pie Vec, [INFO] [stderr] 138 | | label_bitvecs: &HashMap, [INFO] [stderr] ... | [INFO] [stderr] 182 | | None [INFO] [stderr] 183 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:185:1 [INFO] [stderr] | [INFO] [stderr] 185 | / pub fn purchase_pie(pool: &r2d2::Pool, [INFO] [stderr] 186 | | pie: &pies::Pie, [INFO] [stderr] 187 | | bitvec_pos: usize, [INFO] [stderr] 188 | | user: &String, [INFO] [stderr] ... | [INFO] [stderr] 242 | | PurchaseStatus::Success [INFO] [stderr] 243 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/pie_state.rs:245:1 [INFO] [stderr] | [INFO] [stderr] 245 | / pub fn pie_purchases(pool: &r2d2::Pool, pie: &pies::Pie) -> Vec { [INFO] [stderr] 246 | | let conn = pool.get().expect("redis connection failed"); [INFO] [stderr] 247 | | [INFO] [stderr] 248 | | let purchases : HashMap = conn.hgetall(purchases_key!(pie.id)).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 260 | | vec [INFO] [stderr] 261 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/main.rs:96:1 [INFO] [stderr] | [INFO] [stderr] 96 | / fn connect_redis() -> r2d2::Pool { [INFO] [stderr] 97 | | let config = if cfg!(feature = "prod") { [INFO] [stderr] 98 | | println!("running in production mode"); [INFO] [stderr] 99 | | r2d2::Config::builder() [INFO] [stderr] ... | [INFO] [stderr] 108 | | pool [INFO] [stderr] 109 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/main.rs:111:1 [INFO] [stderr] | [INFO] [stderr] 111 | / fn update_redis(pies: &Vec, pool: &r2d2::Pool) { [INFO] [stderr] 112 | | for pie in pies { [INFO] [stderr] 113 | | pie_state::set_remaining(pool, pie) [INFO] [stderr] 114 | | } [INFO] [stderr] 115 | | } [INFO] [stderr] | |_^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `r2d2_redis::RedisConnectionManager: r2d2::ManageConnection` is not satisfied [INFO] [stderr] --> src/cache.rs:17:22 [INFO] [stderr] | [INFO] [stderr] 17 | impl Key for Redis { type Value = r2d2::Pool; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `r2d2::ManageConnection` is not implemented for `r2d2_redis::RedisConnectionManager` [INFO] [stderr] | [INFO] [stderr] = note: required by `r2d2::Pool` [INFO] [stderr] [INFO] [stderr] error: aborting due to 17 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0603. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `bakeoff`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "f7af58c4947d0b4bb996bbbaf54df975f5d52a710da2da82d4361cff5949a0fe"` [INFO] running `"docker" "rm" "-f" "f7af58c4947d0b4bb996bbbaf54df975f5d52a710da2da82d4361cff5949a0fe"` [INFO] [stdout] f7af58c4947d0b4bb996bbbaf54df975f5d52a710da2da82d4361cff5949a0fe