[INFO] cloning repository https://github.com/shenkan/rustex [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shenkan/rustex" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshenkan%2Frustex", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshenkan%2Frustex'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] edef28ce9bb2a6f7df658a6243ba51bd85769675 [INFO] checking shenkan/rustex against try#78c81ee3917a99dcff6e2e6822800f0492c415c3 for pr-148967 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshenkan%2Frustex" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/shenkan/rustex [INFO] finished tweaking git repo https://github.com/shenkan/rustex [INFO] tweaked toml for git repo https://github.com/shenkan/rustex written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/shenkan/rustex on toolchain 78c81ee3917a99dcff6e2e6822800f0492c415c3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/shenkan/rustex 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" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] checking shenkan/rustex against try#78c81ee3917a99dcff6e2e6822800f0492c415c3 for pr-148967 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshenkan%2Frustex" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/shenkan/rustex [INFO] finished tweaking git repo https://github.com/shenkan/rustex [INFO] tweaked toml for git repo https://github.com/shenkan/rustex written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/shenkan/rustex on toolchain 78c81ee3917a99dcff6e2e6822800f0492c415c3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/shenkan/rustex 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" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c8889535eacb229e255d4db999e9c8a9dcd94a6b29b33c2844e7195a586a50e0 [INFO] running `Command { std: "docker" "start" "-a" "c8889535eacb229e255d4db999e9c8a9dcd94a6b29b33c2844e7195a586a50e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c8889535eacb229e255d4db999e9c8a9dcd94a6b29b33c2844e7195a586a50e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c8889535eacb229e255d4db999e9c8a9dcd94a6b29b33c2844e7195a586a50e0", kill_on_drop: false }` [INFO] [stdout] c8889535eacb229e255d4db999e9c8a9dcd94a6b29b33c2844e7195a586a50e0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 53b0a05970000bd39d86250c46950b3a7629d1371a1f2a90d2ddee44d3d02e22 [INFO] running `Command { std: "docker" "start" "-a" "53b0a05970000bd39d86250c46950b3a7629d1371a1f2a90d2ddee44d3d02e22", kill_on_drop: false }` [INFO] [stderr] Checking ex1 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: expected one of `!`, `.`, `::`, `;`, `?`, `else`, `{`, or an operator, found `new` [INFO] [stdout] --> src/main.rs:81:66 [INFO] [stdout] | [INFO] [stdout] 81 | let mut inventory = HashMap::>new(); [INFO] [stdout] | ^^^ expected one of 8 possible tokens [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `!`, `.`, `::`, `;`, `?`, `else`, `{`, or an operator, found `new` [INFO] [stdout] --> src/main.rs:81:66 [INFO] [stdout] | [INFO] [stdout] 81 | let mut inventory = HashMap::>new(); [INFO] [stdout] | ^^^ expected one of 8 possible tokens [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: path separator must be a double colon [INFO] [stdout] --> src/main.rs:99:27 [INFO] [stdout] | [INFO] [stdout] 99 | Err(InventoryError:InventoryFull) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: use a double colon instead [INFO] [stdout] | [INFO] [stdout] 99 | Err(InventoryError::InventoryFull) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: path separator must be a double colon [INFO] [stdout] --> src/main.rs:99:27 [INFO] [stdout] | [INFO] [stdout] 99 | Err(InventoryError:InventoryFull) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: use a double colon instead [INFO] [stdout] | [INFO] [stdout] 99 | Err(InventoryError::InventoryFull) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found `)` [INFO] [stdout] --> src/main.rs:109:50 [INFO] [stdout] | [INFO] [stdout] 109 | self.slots.iter().filter(|&(k, v)| *v == ) [INFO] [stdout] | --------- ^ expected expression [INFO] [stdout] | | [INFO] [stdout] | while parsing the body of this closure [INFO] [stdout] | [INFO] [stdout] help: you might have meant to open the body of the closure [INFO] [stdout] | [INFO] [stdout] 109 | self.slots.iter().filter(|&(k, v)| { *v == }) [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found `)` [INFO] [stdout] --> src/main.rs:109:50 [INFO] [stdout] | [INFO] [stdout] 109 | self.slots.iter().filter(|&(k, v)| *v == ) [INFO] [stdout] | --------- ^ expected expression [INFO] [stdout] | | [INFO] [stdout] | while parsing the body of this closure [INFO] [stdout] | [INFO] [stdout] help: you might have meant to open the body of the closure [INFO] [stdout] | [INFO] [stdout] 109 | self.slots.iter().filter(|&(k, v)| { *v == }) [INFO] [stdout] | + + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: path separator must be a double colon [INFO] [stdout] --> src/main.rs:172:31 [INFO] [stdout] | [INFO] [stdout] 172 | Err(EquipError:Requirements(RequirementsError::new(requirements))) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: use a double colon instead [INFO] [stdout] | [INFO] [stdout] 172 | Err(EquipError::Requirements(RequirementsError::new(requirements))) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: path separator must be a double colon [INFO] [stdout] --> src/main.rs:172:31 [INFO] [stdout] | [INFO] [stdout] 172 | Err(EquipError:Requirements(RequirementsError::new(requirements))) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: use a double colon instead [INFO] [stdout] | [INFO] [stdout] 172 | Err(EquipError::Requirements(RequirementsError::new(requirements))) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-item in item list [INFO] [stdout] --> src/main.rs:184:80 [INFO] [stdout] | [INFO] [stdout] 183 | impl CanHold for Equipment { [INFO] [stdout] | - item list starts here [INFO] [stdout] 184 | fn add_to_inventory(&self, player: &Player) -> Result<(), InventoryError>; { [INFO] [stdout] | - ^ non-item starts here [INFO] [stdout] | | [INFO] [stdout] | help: consider removing this semicolon [INFO] [stdout] ... [INFO] [stdout] 187 | } [INFO] [stdout] | - item list ends here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-item in item list [INFO] [stdout] --> src/main.rs:184:80 [INFO] [stdout] | [INFO] [stdout] 183 | impl CanHold for Equipment { [INFO] [stdout] | - item list starts here [INFO] [stdout] 184 | fn add_to_inventory(&self, player: &Player) -> Result<(), InventoryError>; { [INFO] [stdout] | - ^ non-item starts here [INFO] [stdout] | | [INFO] [stdout] | help: consider removing this semicolon [INFO] [stdout] ... [INFO] [stdout] 187 | } [INFO] [stdout] | - item list ends here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-item in item list [INFO] [stdout] --> src/main.rs:190:80 [INFO] [stdout] | [INFO] [stdout] 189 | impl CanHold for Item { [INFO] [stdout] | - item list starts here [INFO] [stdout] 190 | fn add_to_inventory(&self, player: &Player) -> Result<(), InventoryError>; { [INFO] [stdout] | - ^ non-item starts here [INFO] [stdout] | | [INFO] [stdout] | help: consider removing this semicolon [INFO] [stdout] ... [INFO] [stdout] 193 | } [INFO] [stdout] | - item list ends here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: non-item in item list [INFO] [stdout] --> src/main.rs:190:80 [INFO] [stdout] | [INFO] [stdout] 189 | impl CanHold for Item { [INFO] [stdout] | - item list starts here [INFO] [stdout] 190 | fn add_to_inventory(&self, player: &Player) -> Result<(), InventoryError>; { [INFO] [stdout] | - ^ non-item starts here [INFO] [stdout] | | [INFO] [stdout] | help: consider removing this semicolon [INFO] [stdout] ... [INFO] [stdout] 193 | } [INFO] [stdout] | - item list ends here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `,`, `:`, or `}`, found `::` [INFO] [stdout] --> src/main.rs:199:22 [INFO] [stdout] | [INFO] [stdout] 197 | Player { [INFO] [stdout] | ------ while parsing this struct [INFO] [stdout] 198 | name, [INFO] [stdout] 199 | Inventory::new(), [INFO] [stdout] | ---------^^ expected one of `,`, `:`, or `}` [INFO] [stdout] | | [INFO] [stdout] | while parsing this struct field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `,`, `:`, or `}`, found `::` [INFO] [stdout] --> src/main.rs:200:20 [INFO] [stdout] | [INFO] [stdout] 197 | Player { [INFO] [stdout] | ------ while parsing this struct [INFO] [stdout] ... [INFO] [stdout] 200 | HashMap::>new(), [INFO] [stdout] | -------^^ expected one of `,`, `:`, or `}` [INFO] [stdout] | | [INFO] [stdout] | while parsing this struct field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `,`, `:`, or `}`, found `::` [INFO] [stdout] --> src/main.rs:199:22 [INFO] [stdout] | [INFO] [stdout] 197 | Player { [INFO] [stdout] | ------ while parsing this struct [INFO] [stdout] 198 | name, [INFO] [stdout] 199 | Inventory::new(), [INFO] [stdout] | ---------^^ expected one of `,`, `:`, or `}` [INFO] [stdout] | | [INFO] [stdout] | while parsing this struct field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `,`, `:`, or `}`, found `<` [INFO] [stdout] --> src/main.rs:200:44 [INFO] [stdout] | [INFO] [stdout] 197 | Player { [INFO] [stdout] | ------ while parsing this struct [INFO] [stdout] ... [INFO] [stdout] 200 | HashMap::>new(), [INFO] [stdout] | ------^ expected one of `,`, `:`, or `}` [INFO] [stdout] | | [INFO] [stdout] | while parsing this struct field [INFO] [stdout] | [INFO] [stdout] help: try naming a field [INFO] [stdout] | [INFO] [stdout] 200 | HashMap::>new(), [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `,`, `:`, or `}`, found `::` [INFO] [stdout] --> src/main.rs:200:20 [INFO] [stdout] | [INFO] [stdout] 197 | Player { [INFO] [stdout] | ------ while parsing this struct [INFO] [stdout] ... [INFO] [stdout] 200 | HashMap::>new(), [INFO] [stdout] | -------^^ expected one of `,`, `:`, or `}` [INFO] [stdout] | | [INFO] [stdout] | while parsing this struct field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `,`, `:`, or `}`, found `::` [INFO] [stdout] --> src/main.rs:202:20 [INFO] [stdout] | [INFO] [stdout] 197 | Player { [INFO] [stdout] | ------ while parsing this struct [INFO] [stdout] ... [INFO] [stdout] 202 | HashMap::::from_iter(IntoIter::new([ [INFO] [stdout] | -------^^ expected one of `,`, `:`, or `}` [INFO] [stdout] | | [INFO] [stdout] | while parsing this struct field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `,`, `:`, or `}`, found `<` [INFO] [stdout] --> src/main.rs:200:44 [INFO] [stdout] | [INFO] [stdout] 197 | Player { [INFO] [stdout] | ------ while parsing this struct [INFO] [stdout] ... [INFO] [stdout] 200 | HashMap::>new(), [INFO] [stdout] | ------^ expected one of `,`, `:`, or `}` [INFO] [stdout] | | [INFO] [stdout] | while parsing this struct field [INFO] [stdout] | [INFO] [stdout] help: try naming a field [INFO] [stdout] | [INFO] [stdout] 200 | HashMap::>new(), [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `,`, `:`, or `}`, found `>` [INFO] [stdout] --> src/main.rs:202:32 [INFO] [stdout] | [INFO] [stdout] 197 | Player { [INFO] [stdout] | ------ while parsing this struct [INFO] [stdout] ... [INFO] [stdout] 202 | HashMap::::from_iter(IntoIter::new([ [INFO] [stdout] | ---^ expected one of `,`, `:`, or `}` [INFO] [stdout] | | [INFO] [stdout] | while parsing this struct field [INFO] [stdout] | [INFO] [stdout] help: try naming a field [INFO] [stdout] | [INFO] [stdout] 202 | HashMap::::from_iter(IntoIter::new([ [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `,`, `:`, or `}`, found `::` [INFO] [stdout] --> src/main.rs:202:20 [INFO] [stdout] | [INFO] [stdout] 197 | Player { [INFO] [stdout] | ------ while parsing this struct [INFO] [stdout] ... [INFO] [stdout] 202 | HashMap::::from_iter(IntoIter::new([ [INFO] [stdout] | -------^^ expected one of `,`, `:`, or `}` [INFO] [stdout] | | [INFO] [stdout] | while parsing this struct field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `,`, `:`, or `}`, found `>` [INFO] [stdout] --> src/main.rs:202:32 [INFO] [stdout] | [INFO] [stdout] 197 | Player { [INFO] [stdout] | ------ while parsing this struct [INFO] [stdout] ... [INFO] [stdout] 202 | HashMap::::from_iter(IntoIter::new([ [INFO] [stdout] | ---^ expected one of `,`, `:`, or `}` [INFO] [stdout] | | [INFO] [stdout] | while parsing this struct field [INFO] [stdout] | [INFO] [stdout] help: try naming a field [INFO] [stdout] | [INFO] [stdout] 202 | HashMap::::from_iter(IntoIter::new([ [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: associated function in `impl` without body [INFO] [stdout] --> src/main.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | fn add_to_inventory(&self, player: &Player) -> Result<(), InventoryError>; { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: provide a definition for the function: `{ }` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: associated function in `impl` without body [INFO] [stdout] --> src/main.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | fn add_to_inventory(&self, player: &Player) -> Result<(), InventoryError>; { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: provide a definition for the function: `{ }` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: no rules expected `new` [INFO] [stdout] --> src/main.rs:234:75 [INFO] [stdout] | [INFO] [stdout] 234 | assert_eq!(p.equipped, HashMap::>new()); [INFO] [stdout] | ^^^ no rules expected this token in macro call [INFO] [stdout] | [INFO] [stdout] = note: while trying to match sequence start [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `std::iterator` [INFO] [stdout] --> src/main.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | use std::iterator::IntoIter; [INFO] [stdout] | ^^^^^^^^ could not find `iterator` in `std` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `thiserror` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use thiserror::Error; [INFO] [stdout] | ^^^^^^^^^ use of unresolved module or unlinked crate `thiserror` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `thiserror`, use `cargo add thiserror` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `ex1` (bin "ex1" test) due to 12 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: cannot find attribute `error` in this scope [INFO] [stdout] --> src/main.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | #[error("Inventory is full")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `error` in this scope [INFO] [stdout] --> src/main.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | #[error("Item cannot be equipped in this slot")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `error` in this scope [INFO] [stdout] --> src/main.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | #[error("Item requirements not met")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0437]: type `Error` is not a member of trait `CanEquip` [INFO] [stdout] --> src/main.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | type Error = EquipError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ not a member of trait `CanEquip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `fmt` [INFO] [stdout] --> src/main.rs:53:6 [INFO] [stdout] | [INFO] [stdout] 53 | impl fmt::Display for RequirementsError { [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `fmt` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `fmt`, use `cargo add fmt` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 1 + use std::fmt; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `fmt` [INFO] [stdout] --> src/main.rs:54:27 [INFO] [stdout] | [INFO] [stdout] 54 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `fmt` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `fmt`, use `cargo add fmt` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 1 + use std::fmt; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `fmt` [INFO] [stdout] --> src/main.rs:54:46 [INFO] [stdout] | [INFO] [stdout] 54 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { [INFO] [stdout] | ^^^ use of unresolved module or unlinked crate `fmt` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `fmt`, use `cargo add fmt` to add it to your `Cargo.toml` [INFO] [stdout] help: consider importing this module [INFO] [stdout] | [INFO] [stdout] 1 + use std::fmt; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `requirements` in this scope [INFO] [stdout] --> src/main.rs:166:46 [INFO] [stdout] | [INFO] [stdout] 166 | if self.owner.stats.get(k) < requirements.get(k) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to use the available field [INFO] [stdout] | [INFO] [stdout] 166 | if self.owner.stats.get(k) < self.requirements.get(k) { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `requirements` in this scope [INFO] [stdout] --> src/main.rs:172:68 [INFO] [stdout] | [INFO] [stdout] 172 | Err(EquipError:Requirements(RequirementsError::new(requirements))) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to use the available field [INFO] [stdout] | [INFO] [stdout] 172 | Err(EquipError:Requirements(RequirementsError::new(self.requirements))) [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: return type notation arguments must be elided with `..` [INFO] [stdout] --> src/main.rs:68:30 [INFO] [stdout] | [INFO] [stdout] 68 | inventory: Inventory::new(), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #109417 for more information [INFO] [stdout] = help: add `#![feature(return_type_notation)]` to the crate attributes to enable [INFO] [stdout] = note: this compiler was built on 2025-11-15; consider upgrading it if it is out of date [INFO] [stdout] help: use the correct syntax by adding `..` to the arguments [INFO] [stdout] | [INFO] [stdout] 68 | inventory: Inventory::new(..), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: return type notation not allowed in this position yet [INFO] [stdout] --> src/main.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | inventory: Inventory::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: missing generics for type alias `InventorySlotStatus` [INFO] [stdout] --> src/main.rs:75:24 [INFO] [stdout] | [INFO] [stdout] 75 | slots: HashMap [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ expected 1 generic argument [INFO] [stdout] | [INFO] [stdout] note: type alias defined here, with 1 generic parameter: `T` [INFO] [stdout] --> src/main.rs:36:6 [INFO] [stdout] | [INFO] [stdout] 36 | type InventorySlotStatus = Option; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ - [INFO] [stdout] help: add missing generic argument [INFO] [stdout] | [INFO] [stdout] 75 | slots: HashMap> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0121]: the placeholder `_` is not allowed within types on item signatures for methods [INFO] [stdout] --> src/main.rs:148:31 [INFO] [stdout] | [INFO] [stdout] 148 | fn equip(&self) -> Result<_, Self::Error> { [INFO] [stdout] | ^ not allowed in type signatures [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `Error` not found for `Self` [INFO] [stdout] --> src/main.rs:148:40 [INFO] [stdout] | [INFO] [stdout] 148 | fn equip(&self) -> Result<_, Self::Error> { [INFO] [stdout] | ^^^^^ associated type `Error` not found [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0121]: the placeholder `_` is not allowed within types on item signatures for methods [INFO] [stdout] --> src/main.rs:162:44 [INFO] [stdout] | [INFO] [stdout] 162 | fn check_requirements(&self) -> Result<_, Self::Error> { [INFO] [stdout] | ^ not allowed in type signatures [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `Error` not found for `Self` [INFO] [stdout] --> src/main.rs:162:53 [INFO] [stdout] | [INFO] [stdout] 162 | fn check_requirements(&self) -> Result<_, Self::Error> { [INFO] [stdout] | ^^^^^ associated type `Error` not found [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0121]: the placeholder `_` is not allowed within types on item signatures for methods [INFO] [stdout] --> src/main.rs:119:61 [INFO] [stdout] | [INFO] [stdout] 119 | fn check_requirements(&self, player: &Player) -> Result<_, EquipError>; [INFO] [stdout] | ^ not allowed in type signatures [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0050]: method `check_requirements` has 1 parameter but the declaration in trait `CanEquip::check_requirements` has 2 [INFO] [stdout] --> src/main.rs:162:27 [INFO] [stdout] | [INFO] [stdout] 119 | fn check_requirements(&self, player: &Player) -> Result<_, EquipError>; [INFO] [stdout] | ---------------------- trait requires 2 parameters [INFO] [stdout] ... [INFO] [stdout] 162 | fn check_requirements(&self) -> Result<_, Self::Error> { [INFO] [stdout] | ^^^^^ expected 2 parameters, found 1 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0121]: the placeholder `_` is not allowed within types on item signatures for methods [INFO] [stdout] --> src/main.rs:114:59 [INFO] [stdout] | [INFO] [stdout] 114 | fn add_to_inventory(&self, player: &Player) -> Result<_, InventoryError>; [INFO] [stdout] | ^ not allowed in type signatures [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0050, E0107, E0121, E0220, E0425, E0432, E0433, E0437. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0050`. [INFO] [stdout] [INFO] [stderr] error: could not compile `ex1` (bin "ex1") due to 34 previous errors [INFO] running `Command { std: "docker" "inspect" "53b0a05970000bd39d86250c46950b3a7629d1371a1f2a90d2ddee44d3d02e22", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "53b0a05970000bd39d86250c46950b3a7629d1371a1f2a90d2ddee44d3d02e22", kill_on_drop: false }` [INFO] [stdout] 53b0a05970000bd39d86250c46950b3a7629d1371a1f2a90d2ddee44d3d02e22