[INFO] cloning repository https://github.com/jtomada/redis
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jtomada/redis" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjtomada%2Fredis", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjtomada%2Fredis'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8b33cd0844eb42e108b987c95169aa70d378a4ea
[INFO] testing jtomada/redis against 1.98.0-beta.1 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjtomada%2Fredis" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jtomada/redis
[INFO] finished tweaking git repo https://github.com/jtomada/redis
[INFO] tweaked toml for git repo https://github.com/jtomada/redis written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jtomada/redis on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jtomada/redis already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2c805a5381ab45f4cd4d3b15b06309c13823265dd65591bf74ec0cef20898536
[INFO] running `Command { std: "docker" "start" "2c805a5381ab45f4cd4d3b15b06309c13823265dd65591bf74ec0cef20898536", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c805a5381ab45f4cd4d3b15b06309c13823265dd65591bf74ec0cef20898536", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2c805a5381ab45f4cd4d3b15b06309c13823265dd65591bf74ec0cef20898536" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c805a5381ab45f4cd4d3b15b06309c13823265dd65591bf74ec0cef20898536", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2c805a5381ab45f4cd4d3b15b06309c13823265dd65591bf74ec0cef20898536" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling pin-project-lite v0.2.14
[INFO] [stderr]    Compiling bytes v1.6.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling syn v2.0.69
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling tokio-macros v2.3.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling tokio v1.38.0
[INFO] [stderr]    Compiling codecrafters-redis v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected `;`, found `}`
[INFO] [stdout]   --> src/parser.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 |         }
[INFO] [stdout]    |          ^ help: add `;` here
[INFO] [stdout] 67 |     }
[INFO] [stdout]    |     - unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `str` cannot be indexed by `{integer}`
[INFO] [stdout]   --> src/parser.rs:64:41
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let redis_value = match content[0] {
[INFO] [stdout]    |                                         ^ string indices are ranges of `usize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `SliceIndex<str>` is not implemented for `{integer}`
[INFO] [stdout]    = note: you can use `.chars().nth()` or `.bytes().nth()`
[INFO] [stdout]            for more information, see chapter 8 in The Book: <https://doc.rust-lang.org/book/ch08-02-strings.html#indexing-into-strings>
[INFO] [stdout] help: `usize` implements trait `SliceIndex<T>`
[INFO] [stdout]   --> /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/bstr/traits.rs:197:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SliceIndex<ByteStr>`
[INFO] [stdout]   --> /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/slice/index.rs:179:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SliceIndex<[T]>`
[INFO] [stdout]    = note: required for `String` to implement `Index<{integer}>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `String: From<str>` is not satisfied
[INFO] [stdout]   --> src/parser.rs:65:45
[INFO] [stdout]    |
[INFO] [stdout] 65 |             '+' => RedisValue::SimpleString(String::from(content[1..])),
[INFO] [stdout]    |                                             ^^^^^^ the trait `From<str>` is not implemented for `String`
[INFO] [stdout]    |
[INFO] [stdout]    = help: `String` implements trait `From<T>`:
[INFO] [stdout]              From<&String>
[INFO] [stdout]              From<&mut str>
[INFO] [stdout]              From<&str>
[INFO] [stdout]              From<Box<str>>
[INFO] [stdout]              From<Cow<'_, str>>
[INFO] [stdout]              From<char>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `str` cannot be known at compilation time
[INFO] [stdout]   --> src/parser.rs:65:58
[INFO] [stdout]    |
[INFO] [stdout] 65 |             '+' => RedisValue::SimpleString(String::from(content[1..])),
[INFO] [stdout]    |                                             ------------ ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `str`
[INFO] [stdout] note: required by a bound in `from`
[INFO] [stdout]   --> /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/convert/mod.rs:594:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parser.rs:57:52
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn parse<R: BufRead>(&self, reader: &mut R) -> Result<Option<RedisValue>, ParseError> {
[INFO] [stdout]    |        -----                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Result<Option<RedisValue>, ParseError>`, found `()`
[INFO] [stdout]    |        |
[INFO] [stdout]    |        implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]    |
[INFO] [stdout]    = note:   expected enum `Result<Option<RedisValue>, ParseError>`
[INFO] [stdout]            found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `results`
[INFO] [stdout]   --> src/main.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let results = parser.parse_stream(&mut reader);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `codecrafters-redis` (bin "codecrafters-redis") due to 5 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "2c805a5381ab45f4cd4d3b15b06309c13823265dd65591bf74ec0cef20898536", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c805a5381ab45f4cd4d3b15b06309c13823265dd65591bf74ec0cef20898536", kill_on_drop: false }`
[INFO] [stdout] 2c805a5381ab45f4cd4d3b15b06309c13823265dd65591bf74ec0cef20898536
