Oct 14 18:26:56.512 INFO testing ianjvb/rusttictactoe against try#40d4795669493f1965de7c44029c69552134fe1f for rustdoc-test-static-cling-1 Oct 14 18:26:56.512 INFO running `"docker" "create" "-v" "/mnt/big/crater/./work/local/target-dirs/rustdoc-test-static-cling-1/worker-0/try#40d4795669493f1965de7c44029c69552134fe1f:/target:rw,Z" "-v" "/mnt/big/crater/./work/local/test-source/worker-0/rustdoc-test-static-cling-1/try#40d4795669493f1965de7c44029c69552134fe1f:/source:ro,Z" "-v" "/mnt/big/crater/./work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/./work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +40d4795669493f1965de7c44029c69552134fe1f-alt build --frozen" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Oct 14 18:26:56.923 INFO blam! afec82ae11d7ff4f613b62a12c900d522564c1bf511a77f90c8ee13636beab22 Oct 14 18:26:56.931 INFO running `"docker" "start" "-a" "afec82ae11d7ff4f613b62a12c900d522564c1bf511a77f90c8ee13636beab22"` Oct 14 18:26:57.836 INFO kablam! usermod: no changes Oct 14 18:26:57.877 INFO kablam! Compiling rand v0.3.15 Oct 14 18:26:59.597 INFO kablam! Compiling guessing_game v0.1.0 (/source) Oct 14 18:26:59.803 INFO kablam! warning: unused import: `rand::Rng` Oct 14 18:26:59.803 INFO kablam! --> src/main.rs:2:5 Oct 14 18:26:59.803 INFO kablam! | Oct 14 18:26:59.803 INFO kablam! 2 | use rand::Rng; Oct 14 18:26:59.803 INFO kablam! | ^^^^^^^^^ Oct 14 18:26:59.803 INFO kablam! | Oct 14 18:26:59.803 INFO kablam! = note: #[warn(unused_imports)] on by default Oct 14 18:26:59.803 INFO kablam! Oct 14 18:26:59.803 INFO kablam! warning: unnecessary parentheses around `while` condition Oct 14 18:26:59.803 INFO kablam! --> src/main.rs:22:10 Oct 14 18:26:59.803 INFO kablam! | Oct 14 18:26:59.803 INFO kablam! 22 | while(!gameOver) Oct 14 18:26:59.803 INFO kablam! | ^^^^^^^^^^^ help: remove these parentheses Oct 14 18:26:59.803 INFO kablam! | Oct 14 18:26:59.803 INFO kablam! = note: #[warn(unused_parens)] on by default Oct 14 18:26:59.803 INFO kablam! Oct 14 18:26:59.803 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:26:59.803 INFO kablam! --> src/main.rs:27:9 Oct 14 18:26:59.803 INFO kablam! | Oct 14 18:26:59.803 INFO kablam! 27 | if(userWon) Oct 14 18:26:59.803 INFO kablam! | ^^^^^^^^^ help: remove these parentheses Oct 14 18:26:59.803 INFO kablam! Oct 14 18:26:59.803 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:26:59.803 INFO kablam! --> src/main.rs:35:9 Oct 14 18:26:59.803 INFO kablam! | Oct 14 18:26:59.803 INFO kablam! 35 | if(computerWon) Oct 14 18:26:59.803 INFO kablam! | ^^^^^^^^^^^^^ help: remove these parentheses Oct 14 18:26:59.803 INFO kablam! Oct 14 18:26:59.803 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:26:59.803 INFO kablam! --> src/main.rs:45:7 Oct 14 18:26:59.803 INFO kablam! | Oct 14 18:26:59.803 INFO kablam! 45 | if(computerWon) Oct 14 18:26:59.803 INFO kablam! | ^^^^^^^^^^^^^ help: remove these parentheses Oct 14 18:26:59.803 INFO kablam! Oct 14 18:26:59.803 INFO kablam! warning: unnecessary parentheses around `while` condition Oct 14 18:26:59.803 INFO kablam! --> src/main.rs:54:10 Oct 14 18:26:59.803 INFO kablam! | Oct 14 18:26:59.803 INFO kablam! 54 | while(!done) Oct 14 18:26:59.803 INFO kablam! | ^^^^^^^ help: remove these parentheses Oct 14 18:26:59.803 INFO kablam! Oct 14 18:26:59.803 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:26:59.803 INFO kablam! --> src/main.rs:60:9 Oct 14 18:26:59.804 INFO kablam! | Oct 14 18:26:59.804 INFO kablam! 60 | if(userMoveStr.trim() == "Y") Oct 14 18:26:59.804 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Oct 14 18:26:59.804 INFO kablam! Oct 14 18:26:59.804 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:26:59.804 INFO kablam! --> src/main.rs:65:14 Oct 14 18:26:59.804 INFO kablam! | Oct 14 18:26:59.804 INFO kablam! 65 | else if(userMoveStr.trim() == "N") Oct 14 18:26:59.804 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Oct 14 18:26:59.804 INFO kablam! Oct 14 18:26:59.804 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:26:59.804 INFO kablam! --> src/main.rs:86:7 Oct 14 18:26:59.804 INFO kablam! | Oct 14 18:26:59.804 INFO kablam! 86 | if(v[(userMove - 1) as usize] == computerChar || v[(userMove - 1) as usize] == userChar) Oct 14 18:26:59.804 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 14 18:26:59.804 INFO kablam! help: remove these parentheses Oct 14 18:26:59.804 INFO kablam! | Oct 14 18:26:59.804 INFO kablam! 86 | ifv[(userMove - 1) as usize] == computerChar || Oct 14 18:26:59.804 INFO kablam! 87 | v[(userMove - 1) as usize] == userChar Oct 14 18:26:59.804 INFO kablam! | Oct 14 18:26:59.804 INFO kablam! Oct 14 18:26:59.804 INFO kablam! warning: unnecessary parentheses around `while` condition Oct 14 18:26:59.804 INFO kablam! --> src/main.rs:110:10 Oct 14 18:26:59.804 INFO kablam! | Oct 14 18:26:59.804 INFO kablam! 110 | while(!madeAMove) Oct 14 18:26:59.804 INFO kablam! | ^^^^^^^^^^^^ help: remove these parentheses Oct 14 18:26:59.804 INFO kablam! Oct 14 18:26:59.804 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:26:59.804 INFO kablam! --> src/main.rs:115:9 Oct 14 18:26:59.804 INFO kablam! | Oct 14 18:26:59.804 INFO kablam! 115 | if(v[(rand) as usize] != computerChar && v[(rand) as usize] != userChar) Oct 14 18:26:59.804 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Oct 14 18:26:59.804 INFO kablam! Oct 14 18:26:59.804 INFO kablam! warning: unnecessary parentheses around `return` value Oct 14 18:26:59.804 INFO kablam! --> src/main.rs:127:12 Oct 14 18:26:59.804 INFO kablam! | Oct 14 18:26:59.804 INFO kablam! 127 | return ((v[0] == v[1] && v[1] == v[2]) || Oct 14 18:26:59.804 INFO kablam! | ____________^ Oct 14 18:26:59.804 INFO kablam! 128 | | (v[0] == v[3] && v[3] == v[6]) || Oct 14 18:26:59.804 INFO kablam! 129 | | (v[0] == v[4] && v[4] == v[8]) || Oct 14 18:26:59.804 INFO kablam! 130 | | (v[1] == v[4] && v[4] == v[7]) || Oct 14 18:26:59.804 INFO kablam! ... | Oct 14 18:26:59.804 INFO kablam! 133 | | (v[2] == v[5] && v[5] == v[8]) || Oct 14 18:26:59.804 INFO kablam! 134 | | (v[6] == v[7] && v[7] == v[8])) Oct 14 18:26:59.804 INFO kablam! | |___________________________________________^ Oct 14 18:26:59.804 INFO kablam! help: remove these parentheses Oct 14 18:26:59.804 INFO kablam! | Oct 14 18:26:59.804 INFO kablam! 127 | return (v[0] == v[1] && v[1] == v[2]) || (v[0] == v[3] && v[3] == v[6]) || Oct 14 18:26:59.804 INFO kablam! 128 | (v[0] == v[4] && v[4] == v[8]) || (v[1] == v[4] && v[4] == v[7]) || Oct 14 18:26:59.804 INFO kablam! 129 | (v[2] == v[4] && v[4] == v[6]) || (v[3] == v[4] && v[4] == v[5]) || Oct 14 18:26:59.804 INFO kablam! 130 | (v[2] == v[5] && v[5] == v[8]) || (v[6] == v[7] && v[7] == v[8]) Oct 14 18:26:59.804 INFO kablam! | Oct 14 18:26:59.804 INFO kablam! Oct 14 18:26:59.871 INFO kablam! warning: value assigned to `userWon` is never read Oct 14 18:26:59.871 INFO kablam! --> src/main.rs:19:13 Oct 14 18:26:59.871 INFO kablam! | Oct 14 18:26:59.871 INFO kablam! 19 | let mut userWon = false; Oct 14 18:26:59.871 INFO kablam! | ^^^^^^^ Oct 14 18:26:59.871 INFO kablam! | Oct 14 18:26:59.871 INFO kablam! = note: #[warn(unused_assignments)] on by default Oct 14 18:26:59.871 INFO kablam! Oct 14 18:26:59.871 INFO kablam! warning: value assigned to `gameOver` is never read Oct 14 18:26:59.871 INFO kablam! --> src/main.rs:29:11 Oct 14 18:26:59.871 INFO kablam! | Oct 14 18:26:59.871 INFO kablam! 29 | gameOver = true; Oct 14 18:26:59.871 INFO kablam! | ^^^^^^^^ Oct 14 18:26:59.871 INFO kablam! Oct 14 18:26:59.871 INFO kablam! warning: value assigned to `gameOver` is never read Oct 14 18:26:59.871 INFO kablam! --> src/main.rs:37:11 Oct 14 18:26:59.871 INFO kablam! | Oct 14 18:26:59.871 INFO kablam! 37 | gameOver = true; Oct 14 18:26:59.871 INFO kablam! | ^^^^^^^^ Oct 14 18:26:59.871 INFO kablam! Oct 14 18:26:59.871 INFO kablam! warning: value assigned to `done` is never read Oct 14 18:26:59.871 INFO kablam! --> src/main.rs:67:9 Oct 14 18:26:59.871 INFO kablam! | Oct 14 18:26:59.871 INFO kablam! 67 | done = true; Oct 14 18:26:59.871 INFO kablam! | ^^^^ Oct 14 18:26:59.871 INFO kablam! Oct 14 18:26:59.875 INFO kablam! warning: variable does not need to be mutable Oct 14 18:26:59.875 INFO kablam! --> src/main.rs:114:11 Oct 14 18:26:59.875 INFO kablam! | Oct 14 18:26:59.875 INFO kablam! 114 | let mut rand = range.ind_sample(&mut rng); Oct 14 18:26:59.875 INFO kablam! | ----^^^^ Oct 14 18:26:59.875 INFO kablam! | | Oct 14 18:26:59.875 INFO kablam! | help: remove this `mut` Oct 14 18:26:59.875 INFO kablam! | Oct 14 18:26:59.875 INFO kablam! = note: #[warn(unused_mut)] on by default Oct 14 18:26:59.875 INFO kablam! Oct 14 18:26:59.883 INFO kablam! warning: static variable `computerChar` should have an upper case name such as `COMPUTER_CHAR` Oct 14 18:26:59.883 INFO kablam! --> src/main.rs:6:1 Oct 14 18:26:59.883 INFO kablam! | Oct 14 18:26:59.883 INFO kablam! 6 | static computerChar: char = 'O'; Oct 14 18:26:59.883 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 14 18:26:59.883 INFO kablam! | Oct 14 18:26:59.883 INFO kablam! = note: #[warn(non_upper_case_globals)] on by default Oct 14 18:26:59.883 INFO kablam! Oct 14 18:26:59.883 INFO kablam! warning: static variable `userChar` should have an upper case name such as `USER_CHAR` Oct 14 18:26:59.883 INFO kablam! --> src/main.rs:7:1 Oct 14 18:26:59.883 INFO kablam! | Oct 14 18:26:59.883 INFO kablam! 7 | static userChar: char = 'X'; Oct 14 18:26:59.883 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 14 18:26:59.883 INFO kablam! Oct 14 18:26:59.883 INFO kablam! warning: function `playGame` should have a snake case name such as `play_game` Oct 14 18:26:59.883 INFO kablam! --> src/main.rs:13:1 Oct 14 18:26:59.883 INFO kablam! | Oct 14 18:26:59.883 INFO kablam! 13 | / fn playGame() Oct 14 18:26:59.883 INFO kablam! 14 | | { Oct 14 18:26:59.883 INFO kablam! 15 | | println!("Tic Tac Toe!!"); Oct 14 18:26:59.883 INFO kablam! 16 | | let mut board = resetBoard(); Oct 14 18:26:59.883 INFO kablam! ... | Oct 14 18:26:59.883 INFO kablam! 71 | | Oct 14 18:26:59.883 INFO kablam! 72 | | } Oct 14 18:26:59.883 INFO kablam! | |_^ Oct 14 18:26:59.883 INFO kablam! | Oct 14 18:26:59.883 INFO kablam! = note: #[warn(non_snake_case)] on by default Oct 14 18:26:59.883 INFO kablam! Oct 14 18:26:59.883 INFO kablam! warning: variable `gameOver` should have a snake case name such as `game_over` Oct 14 18:26:59.883 INFO kablam! --> src/main.rs:17:9 Oct 14 18:26:59.883 INFO kablam! | Oct 14 18:26:59.883 INFO kablam! 17 | let mut gameOver = false; Oct 14 18:26:59.883 INFO kablam! | ^^^^^^^^^^^^ Oct 14 18:26:59.883 INFO kablam! Oct 14 18:26:59.883 INFO kablam! warning: variable `computerWon` should have a snake case name such as `computer_won` Oct 14 18:26:59.883 INFO kablam! --> src/main.rs:18:9 Oct 14 18:26:59.883 INFO kablam! | Oct 14 18:26:59.883 INFO kablam! 18 | let mut computerWon = false; Oct 14 18:26:59.883 INFO kablam! | ^^^^^^^^^^^^^^^ Oct 14 18:26:59.883 INFO kablam! Oct 14 18:26:59.883 INFO kablam! warning: variable `userWon` should have a snake case name such as `user_won` Oct 14 18:26:59.883 INFO kablam! --> src/main.rs:19:9 Oct 14 18:26:59.884 INFO kablam! | Oct 14 18:26:59.884 INFO kablam! 19 | let mut userWon = false; Oct 14 18:26:59.884 INFO kablam! | ^^^^^^^^^^^ Oct 14 18:26:59.884 INFO kablam! Oct 14 18:26:59.884 INFO kablam! warning: variable `userMoveStr` should have a snake case name such as `user_move_str` Oct 14 18:26:59.884 INFO kablam! --> src/main.rs:57:11 Oct 14 18:26:59.884 INFO kablam! | Oct 14 18:26:59.884 INFO kablam! 57 | let mut userMoveStr = String::new(); Oct 14 18:26:59.884 INFO kablam! | ^^^^^^^^^^^^^^^ Oct 14 18:26:59.884 INFO kablam! Oct 14 18:26:59.884 INFO kablam! warning: function `resetBoard` should have a snake case name such as `reset_board` Oct 14 18:26:59.884 INFO kablam! --> src/main.rs:73:1 Oct 14 18:26:59.884 INFO kablam! | Oct 14 18:26:59.884 INFO kablam! 73 | / fn resetBoard() -> [char; 9] Oct 14 18:26:59.884 INFO kablam! 74 | | { Oct 14 18:26:59.884 INFO kablam! 75 | | return ['1', '2', '3', '4', '5', '6', '7', '8', '9']; Oct 14 18:26:59.884 INFO kablam! 76 | | } Oct 14 18:26:59.884 INFO kablam! | |_^ Oct 14 18:26:59.884 INFO kablam! Oct 14 18:26:59.884 INFO kablam! warning: function `getUserInput` should have a snake case name such as `get_user_input` Oct 14 18:26:59.884 INFO kablam! --> src/main.rs:78:1 Oct 14 18:26:59.884 INFO kablam! | Oct 14 18:26:59.884 INFO kablam! 78 | / fn getUserInput(v:&mut [char; 9]) Oct 14 18:26:59.884 INFO kablam! 79 | | { Oct 14 18:26:59.884 INFO kablam! 80 | | println!("Please type a number 1-9 for your move"); Oct 14 18:26:59.884 INFO kablam! 81 | | let mut userMoveStr = String::new(); Oct 14 18:26:59.884 INFO kablam! ... | Oct 14 18:26:59.884 INFO kablam! 94 | | } Oct 14 18:26:59.884 INFO kablam! 95 | | } Oct 14 18:26:59.884 INFO kablam! | |_^ Oct 14 18:26:59.884 INFO kablam! Oct 14 18:26:59.884 INFO kablam! warning: variable `userMoveStr` should have a snake case name such as `user_move_str` Oct 14 18:26:59.884 INFO kablam! --> src/main.rs:81:9 Oct 14 18:26:59.884 INFO kablam! | Oct 14 18:26:59.884 INFO kablam! 81 | let mut userMoveStr = String::new(); Oct 14 18:26:59.884 INFO kablam! | ^^^^^^^^^^^^^^^ Oct 14 18:26:59.884 INFO kablam! Oct 14 18:26:59.884 INFO kablam! warning: variable `userMove` should have a snake case name such as `user_move` Oct 14 18:26:59.884 INFO kablam! --> src/main.rs:84:9 Oct 14 18:26:59.884 INFO kablam! | Oct 14 18:26:59.884 INFO kablam! 84 | let userMove: i32 = userMoveStr.trim().parse() Oct 14 18:26:59.884 INFO kablam! | ^^^^^^^^ Oct 14 18:26:59.884 INFO kablam! Oct 14 18:26:59.884 INFO kablam! warning: function `printGameBoard` should have a snake case name such as `print_game_board` Oct 14 18:26:59.884 INFO kablam! --> src/main.rs:97:1 Oct 14 18:26:59.884 INFO kablam! | Oct 14 18:26:59.884 INFO kablam! 97 | / fn printGameBoard(v: &[char; 9]) Oct 14 18:26:59.884 INFO kablam! 98 | | { Oct 14 18:26:59.884 INFO kablam! 99 | | println!("----------------------------------------"); Oct 14 18:26:59.884 INFO kablam! 100 | | println!("\t{}|{}|{}", v[0], v[1], v[2]); Oct 14 18:26:59.884 INFO kablam! ... | Oct 14 18:26:59.884 INFO kablam! 104 | | println!(""); Oct 14 18:26:59.884 INFO kablam! 105 | | } Oct 14 18:26:59.884 INFO kablam! | |_^ Oct 14 18:26:59.884 INFO kablam! Oct 14 18:26:59.884 INFO kablam! warning: function `makeComputerMove` should have a snake case name such as `make_computer_move` Oct 14 18:26:59.884 INFO kablam! --> src/main.rs:107:1 Oct 14 18:26:59.884 INFO kablam! | Oct 14 18:26:59.884 INFO kablam! 107 | / fn makeComputerMove(v: &mut [char; 9]) Oct 14 18:26:59.884 INFO kablam! 108 | | { Oct 14 18:26:59.884 INFO kablam! 109 | | let mut madeAMove = false; Oct 14 18:26:59.884 INFO kablam! 110 | | while(!madeAMove) Oct 14 18:26:59.884 INFO kablam! ... | Oct 14 18:26:59.884 INFO kablam! 122 | | } Oct 14 18:26:59.884 INFO kablam! 123 | | } Oct 14 18:26:59.884 INFO kablam! | |_^ Oct 14 18:26:59.884 INFO kablam! Oct 14 18:26:59.884 INFO kablam! warning: variable `madeAMove` should have a snake case name such as `made_amove` Oct 14 18:26:59.884 INFO kablam! --> src/main.rs:109:9 Oct 14 18:26:59.884 INFO kablam! | Oct 14 18:26:59.884 INFO kablam! 109 | let mut madeAMove = false; Oct 14 18:26:59.884 INFO kablam! | ^^^^^^^^^^^^^ Oct 14 18:26:59.884 INFO kablam! Oct 14 18:26:59.884 INFO kablam! warning: function `checkForWinner` should have a snake case name such as `check_for_winner` Oct 14 18:26:59.884 INFO kablam! --> src/main.rs:125:1 Oct 14 18:26:59.884 INFO kablam! | Oct 14 18:26:59.884 INFO kablam! 125 | / fn checkForWinner(v: &[char; 9]) -> bool Oct 14 18:26:59.884 INFO kablam! 126 | | { Oct 14 18:26:59.884 INFO kablam! 127 | | return ((v[0] == v[1] && v[1] == v[2]) || Oct 14 18:26:59.884 INFO kablam! 128 | | (v[0] == v[3] && v[3] == v[6]) || Oct 14 18:26:59.884 INFO kablam! ... | Oct 14 18:26:59.884 INFO kablam! 135 | | Oct 14 18:26:59.884 INFO kablam! 136 | | } Oct 14 18:26:59.884 INFO kablam! | |_^ Oct 14 18:26:59.885 INFO kablam! Oct 14 18:27:00.415 INFO kablam! Finished dev [unoptimized + debuginfo] target(s) in 2.55s Oct 14 18:27:00.422 INFO kablam! su: No module specific data is present Oct 14 18:27:00.961 INFO running `"docker" "rm" "-f" "afec82ae11d7ff4f613b62a12c900d522564c1bf511a77f90c8ee13636beab22"` Oct 14 18:27:01.363 INFO blam! afec82ae11d7ff4f613b62a12c900d522564c1bf511a77f90c8ee13636beab22 Oct 14 18:27:01.368 INFO running `"docker" "create" "-v" "/mnt/big/crater/./work/local/target-dirs/rustdoc-test-static-cling-1/worker-0/try#40d4795669493f1965de7c44029c69552134fe1f:/target:rw,Z" "-v" "/mnt/big/crater/./work/local/test-source/worker-0/rustdoc-test-static-cling-1/try#40d4795669493f1965de7c44029c69552134fe1f:/source:ro,Z" "-v" "/mnt/big/crater/./work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/./work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +40d4795669493f1965de7c44029c69552134fe1f-alt test --frozen --no-run" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Oct 14 18:27:01.787 INFO blam! cc0c3f614f31ff0c837adf56e7b89cc5e8e9d9cad028d7b9dcc1d34be9059473 Oct 14 18:27:01.789 INFO running `"docker" "start" "-a" "cc0c3f614f31ff0c837adf56e7b89cc5e8e9d9cad028d7b9dcc1d34be9059473"` Oct 14 18:27:02.839 INFO kablam! usermod: no changes Oct 14 18:27:02.904 INFO kablam! Compiling guessing_game v0.1.0 (/source) Oct 14 18:27:03.263 INFO kablam! warning: unused import: `rand::Rng` Oct 14 18:27:03.263 INFO kablam! --> src/main.rs:2:5 Oct 14 18:27:03.263 INFO kablam! | Oct 14 18:27:03.263 INFO kablam! 2 | use rand::Rng; Oct 14 18:27:03.263 INFO kablam! | ^^^^^^^^^ Oct 14 18:27:03.263 INFO kablam! | Oct 14 18:27:03.263 INFO kablam! = note: #[warn(unused_imports)] on by default Oct 14 18:27:03.263 INFO kablam! Oct 14 18:27:03.263 INFO kablam! warning: unnecessary parentheses around `while` condition Oct 14 18:27:03.263 INFO kablam! --> src/main.rs:22:10 Oct 14 18:27:03.263 INFO kablam! | Oct 14 18:27:03.263 INFO kablam! 22 | while(!gameOver) Oct 14 18:27:03.263 INFO kablam! | ^^^^^^^^^^^ help: remove these parentheses Oct 14 18:27:03.263 INFO kablam! | Oct 14 18:27:03.263 INFO kablam! = note: #[warn(unused_parens)] on by default Oct 14 18:27:03.263 INFO kablam! Oct 14 18:27:03.263 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:27:03.263 INFO kablam! --> src/main.rs:27:9 Oct 14 18:27:03.263 INFO kablam! | Oct 14 18:27:03.263 INFO kablam! 27 | if(userWon) Oct 14 18:27:03.263 INFO kablam! | ^^^^^^^^^ help: remove these parentheses Oct 14 18:27:03.263 INFO kablam! Oct 14 18:27:03.263 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:27:03.263 INFO kablam! --> src/main.rs:35:9 Oct 14 18:27:03.263 INFO kablam! | Oct 14 18:27:03.263 INFO kablam! 35 | if(computerWon) Oct 14 18:27:03.263 INFO kablam! | ^^^^^^^^^^^^^ help: remove these parentheses Oct 14 18:27:03.263 INFO kablam! Oct 14 18:27:03.263 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:27:03.263 INFO kablam! --> src/main.rs:45:7 Oct 14 18:27:03.263 INFO kablam! | Oct 14 18:27:03.263 INFO kablam! 45 | if(computerWon) Oct 14 18:27:03.263 INFO kablam! | ^^^^^^^^^^^^^ help: remove these parentheses Oct 14 18:27:03.263 INFO kablam! Oct 14 18:27:03.263 INFO kablam! warning: unnecessary parentheses around `while` condition Oct 14 18:27:03.263 INFO kablam! --> src/main.rs:54:10 Oct 14 18:27:03.263 INFO kablam! | Oct 14 18:27:03.263 INFO kablam! 54 | while(!done) Oct 14 18:27:03.263 INFO kablam! | ^^^^^^^ help: remove these parentheses Oct 14 18:27:03.263 INFO kablam! Oct 14 18:27:03.263 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:27:03.263 INFO kablam! --> src/main.rs:60:9 Oct 14 18:27:03.263 INFO kablam! | Oct 14 18:27:03.263 INFO kablam! 60 | if(userMoveStr.trim() == "Y") Oct 14 18:27:03.263 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Oct 14 18:27:03.263 INFO kablam! Oct 14 18:27:03.264 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:27:03.264 INFO kablam! --> src/main.rs:65:14 Oct 14 18:27:03.264 INFO kablam! | Oct 14 18:27:03.264 INFO kablam! 65 | else if(userMoveStr.trim() == "N") Oct 14 18:27:03.264 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Oct 14 18:27:03.264 INFO kablam! Oct 14 18:27:03.270 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:27:03.270 INFO kablam! --> src/main.rs:86:7 Oct 14 18:27:03.270 INFO kablam! | Oct 14 18:27:03.270 INFO kablam! 86 | if(v[(userMove - 1) as usize] == computerChar || v[(userMove - 1) as usize] == userChar) Oct 14 18:27:03.270 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 14 18:27:03.270 INFO kablam! help: remove these parentheses Oct 14 18:27:03.270 INFO kablam! | Oct 14 18:27:03.270 INFO kablam! 86 | ifv[(userMove - 1) as usize] == computerChar || Oct 14 18:27:03.270 INFO kablam! 87 | v[(userMove - 1) as usize] == userChar Oct 14 18:27:03.270 INFO kablam! | Oct 14 18:27:03.270 INFO kablam! Oct 14 18:27:03.270 INFO kablam! warning: unnecessary parentheses around `while` condition Oct 14 18:27:03.270 INFO kablam! --> src/main.rs:110:10 Oct 14 18:27:03.270 INFO kablam! | Oct 14 18:27:03.270 INFO kablam! 110 | while(!madeAMove) Oct 14 18:27:03.270 INFO kablam! | ^^^^^^^^^^^^ help: remove these parentheses Oct 14 18:27:03.270 INFO kablam! Oct 14 18:27:03.270 INFO kablam! warning: unnecessary parentheses around `if` condition Oct 14 18:27:03.270 INFO kablam! --> src/main.rs:115:9 Oct 14 18:27:03.270 INFO kablam! | Oct 14 18:27:03.270 INFO kablam! 115 | if(v[(rand) as usize] != computerChar && v[(rand) as usize] != userChar) Oct 14 18:27:03.270 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses Oct 14 18:27:03.270 INFO kablam! Oct 14 18:27:03.270 INFO kablam! warning: unnecessary parentheses around `return` value Oct 14 18:27:03.270 INFO kablam! --> src/main.rs:127:12 Oct 14 18:27:03.270 INFO kablam! | Oct 14 18:27:03.270 INFO kablam! 127 | return ((v[0] == v[1] && v[1] == v[2]) || Oct 14 18:27:03.270 INFO kablam! | ____________^ Oct 14 18:27:03.270 INFO kablam! 128 | | (v[0] == v[3] && v[3] == v[6]) || Oct 14 18:27:03.270 INFO kablam! 129 | | (v[0] == v[4] && v[4] == v[8]) || Oct 14 18:27:03.270 INFO kablam! 130 | | (v[1] == v[4] && v[4] == v[7]) || Oct 14 18:27:03.270 INFO kablam! ... | Oct 14 18:27:03.270 INFO kablam! 133 | | (v[2] == v[5] && v[5] == v[8]) || Oct 14 18:27:03.270 INFO kablam! 134 | | (v[6] == v[7] && v[7] == v[8])) Oct 14 18:27:03.270 INFO kablam! | |___________________________________________^ Oct 14 18:27:03.270 INFO kablam! help: remove these parentheses Oct 14 18:27:03.270 INFO kablam! | Oct 14 18:27:03.270 INFO kablam! 127 | return (v[0] == v[1] && v[1] == v[2]) || (v[0] == v[3] && v[3] == v[6]) || Oct 14 18:27:03.270 INFO kablam! 128 | (v[0] == v[4] && v[4] == v[8]) || (v[1] == v[4] && v[4] == v[7]) || Oct 14 18:27:03.270 INFO kablam! 129 | (v[2] == v[4] && v[4] == v[6]) || (v[3] == v[4] && v[4] == v[5]) || Oct 14 18:27:03.270 INFO kablam! 130 | (v[2] == v[5] && v[5] == v[8]) || (v[6] == v[7] && v[7] == v[8]) Oct 14 18:27:03.270 INFO kablam! | Oct 14 18:27:03.270 INFO kablam! Oct 14 18:27:03.332 INFO kablam! warning: value assigned to `userWon` is never read Oct 14 18:27:03.332 INFO kablam! --> src/main.rs:19:13 Oct 14 18:27:03.332 INFO kablam! | Oct 14 18:27:03.332 INFO kablam! 19 | let mut userWon = false; Oct 14 18:27:03.332 INFO kablam! | ^^^^^^^ Oct 14 18:27:03.332 INFO kablam! | Oct 14 18:27:03.332 INFO kablam! = note: #[warn(unused_assignments)] on by default Oct 14 18:27:03.333 INFO kablam! Oct 14 18:27:03.333 INFO kablam! warning: value assigned to `gameOver` is never read Oct 14 18:27:03.333 INFO kablam! --> src/main.rs:29:11 Oct 14 18:27:03.333 INFO kablam! | Oct 14 18:27:03.333 INFO kablam! 29 | gameOver = true; Oct 14 18:27:03.333 INFO kablam! | ^^^^^^^^ Oct 14 18:27:03.333 INFO kablam! Oct 14 18:27:03.333 INFO kablam! warning: value assigned to `gameOver` is never read Oct 14 18:27:03.333 INFO kablam! --> src/main.rs:37:11 Oct 14 18:27:03.333 INFO kablam! | Oct 14 18:27:03.333 INFO kablam! 37 | gameOver = true; Oct 14 18:27:03.333 INFO kablam! | ^^^^^^^^ Oct 14 18:27:03.333 INFO kablam! Oct 14 18:27:03.333 INFO kablam! warning: value assigned to `done` is never read Oct 14 18:27:03.333 INFO kablam! --> src/main.rs:67:9 Oct 14 18:27:03.333 INFO kablam! | Oct 14 18:27:03.333 INFO kablam! 67 | done = true; Oct 14 18:27:03.333 INFO kablam! | ^^^^ Oct 14 18:27:03.333 INFO kablam! Oct 14 18:27:03.345 INFO kablam! warning: variable does not need to be mutable Oct 14 18:27:03.345 INFO kablam! --> src/main.rs:114:11 Oct 14 18:27:03.345 INFO kablam! | Oct 14 18:27:03.345 INFO kablam! 114 | let mut rand = range.ind_sample(&mut rng); Oct 14 18:27:03.345 INFO kablam! | ----^^^^ Oct 14 18:27:03.345 INFO kablam! | | Oct 14 18:27:03.345 INFO kablam! | help: remove this `mut` Oct 14 18:27:03.345 INFO kablam! | Oct 14 18:27:03.345 INFO kablam! = note: #[warn(unused_mut)] on by default Oct 14 18:27:03.345 INFO kablam! Oct 14 18:27:03.345 INFO kablam! warning: static variable `computerChar` should have an upper case name such as `COMPUTER_CHAR` Oct 14 18:27:03.345 INFO kablam! --> src/main.rs:6:1 Oct 14 18:27:03.345 INFO kablam! | Oct 14 18:27:03.345 INFO kablam! 6 | static computerChar: char = 'O'; Oct 14 18:27:03.345 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 14 18:27:03.345 INFO kablam! | Oct 14 18:27:03.345 INFO kablam! = note: #[warn(non_upper_case_globals)] on by default Oct 14 18:27:03.345 INFO kablam! Oct 14 18:27:03.345 INFO kablam! warning: static variable `userChar` should have an upper case name such as `USER_CHAR` Oct 14 18:27:03.345 INFO kablam! --> src/main.rs:7:1 Oct 14 18:27:03.345 INFO kablam! | Oct 14 18:27:03.345 INFO kablam! 7 | static userChar: char = 'X'; Oct 14 18:27:03.345 INFO kablam! | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Oct 14 18:27:03.345 INFO kablam! Oct 14 18:27:03.345 INFO kablam! warning: function `playGame` should have a snake case name such as `play_game` Oct 14 18:27:03.345 INFO kablam! --> src/main.rs:13:1 Oct 14 18:27:03.345 INFO kablam! | Oct 14 18:27:03.345 INFO kablam! 13 | / fn playGame() Oct 14 18:27:03.345 INFO kablam! 14 | | { Oct 14 18:27:03.346 INFO kablam! 15 | | println!("Tic Tac Toe!!"); Oct 14 18:27:03.346 INFO kablam! 16 | | let mut board = resetBoard(); Oct 14 18:27:03.346 INFO kablam! ... | Oct 14 18:27:03.346 INFO kablam! 71 | | Oct 14 18:27:03.346 INFO kablam! 72 | | } Oct 14 18:27:03.346 INFO kablam! | |_^ Oct 14 18:27:03.346 INFO kablam! | Oct 14 18:27:03.346 INFO kablam! = note: #[warn(non_snake_case)] on by default Oct 14 18:27:03.346 INFO kablam! Oct 14 18:27:03.346 INFO kablam! warning: variable `gameOver` should have a snake case name such as `game_over` Oct 14 18:27:03.346 INFO kablam! --> src/main.rs:17:9 Oct 14 18:27:03.346 INFO kablam! | Oct 14 18:27:03.346 INFO kablam! 17 | let mut gameOver = false; Oct 14 18:27:03.346 INFO kablam! | ^^^^^^^^^^^^ Oct 14 18:27:03.346 INFO kablam! Oct 14 18:27:03.346 INFO kablam! warning: variable `computerWon` should have a snake case name such as `computer_won` Oct 14 18:27:03.346 INFO kablam! --> src/main.rs:18:9 Oct 14 18:27:03.346 INFO kablam! | Oct 14 18:27:03.346 INFO kablam! 18 | let mut computerWon = false; Oct 14 18:27:03.346 INFO kablam! | ^^^^^^^^^^^^^^^ Oct 14 18:27:03.346 INFO kablam! Oct 14 18:27:03.346 INFO kablam! warning: variable `userWon` should have a snake case name such as `user_won` Oct 14 18:27:03.346 INFO kablam! --> src/main.rs:19:9 Oct 14 18:27:03.346 INFO kablam! | Oct 14 18:27:03.346 INFO kablam! 19 | let mut userWon = false; Oct 14 18:27:03.346 INFO kablam! | ^^^^^^^^^^^ Oct 14 18:27:03.346 INFO kablam! Oct 14 18:27:03.346 INFO kablam! warning: variable `userMoveStr` should have a snake case name such as `user_move_str` Oct 14 18:27:03.346 INFO kablam! --> src/main.rs:57:11 Oct 14 18:27:03.346 INFO kablam! | Oct 14 18:27:03.346 INFO kablam! 57 | let mut userMoveStr = String::new(); Oct 14 18:27:03.346 INFO kablam! | ^^^^^^^^^^^^^^^ Oct 14 18:27:03.346 INFO kablam! Oct 14 18:27:03.346 INFO kablam! warning: function `resetBoard` should have a snake case name such as `reset_board` Oct 14 18:27:03.346 INFO kablam! --> src/main.rs:73:1 Oct 14 18:27:03.346 INFO kablam! | Oct 14 18:27:03.346 INFO kablam! 73 | / fn resetBoard() -> [char; 9] Oct 14 18:27:03.346 INFO kablam! 74 | | { Oct 14 18:27:03.346 INFO kablam! 75 | | return ['1', '2', '3', '4', '5', '6', '7', '8', '9']; Oct 14 18:27:03.346 INFO kablam! 76 | | } Oct 14 18:27:03.346 INFO kablam! | |_^ Oct 14 18:27:03.346 INFO kablam! Oct 14 18:27:03.346 INFO kablam! warning: function `getUserInput` should have a snake case name such as `get_user_input` Oct 14 18:27:03.346 INFO kablam! --> src/main.rs:78:1 Oct 14 18:27:03.346 INFO kablam! | Oct 14 18:27:03.346 INFO kablam! 78 | / fn getUserInput(v:&mut [char; 9]) Oct 14 18:27:03.346 INFO kablam! 79 | | { Oct 14 18:27:03.346 INFO kablam! 80 | | println!("Please type a number 1-9 for your move"); Oct 14 18:27:03.346 INFO kablam! 81 | | let mut userMoveStr = String::new(); Oct 14 18:27:03.346 INFO kablam! ... | Oct 14 18:27:03.346 INFO kablam! 94 | | } Oct 14 18:27:03.346 INFO kablam! 95 | | } Oct 14 18:27:03.346 INFO kablam! | |_^ Oct 14 18:27:03.346 INFO kablam! Oct 14 18:27:03.346 INFO kablam! warning: variable `userMoveStr` should have a snake case name such as `user_move_str` Oct 14 18:27:03.346 INFO kablam! --> src/main.rs:81:9 Oct 14 18:27:03.346 INFO kablam! | Oct 14 18:27:03.346 INFO kablam! 81 | let mut userMoveStr = String::new(); Oct 14 18:27:03.346 INFO kablam! | ^^^^^^^^^^^^^^^ Oct 14 18:27:03.346 INFO kablam! Oct 14 18:27:03.346 INFO kablam! warning: variable `userMove` should have a snake case name such as `user_move` Oct 14 18:27:03.346 INFO kablam! --> src/main.rs:84:9 Oct 14 18:27:03.346 INFO kablam! | Oct 14 18:27:03.346 INFO kablam! 84 | let userMove: i32 = userMoveStr.trim().parse() Oct 14 18:27:03.346 INFO kablam! | ^^^^^^^^ Oct 14 18:27:03.346 INFO kablam! Oct 14 18:27:03.346 INFO kablam! warning: function `printGameBoard` should have a snake case name such as `print_game_board` Oct 14 18:27:03.346 INFO kablam! --> src/main.rs:97:1 Oct 14 18:27:03.346 INFO kablam! | Oct 14 18:27:03.346 INFO kablam! 97 | / fn printGameBoard(v: &[char; 9]) Oct 14 18:27:03.346 INFO kablam! 98 | | { Oct 14 18:27:03.346 INFO kablam! 99 | | println!("----------------------------------------"); Oct 14 18:27:03.346 INFO kablam! 100 | | println!("\t{}|{}|{}", v[0], v[1], v[2]); Oct 14 18:27:03.346 INFO kablam! ... | Oct 14 18:27:03.346 INFO kablam! 104 | | println!(""); Oct 14 18:27:03.346 INFO kablam! 105 | | } Oct 14 18:27:03.346 INFO kablam! | |_^ Oct 14 18:27:03.346 INFO kablam! Oct 14 18:27:03.346 INFO kablam! warning: function `makeComputerMove` should have a snake case name such as `make_computer_move` Oct 14 18:27:03.346 INFO kablam! --> src/main.rs:107:1 Oct 14 18:27:03.346 INFO kablam! | Oct 14 18:27:03.346 INFO kablam! 107 | / fn makeComputerMove(v: &mut [char; 9]) Oct 14 18:27:03.346 INFO kablam! 108 | | { Oct 14 18:27:03.346 INFO kablam! 109 | | let mut madeAMove = false; Oct 14 18:27:03.347 INFO kablam! 110 | | while(!madeAMove) Oct 14 18:27:03.347 INFO kablam! ... | Oct 14 18:27:03.347 INFO kablam! 122 | | } Oct 14 18:27:03.347 INFO kablam! 123 | | } Oct 14 18:27:03.347 INFO kablam! | |_^ Oct 14 18:27:03.347 INFO kablam! Oct 14 18:27:03.347 INFO kablam! warning: variable `madeAMove` should have a snake case name such as `made_amove` Oct 14 18:27:03.347 INFO kablam! --> src/main.rs:109:9 Oct 14 18:27:03.347 INFO kablam! | Oct 14 18:27:03.347 INFO kablam! 109 | let mut madeAMove = false; Oct 14 18:27:03.347 INFO kablam! | ^^^^^^^^^^^^^ Oct 14 18:27:03.347 INFO kablam! Oct 14 18:27:03.347 INFO kablam! warning: function `checkForWinner` should have a snake case name such as `check_for_winner` Oct 14 18:27:03.347 INFO kablam! --> src/main.rs:125:1 Oct 14 18:27:03.347 INFO kablam! | Oct 14 18:27:03.347 INFO kablam! 125 | / fn checkForWinner(v: &[char; 9]) -> bool Oct 14 18:27:03.347 INFO kablam! 126 | | { Oct 14 18:27:03.347 INFO kablam! 127 | | return ((v[0] == v[1] && v[1] == v[2]) || Oct 14 18:27:03.347 INFO kablam! 128 | | (v[0] == v[3] && v[3] == v[6]) || Oct 14 18:27:03.347 INFO kablam! ... | Oct 14 18:27:03.347 INFO kablam! 135 | | Oct 14 18:27:03.347 INFO kablam! 136 | | } Oct 14 18:27:03.347 INFO kablam! | |_^ Oct 14 18:27:03.347 INFO kablam! Oct 14 18:27:03.774 INFO kablam! Finished dev [unoptimized + debuginfo] target(s) in 0.91s Oct 14 18:27:03.779 INFO kablam! su: No module specific data is present Oct 14 18:27:04.394 INFO running `"docker" "rm" "-f" "cc0c3f614f31ff0c837adf56e7b89cc5e8e9d9cad028d7b9dcc1d34be9059473"` Oct 14 18:27:04.609 INFO blam! cc0c3f614f31ff0c837adf56e7b89cc5e8e9d9cad028d7b9dcc1d34be9059473 Oct 14 18:27:04.615 INFO running `"docker" "create" "-v" "/mnt/big/crater/./work/local/target-dirs/rustdoc-test-static-cling-1/worker-0/try#40d4795669493f1965de7c44029c69552134fe1f:/target:rw,Z" "-v" "/mnt/big/crater/./work/local/test-source/worker-0/rustdoc-test-static-cling-1/try#40d4795669493f1965de7c44029c69552134fe1f:/source:ro,Z" "-v" "/mnt/big/crater/./work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/./work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +40d4795669493f1965de7c44029c69552134fe1f-alt test --frozen" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Oct 14 18:27:04.906 INFO blam! 7cfed9bdaa905938ff5bbd25298cdcde3f0d0819a487c23f98abe735bfd4917e Oct 14 18:27:04.915 INFO running `"docker" "start" "-a" "7cfed9bdaa905938ff5bbd25298cdcde3f0d0819a487c23f98abe735bfd4917e"` Oct 14 18:27:05.354 INFO kablam! usermod: no changes Oct 14 18:27:05.381 INFO kablam! Finished dev [unoptimized + debuginfo] target(s) in 0.01s Oct 14 18:27:05.381 INFO kablam! Running /target/debug/deps/guessing_game-d0e92de6f1f7f1f6 Oct 14 18:27:05.383 INFO blam! Oct 14 18:27:05.383 INFO blam! running 0 tests Oct 14 18:27:05.383 INFO blam! Oct 14 18:27:05.383 INFO blam! test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out Oct 14 18:27:05.383 INFO blam! Oct 14 18:27:05.384 INFO kablam! su: No module specific data is present Oct 14 18:27:05.656 INFO running `"docker" "rm" "-f" "7cfed9bdaa905938ff5bbd25298cdcde3f0d0819a487c23f98abe735bfd4917e"` Oct 14 18:27:05.760 INFO blam! 7cfed9bdaa905938ff5bbd25298cdcde3f0d0819a487c23f98abe735bfd4917e