[INFO] cloning repository https://github.com/haumea-lang/haumea-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/haumea-lang/haumea-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhaumea-lang%2Fhaumea-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhaumea-lang%2Fhaumea-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b50ebe11ad0ec2e2b702016790b48c09c3950761
[INFO] testing haumea-lang/haumea-rs against 1.54.0 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhaumea-lang%2Fhaumea-rs" "/workspace/builds/worker-12/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/haumea-lang/haumea-rs on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/haumea-lang/haumea-rs
[INFO] finished tweaking git repo https://github.com/haumea-lang/haumea-rs
[INFO] tweaked toml for git repo https://github.com/haumea-lang/haumea-rs written to /workspace/builds/worker-12/source/Cargo.toml
[INFO] crate git repo https://github.com/haumea-lang/haumea-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 87669a7e8f935e53432566e1d5e751d0e4adedbec0e14a3769bbece777eba7d9
[INFO] running `Command { std: "docker" "start" "-a" "87669a7e8f935e53432566e1d5e751d0e4adedbec0e14a3769bbece777eba7d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "87669a7e8f935e53432566e1d5e751d0e4adedbec0e14a3769bbece777eba7d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87669a7e8f935e53432566e1d5e751d0e4adedbec0e14a3769bbece777eba7d9", kill_on_drop: false }`
[INFO] [stdout] 87669a7e8f935e53432566e1d5e751d0e4adedbec0e14a3769bbece777eba7d9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9daaf7f31c02b73c5d976d6fe6ca01c463fcd96a121e0e5c90a1a25189a33355
[INFO] running `Command { std: "docker" "start" "-a" "9daaf7f31c02b73c5d976d6fe6ca01c463fcd96a121e0e5c90a1a25189a33355", kill_on_drop: false }`
[INFO] [stderr]    Compiling haumea v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:179:16
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn match_token(mut token_stream: &mut Vec<Token>, expected: &Token) -> Result<Token, Token> {
[INFO] [stdout]     |                ----^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:339:18
[INFO] [stdout]     |
[INFO] [stdout] 339 | fn parse_declare(mut token_stream: &mut Vec<Token>) -> Statement {
[INFO] [stdout]     |                  ----^^^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parser.rs:191:26
[INFO] [stdout]     |
[INFO] [stdout] 191 |         Err(t) => panic!(format!("Expected {:?}, but found {:?}!", expected, t)),
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 191 |         Err(t) => panic!("Expected {:?}, but found {:?}!", expected, t),
[INFO] [stdout]     |                         --                                           --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.56s
[INFO] running `Command { std: "docker" "inspect" "9daaf7f31c02b73c5d976d6fe6ca01c463fcd96a121e0e5c90a1a25189a33355", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9daaf7f31c02b73c5d976d6fe6ca01c463fcd96a121e0e5c90a1a25189a33355", kill_on_drop: false }`
[INFO] [stdout] 9daaf7f31c02b73c5d976d6fe6ca01c463fcd96a121e0e5c90a1a25189a33355
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 272962ec169f7d380f88c5cff6a4af3a55a456a1306340d0850a63e045cef09a
[INFO] running `Command { std: "docker" "start" "-a" "272962ec169f7d380f88c5cff6a4af3a55a456a1306340d0850a63e045cef09a", kill_on_drop: false }`
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:179:16
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn match_token(mut token_stream: &mut Vec<Token>, expected: &Token) -> Result<Token, Token> {
[INFO] [stdout]     |                ----^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling haumea v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:339:18
[INFO] [stdout]     |
[INFO] [stdout] 339 | fn parse_declare(mut token_stream: &mut Vec<Token>) -> Statement {
[INFO] [stdout]     |                  ----^^^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parser.rs:191:26
[INFO] [stdout]     |
[INFO] [stdout] 191 |         Err(t) => panic!(format!("Expected {:?}, but found {:?}!", expected, t)),
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 191 |         Err(t) => panic!("Expected {:?}, but found {:?}!", expected, t),
[INFO] [stdout]     |                         --                                           --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:179:16
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn match_token(mut token_stream: &mut Vec<Token>, expected: &Token) -> Result<Token, Token> {
[INFO] [stdout]     |                ----^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:339:18
[INFO] [stdout]     |
[INFO] [stdout] 339 | fn parse_declare(mut token_stream: &mut Vec<Token>) -> Statement {
[INFO] [stdout]     |                  ----^^^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parser.rs:191:26
[INFO] [stdout]     |
[INFO] [stdout] 191 |         Err(t) => panic!(format!("Expected {:?}, but found {:?}!", expected, t)),
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 191 |         Err(t) => panic!("Expected {:?}, but found {:?}!", expected, t),
[INFO] [stdout]     |                         --                                           --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.80s
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "272962ec169f7d380f88c5cff6a4af3a55a456a1306340d0850a63e045cef09a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "272962ec169f7d380f88c5cff6a4af3a55a456a1306340d0850a63e045cef09a", kill_on_drop: false }`
[INFO] [stdout] 272962ec169f7d380f88c5cff6a4af3a55a456a1306340d0850a63e045cef09a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0b16997b119ee119a1eeac9951810674c151dfb99878912d0056736265b9ae73
[INFO] running `Command { std: "docker" "start" "-a" "0b16997b119ee119a1eeac9951810674c151dfb99878912d0056736265b9ae73", kill_on_drop: false }`
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parser.rs:179:16
[INFO] [stderr]     |
[INFO] [stderr] 179 | fn match_token(mut token_stream: &mut Vec<Token>, expected: &Token) -> Result<Token, Token> {
[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: variable does not need to be mutable
[INFO] [stderr]    --> src/parser.rs:339:18
[INFO] [stderr]     |
[INFO] [stderr] 339 | fn parse_declare(mut token_stream: &mut Vec<Token>) -> Statement {
[INFO] [stderr]     |                  ----^^^^^^^^^^^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/parser.rs:191:26
[INFO] [stderr]     |
[INFO] [stderr] 191 |         Err(t) => panic!(format!("Expected {:?}, but found {:?}!", expected, t)),
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stderr]     = note: this is no longer accepted in Rust 2021
[INFO] [stderr]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 191 |         Err(t) => panic!("Expected {:?}, but found {:?}!", expected, t),
[INFO] [stderr]     |                         --                                           --
[INFO] [stderr] 
[INFO] [stderr] warning: 3 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parser.rs:179:16
[INFO] [stderr]     |
[INFO] [stderr] 179 | fn match_token(mut token_stream: &mut Vec<Token>, expected: &Token) -> Result<Token, Token> {
[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: variable does not need to be mutable
[INFO] [stderr]    --> src/parser.rs:339:18
[INFO] [stderr]     |
[INFO] [stderr] 339 | fn parse_declare(mut token_stream: &mut Vec<Token>) -> Statement {
[INFO] [stderr]     |                  ----^^^^^^^^^^^^
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/parser.rs:191:26
[INFO] [stderr]     |
[INFO] [stderr] 191 |         Err(t) => panic!(format!("Expected {:?}, but found {:?}!", expected, t)),
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stderr]     = note: this is no longer accepted in Rust 2021
[INFO] [stderr]     = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 191 |         Err(t) => panic!("Expected {:?}, but found {:?}!", expected, t),
[INFO] [stderr]     |                         --                                           --
[INFO] [stderr] 
[INFO] [stderr] warning: 3 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/haumea-1169fbd004222a4e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/haumea-585d41e144f5a310)
[INFO] [stderr]      Running tests/test_codegen.rs (/opt/rustwide/target/debug/deps/test_codegen-078227029c7b78a8)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_parser.rs (/opt/rustwide/target/debug/deps/test_parser-67ff3d894779624a)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_display_addition ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stderr]      Running tests/test_scanner.rs (/opt/rustwide/target/debug/deps/test_scanner-985a8fa5d1b70bdf)
[INFO] [stdout] test test_comments ... ok
[INFO] [stderr]    Doc-tests haumea
[INFO] [stdout] test test_keywords ... ok
[INFO] [stdout] test test_scanner_simple ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/scanner.rs - scanner::Scanner::next (line 325) ... FAILED
[INFO] [stdout] test src/scanner.rs - scanner::Scanner::new (line 126) ... ok
[INFO] [stdout] test src/scanner.rs - scanner::Scanner::next_token (line 156) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/scanner.rs - scanner::Scanner::next (line 325) stdout ----
[INFO] [stdout] error[E0596]: cannot borrow `s` as mutable, as it is not declared as mutable
[INFO] [stdout]  --> src/scanner.rs:328:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |  let s = Scanner::new("1 + 1");
[INFO] [stdout]   |      - help: consider changing this to be mutable: `mut s`
[INFO] [stdout] 6 |  assert_eq!(s.next(), Some(Token::Number(1, ScanState::empty())));
[INFO] [stdout]   |             ^ cannot borrow as mutable
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `s` as mutable, as it is not declared as mutable
[INFO] [stdout]  --> src/scanner.rs:329:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |  let s = Scanner::new("1 + 1");
[INFO] [stdout]   |      - help: consider changing this to be mutable: `mut s`
[INFO] [stdout] 6 |  assert_eq!(s.next(), Some(Token::Number(1, ScanState::empty())));
[INFO] [stdout] 7 |  assert_eq!(s.next(), Some(Token::Operator("+".to_string(), ScanState::empty())));
[INFO] [stdout]   |             ^ cannot borrow as mutable
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `s` as mutable, as it is not declared as mutable
[INFO] [stdout]  --> src/scanner.rs:330:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |  let s = Scanner::new("1 + 1");
[INFO] [stdout]   |      - help: consider changing this to be mutable: `mut s`
[INFO] [stdout] ...
[INFO] [stdout] 8 |  assert_eq!(s.next(), Some(Token::Number(1, ScanState::empty())));
[INFO] [stdout]   |             ^ cannot borrow as mutable
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `s` as mutable, as it is not declared as mutable
[INFO] [stdout]  --> src/scanner.rs:331:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |  let s = Scanner::new("1 + 1");
[INFO] [stdout]   |      - help: consider changing this to be mutable: `mut s`
[INFO] [stdout] ...
[INFO] [stdout] 9 |  assert_eq!(s.next(), None);
[INFO] [stdout]   |             ^ cannot borrow as mutable
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0596`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/scanner.rs - scanner::Scanner::next (line 325)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.61s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass '--doc'
[INFO] running `Command { std: "docker" "inspect" "0b16997b119ee119a1eeac9951810674c151dfb99878912d0056736265b9ae73", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b16997b119ee119a1eeac9951810674c151dfb99878912d0056736265b9ae73", kill_on_drop: false }`
[INFO] [stdout] 0b16997b119ee119a1eeac9951810674c151dfb99878912d0056736265b9ae73
