[INFO] updating cached repository sirkibsirkib/multiplayer_serv_v2 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/sirkibsirkib/multiplayer_serv_v2 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/sirkibsirkib/multiplayer_serv_v2" "work/ex/clippy-test-run/sources/stable/gh/sirkibsirkib/multiplayer_serv_v2"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/sirkibsirkib/multiplayer_serv_v2'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/sirkibsirkib/multiplayer_serv_v2" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sirkibsirkib/multiplayer_serv_v2"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sirkibsirkib/multiplayer_serv_v2'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 2e669d368afb5be489eb116a251fadea2f7e0914 [INFO] sha for GitHub repo sirkibsirkib/multiplayer_serv_v2: 2e669d368afb5be489eb116a251fadea2f7e0914 [INFO] validating manifest of sirkibsirkib/multiplayer_serv_v2 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of sirkibsirkib/multiplayer_serv_v2 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing sirkibsirkib/multiplayer_serv_v2 [INFO] finished frobbing sirkibsirkib/multiplayer_serv_v2 [INFO] frobbed toml for sirkibsirkib/multiplayer_serv_v2 written to work/ex/clippy-test-run/sources/stable/gh/sirkibsirkib/multiplayer_serv_v2/Cargo.toml [INFO] started frobbing sirkibsirkib/multiplayer_serv_v2 [INFO] finished frobbing sirkibsirkib/multiplayer_serv_v2 [INFO] frobbed toml for sirkibsirkib/multiplayer_serv_v2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sirkibsirkib/multiplayer_serv_v2/Cargo.toml [INFO] crate sirkibsirkib/multiplayer_serv_v2 has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting sirkibsirkib/multiplayer_serv_v2 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/sirkibsirkib/multiplayer_serv_v2:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dclippy::into_iter_on_array" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 5b9d9b3f1af884e863c8abf7e77c8f68787ffe914955535a86add89b55a53acb [INFO] running `"docker" "start" "-a" "5b9d9b3f1af884e863c8abf7e77c8f68787ffe914955535a86add89b55a53acb"` [INFO] [stderr] Checking libc v0.2.35 [INFO] [stderr] Checking magnetic v2.0.0 [INFO] [stderr] Checking atty v0.2.6 [INFO] [stderr] Checking rand v0.4.2 [INFO] [stderr] Checking clap v2.29.0 [INFO] [stderr] Checking multiplayer_serv_v2 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `PushError` [INFO] [stderr] --> src/messaging.rs:3:68 [INFO] [stderr] | [INFO] [stderr] 3 | use magnetic::{Consumer,Producer,TryPopError,TryPushError,PopError,PushError}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `identity::*` [INFO] [stderr] --> src/game_state.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use identity::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/resources/server_resources.rs:31:16 [INFO] [stderr] | [INFO] [stderr] 31 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 32 | | if value { [INFO] [stderr] 33 | | self.subs.insert(lid, ClientIdBits::new_with_only(pid)); [INFO] [stderr] 34 | | } // else: nothing to do here [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 31 | } else if value { [INFO] [stderr] 32 | self.subs.insert(lid, ClientIdBits::new_with_only(pid)); [INFO] [stderr] 33 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: All variants have the same postfix: `Mode` [INFO] [stderr] --> src/main.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | / enum GameMode { [INFO] [stderr] 12 | | ServerMode, ClientMode, SingleMode, [INFO] [stderr] 13 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `PushError` [INFO] [stderr] --> src/messaging.rs:3:68 [INFO] [stderr] | [INFO] [stderr] 3 | use magnetic::{Consumer,Producer,TryPopError,TryPushError,PopError,PushError}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `identity::*` [INFO] [stderr] --> src/game_state.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use identity::*; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/resources/server_resources.rs:31:16 [INFO] [stderr] | [INFO] [stderr] 31 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 32 | | if value { [INFO] [stderr] 33 | | self.subs.insert(lid, ClientIdBits::new_with_only(pid)); [INFO] [stderr] 34 | | } // else: nothing to do here [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 31 | } else if value { [INFO] [stderr] 32 | self.subs.insert(lid, ClientIdBits::new_with_only(pid)); [INFO] [stderr] 33 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: All variants have the same postfix: `Mode` [INFO] [stderr] --> src/main.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | / enum GameMode { [INFO] [stderr] 12 | | ServerMode, ClientMode, SingleMode, [INFO] [stderr] 13 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::enum_variant_names)] on by default [INFO] [stderr] = help: remove the postfixes and use full paths to the variants instead of glob imports [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stderr] [INFO] [stderr] warning: private type `messaging::Diff` in public interface (error E0446) [INFO] [stderr] --> src/messaging.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | ReqDiff(Diff), [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(private_in_public)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `messaging::WrappedClientwardMessage` in public interface (error E0446) [INFO] [stderr] --> src/messaging.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | / pub fn try_pop(&self) -> Result { [INFO] [stderr] 110 | | self.output.try_pop() [INFO] [stderr] 111 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `messaging::WrappedServerwardMessage` in public interface (error E0446) [INFO] [stderr] --> src/messaging.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | / pub fn try_push(&self, msg: WrappedServerwardMessage) -> Result<(), TryPushError> { [INFO] [stderr] 113 | | self.input.try_push(msg) [INFO] [stderr] 114 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `messaging::WrappedServerwardMessage` in public interface (error E0446) [INFO] [stderr] --> src/messaging.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | / pub fn try_pop(&mut self) -> Result { [INFO] [stderr] 129 | | self.output.try_pop() [INFO] [stderr] 130 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `messaging::WrappedClientwardMessage` in public interface (error E0446) [INFO] [stderr] --> src/messaging.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | / pub fn try_push(&mut self, msg: WrappedClientwardMessage) -> Result<(), TryPushError> { [INFO] [stderr] 132 | | self.input.try_push(msg) [INFO] [stderr] 133 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: unused variable: `username` [INFO] [stderr] --> src/messaging.rs:14:29 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn try_authenticate(username: String, password: String) -> Result { [INFO] [stderr] | ^^^^^^^^ help: consider using `_username` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `password` [INFO] [stderr] --> src/messaging.rs:14:47 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn try_authenticate(username: String, password: String) -> Result { [INFO] [stderr] | ^^^^^^^^ help: consider using `_password` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `primitive` [INFO] [stderr] --> src/game_state.rs:23:21 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new_from(primitive: LocationPrimitive) -> Self { [INFO] [stderr] | ^^^^^^^^^ help: consider using `_primitive` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/resources/server_resources.rs:22:21 [INFO] [stderr] | [INFO] [stderr] 22 | let mut sub = self.subs.get_mut(&lid).unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Authenticator` [INFO] [stderr] --> src/messaging.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | struct Authenticator { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_authenticate` [INFO] [stderr] --> src/messaging.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn try_authenticate(username: String, password: String) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `AuthenticatorError` [INFO] [stderr] --> src/messaging.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | enum AuthenticatorError { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `WrappedServerwardMessage` [INFO] [stderr] --> src/messaging.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | struct WrappedServerwardMessage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `WrappedClientwardMessage` [INFO] [stderr] --> src/messaging.rs:30:1 [INFO] [stderr] | [INFO] [stderr] 30 | struct WrappedClientwardMessage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `ServerwardMessage` [INFO] [stderr] --> src/messaging.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | pub enum ServerwardMessage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `ClientwardMessage` [INFO] [stderr] --> src/messaging.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | pub enum ClientwardMessage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Diff` [INFO] [stderr] --> src/messaging.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | enum Diff { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `message_channel` [INFO] [stderr] --> src/messaging.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn message_channel() -> (ClientStub, ServerStub) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `wrapped_message_channel` [INFO] [stderr] --> src/messaging.rs:67:1 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn wrapped_message_channel() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ClientStub` [INFO] [stderr] --> src/messaging.rs:72:1 [INFO] [stderr] | [INFO] [stderr] 72 | pub struct ClientStub { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `WrappedClientStub` [INFO] [stderr] --> src/messaging.rs:78:1 [INFO] [stderr] | [INFO] [stderr] 78 | pub struct WrappedClientStub { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ServerStub` [INFO] [stderr] --> src/messaging.rs:84:1 [INFO] [stderr] | [INFO] [stderr] 84 | pub struct ServerStub { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `WrappedServerStub` [INFO] [stderr] --> src/messaging.rs:90:1 [INFO] [stderr] | [INFO] [stderr] 90 | pub struct WrappedServerStub { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pop` [INFO] [stderr] --> src/messaging.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | pub fn pop(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_pop` [INFO] [stderr] --> src/messaging.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | pub fn try_pop(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_push` [INFO] [stderr] --> src/messaging.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn try_push(&self, msg: ServerwardMessage) -> Result<(), TryPushError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_pop` [INFO] [stderr] --> src/messaging.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn try_pop(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_push` [INFO] [stderr] --> src/messaging.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn try_push(&self, msg: WrappedServerwardMessage) -> Result<(), TryPushError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_pop` [INFO] [stderr] --> src/messaging.rs:118:5 [INFO] [stderr] | [INFO] [stderr] 118 | pub fn try_pop(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_push` [INFO] [stderr] --> src/messaging.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | pub fn try_push(&self, msg: ClientwardMessage) -> Result<(), TryPushError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_pop` [INFO] [stderr] --> src/messaging.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn try_pop(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_push` [INFO] [stderr] --> src/messaging.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn try_push(&mut self, msg: WrappedClientwardMessage) -> Result<(), TryPushError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `DiscretePoint2` [INFO] [stderr] --> src/game_state.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct DiscretePoint2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ContinuousPoint2` [INFO] [stderr] --> src/game_state.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct ContinuousPoint2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Point2` [INFO] [stderr] --> src/game_state.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | pub enum Point2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Location` [INFO] [stderr] --> src/game_state.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | pub struct Location { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new_from` [INFO] [stderr] --> src/game_state.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new_from(primitive: LocationPrimitive) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `LocationPrimitive` [INFO] [stderr] --> src/game_state.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | pub struct LocationPrimitive { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/identity.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn new(raw_pid: u8) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ClientIdBits` [INFO] [stderr] --> src/identity.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct ClientIdBits { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/identity.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn new() -> ClientIdBits { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new_with_only` [INFO] [stderr] --> src/identity.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn new_with_only(pid: PlayerId) -> ClientIdBits { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set` [INFO] [stderr] --> src/identity.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn set(&mut self, pid: PlayerId, value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get` [INFO] [stderr] --> src/identity.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn get(&self, pid: PlayerId) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `no_subs` [INFO] [stderr] --> src/identity.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn no_subs(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `SubscriptionManager` [INFO] [stderr] --> src/resources/server_resources.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct SubscriptionManager { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/resources/server_resources.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_player_sub` [INFO] [stderr] --> src/resources/server_resources.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn set_player_sub(&mut self, lid: LocationId, pid: PlayerId, value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `PortalManager` [INFO] [stderr] --> src/resources/server_resources.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | pub struct PortalManager { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ServerMode` [INFO] [stderr] --> src/main.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | ServerMode, ClientMode, SingleMode, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SingleMode` [INFO] [stderr] --> src/main.rs:12:29 [INFO] [stderr] | [INFO] [stderr] 12 | ServerMode, ClientMode, SingleMode, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/identity.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | self.bits = self.bits | (1 << pid.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.bits |= (1 << pid.0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/identity.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | self.bits = self.bits & ((0xff_ff_ff_ff) - (1 << pid.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.bits &= ((0xff_ff_ff_ff) - (1 << pid.0))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/resources/server_resources.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | / if self.subs.contains_key(&lid) { [INFO] [stderr] 20 | | let mut rm = false; [INFO] [stderr] 21 | | { [INFO] [stderr] 22 | | let mut sub = self.subs.get_mut(&lid).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 34 | | } // else: nothing to do here [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________^ help: consider using: `self.subs.entry(lid)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: private type `messaging::Diff` in public interface (error E0446) [INFO] [stderr] --> src/messaging.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | ReqDiff(Diff), [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(private_in_public)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `messaging::WrappedClientwardMessage` in public interface (error E0446) [INFO] [stderr] --> src/messaging.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | / pub fn try_pop(&self) -> Result { [INFO] [stderr] 110 | | self.output.try_pop() [INFO] [stderr] 111 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `messaging::WrappedServerwardMessage` in public interface (error E0446) [INFO] [stderr] --> src/messaging.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | / pub fn try_push(&self, msg: WrappedServerwardMessage) -> Result<(), TryPushError> { [INFO] [stderr] 113 | | self.input.try_push(msg) [INFO] [stderr] 114 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `messaging::WrappedServerwardMessage` in public interface (error E0446) [INFO] [stderr] --> src/messaging.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | / pub fn try_pop(&mut self) -> Result { [INFO] [stderr] 129 | | self.output.try_pop() [INFO] [stderr] 130 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: private type `messaging::WrappedClientwardMessage` in public interface (error E0446) [INFO] [stderr] --> src/messaging.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | / pub fn try_push(&mut self, msg: WrappedClientwardMessage) -> Result<(), TryPushError> { [INFO] [stderr] 132 | | self.input.try_push(msg) [INFO] [stderr] 133 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: unused variable: `username` [INFO] [stderr] --> src/messaging.rs:14:29 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn try_authenticate(username: String, password: String) -> Result { [INFO] [stderr] | ^^^^^^^^ help: consider using `_username` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `password` [INFO] [stderr] --> src/messaging.rs:14:47 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn try_authenticate(username: String, password: String) -> Result { [INFO] [stderr] | ^^^^^^^^ help: consider using `_password` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `primitive` [INFO] [stderr] --> src/game_state.rs:23:21 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new_from(primitive: LocationPrimitive) -> Self { [INFO] [stderr] | ^^^^^^^^^ help: consider using `_primitive` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/resources/server_resources.rs:22:21 [INFO] [stderr] | [INFO] [stderr] 22 | let mut sub = self.subs.get_mut(&lid).unwrap(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Authenticator` [INFO] [stderr] --> src/messaging.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | struct Authenticator { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_authenticate` [INFO] [stderr] --> src/messaging.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn try_authenticate(username: String, password: String) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `AuthenticatorError` [INFO] [stderr] --> src/messaging.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | enum AuthenticatorError { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `WrappedServerwardMessage` [INFO] [stderr] --> src/messaging.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | struct WrappedServerwardMessage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `WrappedClientwardMessage` [INFO] [stderr] --> src/messaging.rs:30:1 [INFO] [stderr] | [INFO] [stderr] 30 | struct WrappedClientwardMessage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `ServerwardMessage` [INFO] [stderr] --> src/messaging.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | pub enum ServerwardMessage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `ClientwardMessage` [INFO] [stderr] --> src/messaging.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | pub enum ClientwardMessage { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Diff` [INFO] [stderr] --> src/messaging.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | enum Diff { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `message_channel` [INFO] [stderr] --> src/messaging.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn message_channel() -> (ClientStub, ServerStub) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `wrapped_message_channel` [INFO] [stderr] --> src/messaging.rs:67:1 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn wrapped_message_channel() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ClientStub` [INFO] [stderr] --> src/messaging.rs:72:1 [INFO] [stderr] | [INFO] [stderr] 72 | pub struct ClientStub { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `WrappedClientStub` [INFO] [stderr] --> src/messaging.rs:78:1 [INFO] [stderr] | [INFO] [stderr] 78 | pub struct WrappedClientStub { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ServerStub` [INFO] [stderr] --> src/messaging.rs:84:1 [INFO] [stderr] | [INFO] [stderr] 84 | pub struct ServerStub { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `WrappedServerStub` [INFO] [stderr] --> src/messaging.rs:90:1 [INFO] [stderr] | [INFO] [stderr] 90 | pub struct WrappedServerStub { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pop` [INFO] [stderr] --> src/messaging.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | pub fn pop(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_pop` [INFO] [stderr] --> src/messaging.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | pub fn try_pop(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_push` [INFO] [stderr] --> src/messaging.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | pub fn try_push(&self, msg: ServerwardMessage) -> Result<(), TryPushError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_pop` [INFO] [stderr] --> src/messaging.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn try_pop(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_push` [INFO] [stderr] --> src/messaging.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn try_push(&self, msg: WrappedServerwardMessage) -> Result<(), TryPushError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_pop` [INFO] [stderr] --> src/messaging.rs:118:5 [INFO] [stderr] | [INFO] [stderr] 118 | pub fn try_pop(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_push` [INFO] [stderr] --> src/messaging.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | pub fn try_push(&self, msg: ClientwardMessage) -> Result<(), TryPushError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_pop` [INFO] [stderr] --> src/messaging.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn try_pop(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `try_push` [INFO] [stderr] --> src/messaging.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn try_push(&mut self, msg: WrappedClientwardMessage) -> Result<(), TryPushError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `DiscretePoint2` [INFO] [stderr] --> src/game_state.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct DiscretePoint2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ContinuousPoint2` [INFO] [stderr] --> src/game_state.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct ContinuousPoint2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Point2` [INFO] [stderr] --> src/game_state.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | pub enum Point2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Location` [INFO] [stderr] --> src/game_state.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | pub struct Location { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new_from` [INFO] [stderr] --> src/game_state.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new_from(primitive: LocationPrimitive) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `LocationPrimitive` [INFO] [stderr] --> src/game_state.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | pub struct LocationPrimitive { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/identity.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn new(raw_pid: u8) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `ClientIdBits` [INFO] [stderr] --> src/identity.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct ClientIdBits { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/identity.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn new() -> ClientIdBits { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new_with_only` [INFO] [stderr] --> src/identity.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn new_with_only(pid: PlayerId) -> ClientIdBits { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set` [INFO] [stderr] --> src/identity.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn set(&mut self, pid: PlayerId, value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get` [INFO] [stderr] --> src/identity.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn get(&self, pid: PlayerId) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `no_subs` [INFO] [stderr] --> src/identity.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn no_subs(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `SubscriptionManager` [INFO] [stderr] --> src/resources/server_resources.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct SubscriptionManager { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/resources/server_resources.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_player_sub` [INFO] [stderr] --> src/resources/server_resources.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn set_player_sub(&mut self, lid: LocationId, pid: PlayerId, value: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `PortalManager` [INFO] [stderr] --> src/resources/server_resources.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | pub struct PortalManager { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ServerMode` [INFO] [stderr] --> src/main.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | ServerMode, ClientMode, SingleMode, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SingleMode` [INFO] [stderr] --> src/main.rs:12:29 [INFO] [stderr] | [INFO] [stderr] 12 | ServerMode, ClientMode, SingleMode, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/identity.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | self.bits = self.bits | (1 << pid.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.bits |= (1 << pid.0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/identity.rs:39:13 [INFO] [stderr] | [INFO] [stderr] 39 | self.bits = self.bits & ((0xff_ff_ff_ff) - (1 << pid.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.bits &= ((0xff_ff_ff_ff) - (1 << pid.0))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/resources/server_resources.rs:19:9 [INFO] [stderr] | [INFO] [stderr] 19 | / if self.subs.contains_key(&lid) { [INFO] [stderr] 20 | | let mut rm = false; [INFO] [stderr] 21 | | { [INFO] [stderr] 22 | | let mut sub = self.subs.get_mut(&lid).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 34 | | } // else: nothing to do here [INFO] [stderr] 35 | | } [INFO] [stderr] | |_________^ help: consider using: `self.subs.entry(lid)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 12.92s [INFO] running `"docker" "inspect" "5b9d9b3f1af884e863c8abf7e77c8f68787ffe914955535a86add89b55a53acb"` [INFO] running `"docker" "rm" "-f" "5b9d9b3f1af884e863c8abf7e77c8f68787ffe914955535a86add89b55a53acb"` [INFO] [stdout] 5b9d9b3f1af884e863c8abf7e77c8f68787ffe914955535a86add89b55a53acb