[INFO] cloning repository https://github.com/horou-dsk/rust-test [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/horou-dsk/rust-test" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhorou-dsk%2Frust-test", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhorou-dsk%2Frust-test'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9c0d770d9e08f09e6eba5c55045ec9356a4cca49 [INFO] checking horou-dsk/rust-test against try#a7a572ce3edd6d476191fbfe92c9c1986e009b34 for pr-87190-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhorou-dsk%2Frust-test" "/workspace/builds/worker-11/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-11/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/horou-dsk/rust-test on toolchain a7a572ce3edd6d476191fbfe92c9c1986e009b34 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/horou-dsk/rust-test [INFO] finished tweaking git repo https://github.com/horou-dsk/rust-test [INFO] tweaked toml for git repo https://github.com/horou-dsk/rust-test written to /workspace/builds/worker-11/source/Cargo.toml [INFO] crate git repo https://github.com/horou-dsk/rust-test already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded websocket v0.26.2 [INFO] [stderr] Downloaded websocket-base v0.26.2 [INFO] [stderr] Downloaded openssl-src v111.10.2+1.1.1g [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] db8460c676ec7ea384b3ab01ab571db7c67913fb2e0d11aa7128e9c414f8d3a2 [INFO] running `Command { std: "docker" "start" "-a" "db8460c676ec7ea384b3ab01ab571db7c67913fb2e0d11aa7128e9c414f8d3a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "db8460c676ec7ea384b3ab01ab571db7c67913fb2e0d11aa7128e9c414f8d3a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db8460c676ec7ea384b3ab01ab571db7c67913fb2e0d11aa7128e9c414f8d3a2", kill_on_drop: false }` [INFO] [stdout] db8460c676ec7ea384b3ab01ab571db7c67913fb2e0d11aa7128e9c414f8d3a2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+a7a572ce3edd6d476191fbfe92c9c1986e009b34" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4faf2a69f6e8001b7b78e77ad3f21bdd29d9fc13f908858cedf0e998664d8341 [INFO] running `Command { std: "docker" "start" "-a" "4faf2a69f6e8001b7b78e77ad3f21bdd29d9fc13f908858cedf0e998664d8341", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo. [INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously. [INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html [INFO] [stderr] When building the following dependencies, the given features will no longer be used: [INFO] [stderr] [INFO] [stderr] openssl v0.10.30: vendored [INFO] [stderr] openssl-sys v0.9.58: openssl-src, vendored [INFO] [stderr] tokio v0.2.22: winapi [INFO] [stderr] [INFO] [stderr] Compiling libc v0.2.72 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling proc-macro2 v1.0.19 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.36 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Compiling cc v1.0.58 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling pkg-config v0.3.18 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Compiling openssl v0.10.30 [INFO] [stderr] Checking futures-core v0.3.5 [INFO] [stderr] Checking matches v0.1.8 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Checking futures v0.1.29 [INFO] [stderr] Checking bytes v0.5.6 [INFO] [stderr] Checking tinyvec v0.3.3 [INFO] [stderr] Checking itoa v0.4.6 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling httparse v1.3.4 [INFO] [stderr] Checking pin-project-lite v0.1.7 [INFO] [stderr] Checking openssl-probe v0.1.2 [INFO] [stderr] Compiling serde_derive v1.0.114 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling serde v1.0.114 [INFO] [stderr] Checking byte-tools v0.3.1 [INFO] [stderr] Compiling version_check v0.1.5 [INFO] [stderr] Checking futures-task v0.3.5 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Checking try-lock v0.2.3 [INFO] [stderr] Checking fake-simd v0.1.2 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Compiling serde_json v1.0.57 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Checking opaque-debug v0.2.3 [INFO] [stderr] Checking dtoa v0.4.6 [INFO] [stderr] Checking language-tags v0.2.2 [INFO] [stderr] Checking typeable v0.1.2 [INFO] [stderr] Checking traitobject v0.1.0 [INFO] [stderr] Checking mime v0.3.16 [INFO] [stderr] Checking ipnet v2.3.0 [INFO] [stderr] Checking rustc-serialize v0.3.24 [INFO] [stderr] Compiling hashbrown v0.8.1 [INFO] [stderr] Compiling indexmap v1.5.0 [INFO] [stderr] Checking tracing-core v0.1.11 [INFO] [stderr] Checking unicode-bidi v0.3.4 [INFO] [stderr] Checking block-padding v0.1.5 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking futures-channel v0.3.5 [INFO] [stderr] Checking encoding_rs v0.8.23 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking generic-array v0.12.3 [INFO] [stderr] Checking crossbeam-utils v0.7.2 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking unicode-normalization v0.1.13 [INFO] [stderr] Checking http v0.2.1 [INFO] [stderr] Checking tracing v0.1.17 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Compiling unicase v1.4.2 [INFO] [stderr] Checking digest v0.8.1 [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 unicase v2.6.0 [INFO] [stderr] Checking mime v0.2.6 [INFO] [stderr] Compiling openssl-src v111.10.2+1.1.1g [INFO] [stderr] Checking block-buffer v0.7.3 [INFO] [stderr] Checking base64 v0.10.1 [INFO] [stderr] Checking base64 v0.9.3 [INFO] [stderr] Checking sha-1 v0.8.2 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Compiling openssl-sys v0.9.58 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.34 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking signal-hook-registry v1.2.0 [INFO] [stderr] Checking time v0.1.43 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking socket2 v0.3.12 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking mio v0.6.22 [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking tokio-sync v0.1.8 [INFO] [stderr] Checking tokio-executor v0.1.10 [INFO] [stderr] Checking tokio-io v0.1.13 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking url v2.1.1 [INFO] [stderr] Checking http-body v0.3.1 [INFO] [stderr] Checking tokio-codec v0.1.2 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking tokio-reactor v0.1.12 [INFO] [stderr] Checking hyper v0.10.16 [INFO] [stderr] Checking tokio-tcp v0.1.4 [INFO] [stderr] Compiling tokio-macros v0.2.5 [INFO] [stderr] Compiling pin-project-internal v0.4.23 [INFO] [stderr] Checking tokio v0.2.22 [INFO] [stderr] Checking pin-project v0.4.23 [INFO] [stderr] Checking futures-util v0.3.5 [INFO] [stderr] Compiling native-tls v0.2.4 [INFO] [stderr] Checking tokio-util v0.3.1 [INFO] [stderr] Checking h2 v0.2.6 [INFO] [stderr] Checking tokio-tls v0.3.1 [INFO] [stderr] Checking tokio-tls v0.2.1 [INFO] [stderr] Checking websocket-base v0.26.2 [INFO] [stderr] Checking websocket v0.26.2 [INFO] [stderr] Checking serde_urlencoded v0.6.1 [INFO] [stderr] Checking hyper v0.13.7 [INFO] [stderr] Checking hyper-tls v0.4.3 [INFO] [stderr] Checking reqwest v0.10.7 [INFO] [stderr] Checking RustTest v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/main.rs from 2018 edition to 2021 [INFO] [stdout] warning: unused import: `websocket::server::upgrade::WsUpgrade` [INFO] [stdout] --> src/player.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use websocket::server::upgrade::WsUpgrade; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `websocket::server::upgrade::sync::Buffer` [INFO] [stdout] --> src/player.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use websocket::server::upgrade::sync::Buffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/room.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::read` [INFO] [stdout] --> src/struct_test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/http_test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/macro_test.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / macro_rules! vector { [INFO] [stdout] 10 | | ($($x:expr),*) => { [INFO] [stdout] 11 | | { [INFO] [stdout] 12 | | let mut temp_vec = Vec::new(); [INFO] [stdout] ... | [INFO] [stdout] 16 | | }; [INFO] [stdout] 17 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `UnsafeCell>>>` cannot be shared between threads safely [INFO] [stdout] --> src/websocket_server.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | thread::spawn(move || { [INFO] [stdout] | ^^^^^^^^^^^^^ `UnsafeCell>>>` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] = help: within `(unicase::UniCase, hyper::header::internals::item::Item)`, the trait `Sync` is not implemented for `UnsafeCell>>>` [INFO] [stdout] = note: required because it appears within the type `hyper::header::internals::cell::OptCell>>` [INFO] [stdout] = note: required because it appears within the type `hyper::header::internals::item::Item` [INFO] [stdout] = note: required because it appears within the type `(unicase::UniCase, hyper::header::internals::item::Item)` [INFO] [stdout] = note: required because of the requirements on the impl of `Sync` for `Unique<(unicase::UniCase, hyper::header::internals::item::Item)>` [INFO] [stdout] = note: required because it appears within the type `alloc::raw_vec::RawVec<(unicase::UniCase, hyper::header::internals::item::Item)>` [INFO] [stdout] = note: required because it appears within the type `Vec<(unicase::UniCase, hyper::header::internals::item::Item)>` [INFO] [stdout] = note: required because it appears within the type `hyper::header::internals::vec_map::VecMap, hyper::header::internals::item::Item>` [INFO] [stdout] = note: required because it appears within the type `Headers` [INFO] [stdout] = note: required because it appears within the type `websocket::sync::Client` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `&'static websocket::sync::Client` [INFO] [stdout] note: required because it appears within the type `Player` [INFO] [stdout] --> src/player.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Player { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: required because it appears within the type `(u32, Player)` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `hashbrown::raw::RawTable<(u32, Player)>` [INFO] [stdout] = note: required because it appears within the type `hashbrown::map::HashMap` [INFO] [stdout] = note: required because it appears within the type `HashMap` [INFO] [stdout] note: required because it appears within the type `Room` [INFO] [stdout] --> src/room.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Room { [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: required because of the requirements on the impl of `Sync` for `std::sync::Mutex` [INFO] [stdout] = note: 1 redundant requirements hidden [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `Arc>` [INFO] [stdout] = note: required because it appears within the type `[closure@src/websocket_server.rs:17:23: 56:10]` [INFO] [stdout] note: required by a bound in `std::thread::spawn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `UnsafeCell>>` cannot be shared between threads safely [INFO] [stdout] --> src/websocket_server.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | thread::spawn(move || { [INFO] [stdout] | ^^^^^^^^^^^^^ `UnsafeCell>>` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] = help: within `(unicase::UniCase, hyper::header::internals::item::Item)`, the trait `Sync` is not implemented for `UnsafeCell>>` [INFO] [stdout] = note: required because it appears within the type `hyper::header::internals::cell::PtrMapCell<(dyn HeaderFormat + Sync + std::marker::Send + 'static)>` [INFO] [stdout] = note: required because it appears within the type `hyper::header::internals::item::Item` [INFO] [stdout] = note: required because it appears within the type `(unicase::UniCase, hyper::header::internals::item::Item)` [INFO] [stdout] = note: required because of the requirements on the impl of `Sync` for `Unique<(unicase::UniCase, hyper::header::internals::item::Item)>` [INFO] [stdout] = note: required because it appears within the type `alloc::raw_vec::RawVec<(unicase::UniCase, hyper::header::internals::item::Item)>` [INFO] [stdout] = note: required because it appears within the type `Vec<(unicase::UniCase, hyper::header::internals::item::Item)>` [INFO] [stdout] = note: required because it appears within the type `hyper::header::internals::vec_map::VecMap, hyper::header::internals::item::Item>` [INFO] [stdout] = note: required because it appears within the type `Headers` [INFO] [stdout] = note: required because it appears within the type `websocket::sync::Client` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `&'static websocket::sync::Client` [INFO] [stdout] note: required because it appears within the type `Player` [INFO] [stdout] --> src/player.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Player { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: required because it appears within the type `(u32, Player)` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `hashbrown::raw::RawTable<(u32, Player)>` [INFO] [stdout] = note: required because it appears within the type `hashbrown::map::HashMap` [INFO] [stdout] = note: required because it appears within the type `HashMap` [INFO] [stdout] note: required because it appears within the type `Room` [INFO] [stdout] --> src/room.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Room { [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: required because of the requirements on the impl of `Sync` for `std::sync::Mutex` [INFO] [stdout] = note: 1 redundant requirements hidden [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `Arc>` [INFO] [stdout] = note: required because it appears within the type `[closure@src/websocket_server.rs:17:23: 56:10]` [INFO] [stdout] note: required by a bound in `std::thread::spawn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `RustTest` due to 3 previous errors; 6 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused import: `websocket::server::upgrade::WsUpgrade` [INFO] [stdout] --> src/player.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use websocket::server::upgrade::WsUpgrade; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `websocket::server::upgrade::sync::Buffer` [INFO] [stdout] --> src/player.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use websocket::server::upgrade::sync::Buffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/room.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::read` [INFO] [stdout] --> src/struct_test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::read; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/http_test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/macro_test.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | / macro_rules! vector { [INFO] [stdout] 10 | | ($($x:expr),*) => { [INFO] [stdout] 11 | | { [INFO] [stdout] 12 | | let mut temp_vec = Vec::new(); [INFO] [stdout] ... | [INFO] [stdout] 16 | | }; [INFO] [stdout] 17 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `UnsafeCell>>>` cannot be shared between threads safely [INFO] [stdout] --> src/websocket_server.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | thread::spawn(move || { [INFO] [stdout] | ^^^^^^^^^^^^^ `UnsafeCell>>>` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] = help: within `(unicase::UniCase, hyper::header::internals::item::Item)`, the trait `Sync` is not implemented for `UnsafeCell>>>` [INFO] [stdout] = note: required because it appears within the type `hyper::header::internals::cell::OptCell>>` [INFO] [stdout] = note: required because it appears within the type `hyper::header::internals::item::Item` [INFO] [stdout] = note: required because it appears within the type `(unicase::UniCase, hyper::header::internals::item::Item)` [INFO] [stdout] = note: required because of the requirements on the impl of `Sync` for `Unique<(unicase::UniCase, hyper::header::internals::item::Item)>` [INFO] [stdout] = note: required because it appears within the type `alloc::raw_vec::RawVec<(unicase::UniCase, hyper::header::internals::item::Item)>` [INFO] [stdout] = note: required because it appears within the type `Vec<(unicase::UniCase, hyper::header::internals::item::Item)>` [INFO] [stdout] = note: required because it appears within the type `hyper::header::internals::vec_map::VecMap, hyper::header::internals::item::Item>` [INFO] [stdout] = note: required because it appears within the type `Headers` [INFO] [stdout] = note: required because it appears within the type `websocket::sync::Client` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `&'static websocket::sync::Client` [INFO] [stdout] note: required because it appears within the type `Player` [INFO] [stdout] --> src/player.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Player { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: required because it appears within the type `(u32, Player)` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `hashbrown::raw::RawTable<(u32, Player)>` [INFO] [stdout] = note: required because it appears within the type `hashbrown::map::HashMap` [INFO] [stdout] = note: required because it appears within the type `HashMap` [INFO] [stdout] note: required because it appears within the type `Room` [INFO] [stdout] --> src/room.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Room { [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: required because of the requirements on the impl of `Sync` for `std::sync::Mutex` [INFO] [stdout] = note: 1 redundant requirements hidden [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `Arc>` [INFO] [stdout] = note: required because it appears within the type `[closure@src/websocket_server.rs:17:23: 56:10]` [INFO] [stdout] note: required by a bound in `std::thread::spawn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `UnsafeCell>>` cannot be shared between threads safely [INFO] [stdout] --> src/websocket_server.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | thread::spawn(move || { [INFO] [stdout] | ^^^^^^^^^^^^^ `UnsafeCell>>` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] = help: within `(unicase::UniCase, hyper::header::internals::item::Item)`, the trait `Sync` is not implemented for `UnsafeCell>>` [INFO] [stdout] = note: required because it appears within the type `hyper::header::internals::cell::PtrMapCell<(dyn HeaderFormat + Sync + std::marker::Send + 'static)>` [INFO] [stdout] = note: required because it appears within the type `hyper::header::internals::item::Item` [INFO] [stdout] = note: required because it appears within the type `(unicase::UniCase, hyper::header::internals::item::Item)` [INFO] [stdout] = note: required because of the requirements on the impl of `Sync` for `Unique<(unicase::UniCase, hyper::header::internals::item::Item)>` [INFO] [stdout] = note: required because it appears within the type `alloc::raw_vec::RawVec<(unicase::UniCase, hyper::header::internals::item::Item)>` [INFO] [stdout] = note: required because it appears within the type `Vec<(unicase::UniCase, hyper::header::internals::item::Item)>` [INFO] [stdout] = note: required because it appears within the type `hyper::header::internals::vec_map::VecMap, hyper::header::internals::item::Item>` [INFO] [stdout] = note: required because it appears within the type `Headers` [INFO] [stdout] = note: required because it appears within the type `websocket::sync::Client` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `&'static websocket::sync::Client` [INFO] [stdout] note: required because it appears within the type `Player` [INFO] [stdout] --> src/player.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Player { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: required because it appears within the type `(u32, Player)` [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `hashbrown::raw::RawTable<(u32, Player)>` [INFO] [stdout] = note: required because it appears within the type `hashbrown::map::HashMap` [INFO] [stdout] = note: required because it appears within the type `HashMap` [INFO] [stdout] note: required because it appears within the type `Room` [INFO] [stdout] --> src/room.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Room { [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: required because of the requirements on the impl of `Sync` for `std::sync::Mutex` [INFO] [stdout] = note: 1 redundant requirements hidden [INFO] [stdout] = note: required because of the requirements on the impl of `std::marker::Send` for `Arc>` [INFO] [stdout] = note: required because it appears within the type `[closure@src/websocket_server.rs:17:23: 56:10]` [INFO] [stdout] note: required by a bound in `std::thread::spawn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] [stderr] error: failed to migrate to next edition [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo fix --edition --allow-no-vcs --allow-dirty --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "4faf2a69f6e8001b7b78e77ad3f21bdd29d9fc13f908858cedf0e998664d8341", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4faf2a69f6e8001b7b78e77ad3f21bdd29d9fc13f908858cedf0e998664d8341", kill_on_drop: false }` [INFO] [stdout] 4faf2a69f6e8001b7b78e77ad3f21bdd29d9fc13f908858cedf0e998664d8341