[INFO] updating cached repository fwcd/SC18-RustClient [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/fwcd/SC18-RustClient [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/fwcd/SC18-RustClient" "work/ex/clippy-test-run/sources/stable/gh/fwcd/SC18-RustClient"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/fwcd/SC18-RustClient'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/fwcd/SC18-RustClient" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fwcd/SC18-RustClient"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fwcd/SC18-RustClient'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] c763d61e0f50783c552b8f6180a361a1d6058817 [INFO] sha for GitHub repo fwcd/SC18-RustClient: c763d61e0f50783c552b8f6180a361a1d6058817 [INFO] validating manifest of fwcd/SC18-RustClient 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 fwcd/SC18-RustClient 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 fwcd/SC18-RustClient [INFO] finished frobbing fwcd/SC18-RustClient [INFO] frobbed toml for fwcd/SC18-RustClient written to work/ex/clippy-test-run/sources/stable/gh/fwcd/SC18-RustClient/Cargo.toml [INFO] started frobbing fwcd/SC18-RustClient [INFO] finished frobbing fwcd/SC18-RustClient [INFO] frobbed toml for fwcd/SC18-RustClient written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fwcd/SC18-RustClient/Cargo.toml [INFO] crate fwcd/SC18-RustClient 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 fwcd/SC18-RustClient 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-7/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/fwcd/SC18-RustClient:/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] 5a0b708d160dcca99104d47f1f838d3b615218c0cad6a0555eba5fefd1208f1c [INFO] running `"docker" "start" "-a" "5a0b708d160dcca99104d47f1f838d3b615218c0cad6a0555eba5fefd1208f1c"` [INFO] [stderr] Checking xml-rs v0.7.0 [INFO] [stderr] Checking sc18_rustclient v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/arg_parser.rs:28:3 [INFO] [stderr] | [INFO] [stderr] 28 | return ArgParser { args: arg_map }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `ArgParser { args: arg_map }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/arg_parser.rs:32:3 [INFO] [stderr] | [INFO] [stderr] 32 | return self.args.get(key).map(|s| s.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.args.get(key).map(|s| s.to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/game.rs:21:3 [INFO] [stderr] | [INFO] [stderr] 21 | return Card { [INFO] [stderr] | _________^ [INFO] [stderr] 22 | | card_type: self.card_type.clone() [INFO] [stderr] 23 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 21 | Card { [INFO] [stderr] 22 | card_type: self.card_type.clone() [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/game.rs:38:3 [INFO] [stderr] | [INFO] [stderr] 38 | return Player { [INFO] [stderr] | _________^ [INFO] [stderr] 39 | | display_name: self.display_name.clone(), [INFO] [stderr] 40 | | color: self.color.clone(), [INFO] [stderr] 41 | | index: self.index, [INFO] [stderr] ... | [INFO] [stderr] 44 | | cards: self.cards.clone() [INFO] [stderr] 45 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 38 | Player { [INFO] [stderr] 39 | display_name: self.display_name.clone(), [INFO] [stderr] 40 | color: self.color.clone(), [INFO] [stderr] 41 | index: self.index, [INFO] [stderr] 42 | carrots: self.index, [INFO] [stderr] 43 | salads: self.salads, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_client.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | return XMLClient { [INFO] [stderr] | _________^ [INFO] [stderr] 19 | | listeners: Vec::new(), [INFO] [stderr] 20 | | my_color: None, [INFO] [stderr] 21 | | game_state: None, [INFO] [stderr] 22 | | room: None [INFO] [stderr] 23 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 18 | XMLClient { [INFO] [stderr] 19 | listeners: Vec::new(), [INFO] [stderr] 20 | my_color: None, [INFO] [stderr] 21 | game_state: None, [INFO] [stderr] 22 | room: None [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_client.rs:130:3 [INFO] [stderr] | [INFO] [stderr] 130 | return move_req_listener.on_move_request(game_state, me, opponent); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `move_req_listener.on_move_request(game_state, me, opponent)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_client.rs:161:4 [INFO] [stderr] | [INFO] [stderr] 161 | return Move { xml_move: "".to_string() }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Move { xml_move: "".to_string() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_client.rs:163:4 [INFO] [stderr] | [INFO] [stderr] 163 | return Move { xml_move: format!("", distance) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Move { xml_move: format!("", distance) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:22:3 [INFO] [stderr] | [INFO] [stderr] 22 | return XMLNode { name: String::new(), data: String::new(), attribs: HashMap::new(), childs: Vec::new() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `XMLNode { name: String::new(), data: String::new(), attribs: HashMap::new(), childs: Vec::new() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:72:3 [INFO] [stderr] | [INFO] [stderr] 72 | return final_node.unwrap(); // Is guaranteed to be present due to the condition above [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `final_node.unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:77:3 [INFO] [stderr] | [INFO] [stderr] 77 | return GameState { [INFO] [stderr] | _________^ [INFO] [stderr] 78 | | red_player: self.get_child("red").expect(err).as_player(), [INFO] [stderr] 79 | | blue_player: self.get_child("blue").expect(err).as_player(), [INFO] [stderr] 80 | | board: self.get_child("board").expect(err).as_board() [INFO] [stderr] 81 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 77 | GameState { [INFO] [stderr] 78 | red_player: self.get_child("red").expect(err).as_player(), [INFO] [stderr] 79 | blue_player: self.get_child("blue").expect(err).as_player(), [INFO] [stderr] 80 | board: self.get_child("board").expect(err).as_board() [INFO] [stderr] 81 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:86:3 [INFO] [stderr] | [INFO] [stderr] 86 | return Player { [INFO] [stderr] | _________^ [INFO] [stderr] 87 | | display_name: self.get_attribute("displayName").expect(err).to_string(), [INFO] [stderr] 88 | | color: self.get_attribute("color").expect(err).to_string(), [INFO] [stderr] 89 | | index: self.get_attribute("index").expect(err).parse::().expect(err), [INFO] [stderr] ... | [INFO] [stderr] 92 | | cards: self.get_child_vec("cards").iter().map(|node| node.as_card()).collect() [INFO] [stderr] 93 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 86 | Player { [INFO] [stderr] 87 | display_name: self.get_attribute("displayName").expect(err).to_string(), [INFO] [stderr] 88 | color: self.get_attribute("color").expect(err).to_string(), [INFO] [stderr] 89 | index: self.get_attribute("index").expect(err).parse::().expect(err), [INFO] [stderr] 90 | carrots: self.get_attribute("carrots").expect(err).parse::().expect(err), [INFO] [stderr] 91 | salads: self.get_attribute("salads").expect(err).parse::().expect(err), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:98:3 [INFO] [stderr] | [INFO] [stderr] 98 | return Room { [INFO] [stderr] | _________^ [INFO] [stderr] 99 | | id: self.get_attribute("roomId").expect(err).to_string() [INFO] [stderr] 100 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 98 | Room { [INFO] [stderr] 99 | id: self.get_attribute("roomId").expect(err).to_string() [INFO] [stderr] 100 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:105:3 [INFO] [stderr] | [INFO] [stderr] 105 | return Joined { [INFO] [stderr] | _________^ [INFO] [stderr] 106 | | id: self.get_attribute("roomId").expect(err).to_string() [INFO] [stderr] 107 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 105 | Joined { [INFO] [stderr] 106 | id: self.get_attribute("roomId").expect(err).to_string() [INFO] [stderr] 107 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:113:3 [INFO] [stderr] | [INFO] [stderr] 113 | return WelcomeMessage { [INFO] [stderr] | _________^ [INFO] [stderr] 114 | | color: self.get_attribute("color").expect(err).to_string() [INFO] [stderr] 115 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 113 | WelcomeMessage { [INFO] [stderr] 114 | color: self.get_attribute("color").expect(err).to_string() [INFO] [stderr] 115 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:121:3 [INFO] [stderr] | [INFO] [stderr] 121 | return Card { [INFO] [stderr] | _________^ [INFO] [stderr] 122 | | card_type: self.get_child("type").expect(err).data.to_string() [INFO] [stderr] 123 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 121 | Card { [INFO] [stderr] 122 | card_type: self.get_child("type").expect(err).data.to_string() [INFO] [stderr] 123 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:128:3 [INFO] [stderr] | [INFO] [stderr] 128 | return Board { [INFO] [stderr] | _________^ [INFO] [stderr] 129 | | fields: self.get_child_vec("fields").iter().map(|n| n.as_field()).collect() [INFO] [stderr] 130 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 128 | Board { [INFO] [stderr] 129 | fields: self.get_child_vec("fields").iter().map(|n| n.as_field()).collect() [INFO] [stderr] 130 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:136:3 [INFO] [stderr] | [INFO] [stderr] 136 | return Memento { [INFO] [stderr] | _________^ [INFO] [stderr] 137 | | state: self.get_child("state").expect(err).as_game_state() [INFO] [stderr] 138 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 136 | Memento { [INFO] [stderr] 137 | state: self.get_child("state").expect(err).as_game_state() [INFO] [stderr] 138 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:144:3 [INFO] [stderr] | [INFO] [stderr] 144 | return Field { [INFO] [stderr] | _________^ [INFO] [stderr] 145 | | field_type: self.get_attribute("type").expect(err).to_string(), [INFO] [stderr] 146 | | index: self.get_attribute("index").expect(err).parse::().expect(err) [INFO] [stderr] 147 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 144 | Field { [INFO] [stderr] 145 | field_type: self.get_attribute("type").expect(err).to_string(), [INFO] [stderr] 146 | index: self.get_attribute("index").expect(err).parse::().expect(err) [INFO] [stderr] 147 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:150:38 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn get_name(&self) -> &String { return &self.name; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:152:66 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn get_attributes(&self) -> &HashMap> { return &self.attribs; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.attribs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:154:63 [INFO] [stderr] | [INFO] [stderr] 154 | pub fn get_attribute(&self, name: &str) -> Option<&String> { return self.attribs.get(name).map(|a| &a[0]); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.attribs.get(name).map(|a| &a[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:165:3 [INFO] [stderr] | [INFO] [stderr] 165 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:168:46 [INFO] [stderr] | [INFO] [stderr] 168 | pub fn get_childs(&self) -> &Vec { return &self.childs; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.childs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:177:3 [INFO] [stderr] | [INFO] [stderr] 177 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:183:3 [INFO] [stderr] | [INFO] [stderr] 183 | return XMLNode { [INFO] [stderr] | _________^ [INFO] [stderr] 184 | | name: self.name.clone(), [INFO] [stderr] 185 | | data: self.data.clone(), [INFO] [stderr] 186 | | attribs: self.attribs.clone(), [INFO] [stderr] 187 | | childs: self.childs.clone() [INFO] [stderr] 188 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 183 | XMLNode { [INFO] [stderr] 184 | name: self.name.clone(), [INFO] [stderr] 185 | data: self.data.clone(), [INFO] [stderr] 186 | attribs: self.attribs.clone(), [INFO] [stderr] 187 | childs: self.childs.clone() [INFO] [stderr] 188 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/arg_parser.rs:28:3 [INFO] [stderr] | [INFO] [stderr] 28 | return ArgParser { args: arg_map }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `ArgParser { args: arg_map }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/arg_parser.rs:32:3 [INFO] [stderr] | [INFO] [stderr] 32 | return self.args.get(key).map(|s| s.to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.args.get(key).map(|s| s.to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/game.rs:21:3 [INFO] [stderr] | [INFO] [stderr] 21 | return Card { [INFO] [stderr] | _________^ [INFO] [stderr] 22 | | card_type: self.card_type.clone() [INFO] [stderr] 23 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 21 | Card { [INFO] [stderr] 22 | card_type: self.card_type.clone() [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/game.rs:38:3 [INFO] [stderr] | [INFO] [stderr] 38 | return Player { [INFO] [stderr] | _________^ [INFO] [stderr] 39 | | display_name: self.display_name.clone(), [INFO] [stderr] 40 | | color: self.color.clone(), [INFO] [stderr] 41 | | index: self.index, [INFO] [stderr] ... | [INFO] [stderr] 44 | | cards: self.cards.clone() [INFO] [stderr] 45 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 38 | Player { [INFO] [stderr] 39 | display_name: self.display_name.clone(), [INFO] [stderr] 40 | color: self.color.clone(), [INFO] [stderr] 41 | index: self.index, [INFO] [stderr] 42 | carrots: self.index, [INFO] [stderr] 43 | salads: self.salads, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_client.rs:18:3 [INFO] [stderr] | [INFO] [stderr] 18 | return XMLClient { [INFO] [stderr] | _________^ [INFO] [stderr] 19 | | listeners: Vec::new(), [INFO] [stderr] 20 | | my_color: None, [INFO] [stderr] 21 | | game_state: None, [INFO] [stderr] 22 | | room: None [INFO] [stderr] 23 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 18 | XMLClient { [INFO] [stderr] 19 | listeners: Vec::new(), [INFO] [stderr] 20 | my_color: None, [INFO] [stderr] 21 | game_state: None, [INFO] [stderr] 22 | room: None [INFO] [stderr] 23 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_client.rs:130:3 [INFO] [stderr] | [INFO] [stderr] 130 | return move_req_listener.on_move_request(game_state, me, opponent); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `move_req_listener.on_move_request(game_state, me, opponent)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_client.rs:161:4 [INFO] [stderr] | [INFO] [stderr] 161 | return Move { xml_move: "".to_string() }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Move { xml_move: "".to_string() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_client.rs:163:4 [INFO] [stderr] | [INFO] [stderr] 163 | return Move { xml_move: format!("", distance) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Move { xml_move: format!("", distance) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:22:3 [INFO] [stderr] | [INFO] [stderr] 22 | return XMLNode { name: String::new(), data: String::new(), attribs: HashMap::new(), childs: Vec::new() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `XMLNode { name: String::new(), data: String::new(), attribs: HashMap::new(), childs: Vec::new() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:72:3 [INFO] [stderr] | [INFO] [stderr] 72 | return final_node.unwrap(); // Is guaranteed to be present due to the condition above [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `final_node.unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:77:3 [INFO] [stderr] | [INFO] [stderr] 77 | return GameState { [INFO] [stderr] | _________^ [INFO] [stderr] 78 | | red_player: self.get_child("red").expect(err).as_player(), [INFO] [stderr] 79 | | blue_player: self.get_child("blue").expect(err).as_player(), [INFO] [stderr] 80 | | board: self.get_child("board").expect(err).as_board() [INFO] [stderr] 81 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 77 | GameState { [INFO] [stderr] 78 | red_player: self.get_child("red").expect(err).as_player(), [INFO] [stderr] 79 | blue_player: self.get_child("blue").expect(err).as_player(), [INFO] [stderr] 80 | board: self.get_child("board").expect(err).as_board() [INFO] [stderr] 81 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:86:3 [INFO] [stderr] | [INFO] [stderr] 86 | return Player { [INFO] [stderr] | _________^ [INFO] [stderr] 87 | | display_name: self.get_attribute("displayName").expect(err).to_string(), [INFO] [stderr] 88 | | color: self.get_attribute("color").expect(err).to_string(), [INFO] [stderr] 89 | | index: self.get_attribute("index").expect(err).parse::().expect(err), [INFO] [stderr] ... | [INFO] [stderr] 92 | | cards: self.get_child_vec("cards").iter().map(|node| node.as_card()).collect() [INFO] [stderr] 93 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 86 | Player { [INFO] [stderr] 87 | display_name: self.get_attribute("displayName").expect(err).to_string(), [INFO] [stderr] 88 | color: self.get_attribute("color").expect(err).to_string(), [INFO] [stderr] 89 | index: self.get_attribute("index").expect(err).parse::().expect(err), [INFO] [stderr] 90 | carrots: self.get_attribute("carrots").expect(err).parse::().expect(err), [INFO] [stderr] 91 | salads: self.get_attribute("salads").expect(err).parse::().expect(err), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:98:3 [INFO] [stderr] | [INFO] [stderr] 98 | return Room { [INFO] [stderr] | _________^ [INFO] [stderr] 99 | | id: self.get_attribute("roomId").expect(err).to_string() [INFO] [stderr] 100 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 98 | Room { [INFO] [stderr] 99 | id: self.get_attribute("roomId").expect(err).to_string() [INFO] [stderr] 100 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:105:3 [INFO] [stderr] | [INFO] [stderr] 105 | return Joined { [INFO] [stderr] | _________^ [INFO] [stderr] 106 | | id: self.get_attribute("roomId").expect(err).to_string() [INFO] [stderr] 107 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 105 | Joined { [INFO] [stderr] 106 | id: self.get_attribute("roomId").expect(err).to_string() [INFO] [stderr] 107 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:113:3 [INFO] [stderr] | [INFO] [stderr] 113 | return WelcomeMessage { [INFO] [stderr] | _________^ [INFO] [stderr] 114 | | color: self.get_attribute("color").expect(err).to_string() [INFO] [stderr] 115 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 113 | WelcomeMessage { [INFO] [stderr] 114 | color: self.get_attribute("color").expect(err).to_string() [INFO] [stderr] 115 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:121:3 [INFO] [stderr] | [INFO] [stderr] 121 | return Card { [INFO] [stderr] | _________^ [INFO] [stderr] 122 | | card_type: self.get_child("type").expect(err).data.to_string() [INFO] [stderr] 123 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 121 | Card { [INFO] [stderr] 122 | card_type: self.get_child("type").expect(err).data.to_string() [INFO] [stderr] 123 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:128:3 [INFO] [stderr] | [INFO] [stderr] 128 | return Board { [INFO] [stderr] | _________^ [INFO] [stderr] 129 | | fields: self.get_child_vec("fields").iter().map(|n| n.as_field()).collect() [INFO] [stderr] 130 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 128 | Board { [INFO] [stderr] 129 | fields: self.get_child_vec("fields").iter().map(|n| n.as_field()).collect() [INFO] [stderr] 130 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:136:3 [INFO] [stderr] | [INFO] [stderr] 136 | return Memento { [INFO] [stderr] | _________^ [INFO] [stderr] 137 | | state: self.get_child("state").expect(err).as_game_state() [INFO] [stderr] 138 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 136 | Memento { [INFO] [stderr] 137 | state: self.get_child("state").expect(err).as_game_state() [INFO] [stderr] 138 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:144:3 [INFO] [stderr] | [INFO] [stderr] 144 | return Field { [INFO] [stderr] | _________^ [INFO] [stderr] 145 | | field_type: self.get_attribute("type").expect(err).to_string(), [INFO] [stderr] 146 | | index: self.get_attribute("index").expect(err).parse::().expect(err) [INFO] [stderr] 147 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 144 | Field { [INFO] [stderr] 145 | field_type: self.get_attribute("type").expect(err).to_string(), [INFO] [stderr] 146 | index: self.get_attribute("index").expect(err).parse::().expect(err) [INFO] [stderr] 147 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:150:38 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn get_name(&self) -> &String { return &self.name; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:152:66 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn get_attributes(&self) -> &HashMap> { return &self.attribs; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.attribs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:154:63 [INFO] [stderr] | [INFO] [stderr] 154 | pub fn get_attribute(&self, name: &str) -> Option<&String> { return self.attribs.get(name).map(|a| &a[0]); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.attribs.get(name).map(|a| &a[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:165:3 [INFO] [stderr] | [INFO] [stderr] 165 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:168:46 [INFO] [stderr] | [INFO] [stderr] 168 | pub fn get_childs(&self) -> &Vec { return &self.childs; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.childs` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:177:3 [INFO] [stderr] | [INFO] [stderr] 177 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/xml_utils.rs:183:3 [INFO] [stderr] | [INFO] [stderr] 183 | return XMLNode { [INFO] [stderr] | _________^ [INFO] [stderr] 184 | | name: self.name.clone(), [INFO] [stderr] 185 | | data: self.data.clone(), [INFO] [stderr] 186 | | attribs: self.attribs.clone(), [INFO] [stderr] 187 | | childs: self.childs.clone() [INFO] [stderr] 188 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 183 | XMLNode { [INFO] [stderr] 184 | name: self.name.clone(), [INFO] [stderr] 185 | data: self.data.clone(), [INFO] [stderr] 186 | attribs: self.attribs.clone(), [INFO] [stderr] 187 | childs: self.childs.clone() [INFO] [stderr] 188 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/xml_client.rs:139:32 [INFO] [stderr] | [INFO] [stderr] 139 | fn on_update_state(&mut self, state: &GameState) {} [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `welcome_message` [INFO] [stderr] --> src/xml_client.rs:141:35 [INFO] [stderr] | [INFO] [stderr] 141 | fn on_welcome_message(&mut self, welcome_message: &WelcomeMessage) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using `_welcome_message` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `room` [INFO] [stderr] --> src/xml_client.rs:167:24 [INFO] [stderr] | [INFO] [stderr] 167 | fn on_join(&mut self, room: &Room) {} [INFO] [stderr] | ^^^^ help: consider using `_room` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `node` [INFO] [stderr] --> src/xml_client.rs:115:104 [INFO] [stderr] | [INFO] [stderr] 115 | fn get_move_upon_request(color: &str, move_req_listener: &mut ClientListener, game_state: &GameState, node: &mut XMLNode) -> Move { [INFO] [stderr] | ^^^^ help: consider using `_node` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/xml_client.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn run(mut self, target: &String, reservation: &String) { [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: unused variable: `state` [INFO] [stderr] --> src/xml_client.rs:139:32 [INFO] [stderr] | [INFO] [stderr] 139 | fn on_update_state(&mut self, state: &GameState) {} [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `welcome_message` [INFO] [stderr] --> src/xml_client.rs:141:35 [INFO] [stderr] | [INFO] [stderr] 141 | fn on_welcome_message(&mut self, welcome_message: &WelcomeMessage) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using `_welcome_message` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `room` [INFO] [stderr] --> src/xml_client.rs:167:24 [INFO] [stderr] | [INFO] [stderr] 167 | fn on_join(&mut self, room: &Room) {} [INFO] [stderr] | ^^^^ help: consider using `_room` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `node` [INFO] [stderr] --> src/xml_client.rs:115:104 [INFO] [stderr] | [INFO] [stderr] 115 | fn get_move_upon_request(color: &str, move_req_listener: &mut ClientListener, game_state: &GameState, node: &mut XMLNode) -> Move { [INFO] [stderr] | ^^^^ help: consider using `_node` instead [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_int` [INFO] [stderr] --> src/arg_parser.rs:35:2 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn get_int(&self, key: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Joined` [INFO] [stderr] --> src/game.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct Joined { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `as_joined` [INFO] [stderr] --> src/xml_utils.rs:103:2 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn as_joined(&self) -> Joined { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_attributes` [INFO] [stderr] --> src/xml_utils.rs:152:2 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn get_attributes(&self) -> &HashMap> { return &self.attribs; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_childs` [INFO] [stderr] --> src/xml_utils.rs:168:2 [INFO] [stderr] | [INFO] [stderr] 168 | pub fn get_childs(&self) -> &Vec { return &self.childs; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LEVEL_NONE` [INFO] [stderr] --> src/logger.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | const LEVEL_NONE: i32 = 100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LEVEL_WARN` [INFO] [stderr] --> src/logger.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | const LEVEL_WARN: i32 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LEVEL_INFO` [INFO] [stderr] --> src/logger.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | const LEVEL_INFO: i32 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LEVEL_DEBUG` [INFO] [stderr] --> src/logger.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | const LEVEL_DEBUG: i32 = -1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LEVEL_VERY_DEEP_TRACE` [INFO] [stderr] --> src/logger.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | const LEVEL_VERY_DEEP_TRACE: i32 = -4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `warn` [INFO] [stderr] --> src/logger.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn warn(&self, msg: F) where F: Fn() -> String { self.log("[WARN] ", msg, LEVEL_WARN); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `info` [INFO] [stderr] --> src/logger.rs:25:2 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn info(&self, msg: F) where F: Fn() -> String { self.log("[INFO] ", msg, LEVEL_INFO); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `debug` [INFO] [stderr] --> src/logger.rs:27:2 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn debug(&self, msg: F) where F: Fn() -> String { self.log("[DEBUG] ", msg, LEVEL_DEBUG); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `very_deep_trace` [INFO] [stderr] --> src/logger.rs:33:2 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn very_deep_trace(&self, msg: F) where F: Fn() -> String { self.log("[V_DEEP_TRACE]", msg, LEVEL_VERY_DEEP_TRACE); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/xml_client.rs:33:31 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn run(mut self, target: &String, reservation: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/xml_client.rs:33:53 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn run(mut self, target: &String, reservation: &String) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 33 | pub fn run(mut self, target: &String, reservation: &str) { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `reservation.as_str()` to [INFO] [stderr] | [INFO] [stderr] 41 | match reservation { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/xml_client.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn run(mut self, target: &String, reservation: &String) { [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/xml_client.rs:55:19 [INFO] [stderr] | [INFO] [stderr] 55 | let mut boxed: &mut Box = &mut self.listeners[i]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut ClientListener` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/xml_client.rs:76:8 [INFO] [stderr] | [INFO] [stderr] 76 | let mut move_req_listener: &mut ClientListener; [INFO] [stderr] | _____________________________^ [INFO] [stderr] 77 | | [INFO] [stderr] 78 | | if self.listeners.len() == 0 { [INFO] [stderr] 79 | | move_req_listener = &mut default_listener; [INFO] [stderr] 80 | | } else { [INFO] [stderr] 81 | | move_req_listener = &mut *self.listeners[0]; [INFO] [stderr] 82 | | } [INFO] [stderr] | |_____________________________^ help: it is more idiomatic to write: `let move_req_listener = if self.listeners.len() == 0 { &mut default_listener } else { &mut *self.listeners[0] };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/xml_client.rs:78:11 [INFO] [stderr] | [INFO] [stderr] 78 | if self.listeners.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.listeners.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:12:65 [INFO] [stderr] | [INFO] [stderr] 12 | let host = args.get_string("-h").or(args.get_string("--host")).unwrap_or("localhost".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "localhost".to_string())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/main.rs:12:35 [INFO] [stderr] | [INFO] [stderr] 12 | let host = args.get_string("-h").or(args.get_string("--host")).unwrap_or("localhost".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| args.get_string("--host"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:13:65 [INFO] [stderr] | [INFO] [stderr] 13 | let port = args.get_string("-p").or(args.get_string("--port")).unwrap_or("13050".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "13050".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/main.rs:13:35 [INFO] [stderr] | [INFO] [stderr] 13 | let port = args.get_string("-p").or(args.get_string("--port")).unwrap_or("13050".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| args.get_string("--port"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:14:79 [INFO] [stderr] | [INFO] [stderr] 14 | let reservation = args.get_string("-r").or(args.get_string("--reservation")).unwrap_or("".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/main.rs:14:42 [INFO] [stderr] | [INFO] [stderr] 14 | let reservation = args.get_string("-r").or(args.get_string("--reservation")).unwrap_or("".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| args.get_string("--reservation"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_int` [INFO] [stderr] --> src/arg_parser.rs:35:2 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn get_int(&self, key: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Joined` [INFO] [stderr] --> src/game.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct Joined { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `as_joined` [INFO] [stderr] --> src/xml_utils.rs:103:2 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn as_joined(&self) -> Joined { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_attributes` [INFO] [stderr] --> src/xml_utils.rs:152:2 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn get_attributes(&self) -> &HashMap> { return &self.attribs; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_childs` [INFO] [stderr] --> src/xml_utils.rs:168:2 [INFO] [stderr] | [INFO] [stderr] 168 | pub fn get_childs(&self) -> &Vec { return &self.childs; } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LEVEL_NONE` [INFO] [stderr] --> src/logger.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | const LEVEL_NONE: i32 = 100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LEVEL_WARN` [INFO] [stderr] --> src/logger.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | const LEVEL_WARN: i32 = 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LEVEL_INFO` [INFO] [stderr] --> src/logger.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | const LEVEL_INFO: i32 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LEVEL_DEBUG` [INFO] [stderr] --> src/logger.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | const LEVEL_DEBUG: i32 = -1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LEVEL_VERY_DEEP_TRACE` [INFO] [stderr] --> src/logger.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | const LEVEL_VERY_DEEP_TRACE: i32 = -4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `warn` [INFO] [stderr] --> src/logger.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn warn(&self, msg: F) where F: Fn() -> String { self.log("[WARN] ", msg, LEVEL_WARN); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `info` [INFO] [stderr] --> src/logger.rs:25:2 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn info(&self, msg: F) where F: Fn() -> String { self.log("[INFO] ", msg, LEVEL_INFO); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `debug` [INFO] [stderr] --> src/logger.rs:27:2 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn debug(&self, msg: F) where F: Fn() -> String { self.log("[DEBUG] ", msg, LEVEL_DEBUG); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `very_deep_trace` [INFO] [stderr] --> src/logger.rs:33:2 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn very_deep_trace(&self, msg: F) where F: Fn() -> String { self.log("[V_DEEP_TRACE]", msg, LEVEL_VERY_DEEP_TRACE); } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/xml_client.rs:33:31 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn run(mut self, target: &String, reservation: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/xml_client.rs:33:53 [INFO] [stderr] | [INFO] [stderr] 33 | pub fn run(mut self, target: &String, reservation: &String) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 33 | pub fn run(mut self, target: &String, reservation: &str) { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `reservation.as_str()` to [INFO] [stderr] | [INFO] [stderr] 41 | match reservation { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/xml_client.rs:55:19 [INFO] [stderr] | [INFO] [stderr] 55 | let mut boxed: &mut Box = &mut self.listeners[i]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&mut ClientListener` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/xml_client.rs:76:8 [INFO] [stderr] | [INFO] [stderr] 76 | let mut move_req_listener: &mut ClientListener; [INFO] [stderr] | _____________________________^ [INFO] [stderr] 77 | | [INFO] [stderr] 78 | | if self.listeners.len() == 0 { [INFO] [stderr] 79 | | move_req_listener = &mut default_listener; [INFO] [stderr] 80 | | } else { [INFO] [stderr] 81 | | move_req_listener = &mut *self.listeners[0]; [INFO] [stderr] 82 | | } [INFO] [stderr] | |_____________________________^ help: it is more idiomatic to write: `let move_req_listener = if self.listeners.len() == 0 { &mut default_listener } else { &mut *self.listeners[0] };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/xml_client.rs:78:11 [INFO] [stderr] | [INFO] [stderr] 78 | if self.listeners.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.listeners.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:12:65 [INFO] [stderr] | [INFO] [stderr] 12 | let host = args.get_string("-h").or(args.get_string("--host")).unwrap_or("localhost".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "localhost".to_string())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/main.rs:12:35 [INFO] [stderr] | [INFO] [stderr] 12 | let host = args.get_string("-h").or(args.get_string("--host")).unwrap_or("localhost".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| args.get_string("--host"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:13:65 [INFO] [stderr] | [INFO] [stderr] 13 | let port = args.get_string("-p").or(args.get_string("--port")).unwrap_or("13050".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "13050".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/main.rs:13:35 [INFO] [stderr] | [INFO] [stderr] 13 | let port = args.get_string("-p").or(args.get_string("--port")).unwrap_or("13050".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| args.get_string("--port"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:14:79 [INFO] [stderr] | [INFO] [stderr] 14 | let reservation = args.get_string("-r").or(args.get_string("--reservation")).unwrap_or("".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/main.rs:14:42 [INFO] [stderr] | [INFO] [stderr] 14 | let reservation = args.get_string("-r").or(args.get_string("--reservation")).unwrap_or("".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| args.get_string("--reservation"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.02s [INFO] running `"docker" "inspect" "5a0b708d160dcca99104d47f1f838d3b615218c0cad6a0555eba5fefd1208f1c"` [INFO] running `"docker" "rm" "-f" "5a0b708d160dcca99104d47f1f838d3b615218c0cad6a0555eba5fefd1208f1c"` [INFO] [stdout] 5a0b708d160dcca99104d47f1f838d3b615218c0cad6a0555eba5fefd1208f1c