[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 master#a26e97be8826d408309fffbd8168362365719f50 for pr-136776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshenkan%2Frustex" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/shenkan/rustex on toolchain a26e97be8826d408309fffbd8168362365719f50
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-3-tc1/source/Cargo.toml
[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" "+a26e97be8826d408309fffbd8168362365719f50" "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-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1af4f81826037fad024883968aa3ba38384bbbafac61b5a95546627810a8d696
[INFO] running `Command { std: "docker" "start" "-a" "1af4f81826037fad024883968aa3ba38384bbbafac61b5a95546627810a8d696", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1af4f81826037fad024883968aa3ba38384bbbafac61b5a95546627810a8d696", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1af4f81826037fad024883968aa3ba38384bbbafac61b5a95546627810a8d696", kill_on_drop: false }`
[INFO] [stdout] 1af4f81826037fad024883968aa3ba38384bbbafac61b5a95546627810a8d696
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 31af6d68f96fb1ddfbfa2fb270e4deb93fd445a7604c7f2e5b0673d042636bde
[INFO] running `Command { std: "docker" "start" "-a" "31af6d68f96fb1ddfbfa2fb270e4deb93fd445a7604c7f2e5b0673d042636bde", 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::<u8, InventorySlotStatus<T>>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::<u8, InventorySlotStatus<T>>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]    = note: if you meant to annotate an expression with a type, the type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
[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]    = note: if you meant to annotate an expression with a type, the type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
[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]     = note: if you meant to annotate an expression with a type, the type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
[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]     = note: if you meant to annotate an expression with a type, the type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
[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: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::<EquipmentSlot, Option<Equipment>>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::<EquipmentSlot, Option<Equipment>>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::<EquipmentSlot, Option<Equipment>>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::<EquipmentSlot, Option: Option<Equipment>>new(),
[INFO] [stdout]     |                                      +++++++
[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::<EquipmentSlot, Option<Equipment>>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::<EquipmentSlot, Option: Option<Equipment>>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::<Stat, u16>::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:20
[INFO] [stdout]     |
[INFO] [stdout] 197 |         Player {
[INFO] [stdout]     |         ------ while parsing this struct
[INFO] [stdout] ...
[INFO] [stdout] 202 |             HashMap::<Stat, u16>::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::<Stat, u16>::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::<Stat, u16: u16>::from_iter(IntoIter::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::<Stat, u16>::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::<Stat, u16: u16>::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: `{ <body> }`
[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: `{ <body> }`
[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::<EquipmentSlot, Option<Equipment>>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: 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: `{ <body> }`
[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: `{ <body> }`
[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] [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] [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: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: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: 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[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: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: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[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: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[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]    |                              ^^ help: add `..`: `(..)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #109417 <https://github.com/rust-lang/rust/issues/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-02-09; consider upgrading it if it is out of date
[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]    |                              ^^ help: add `..`: `(..)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #109417 <https://github.com/rust-lang/rust/issues/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-02-09; consider upgrading it if it is out of date
[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: 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<u8, InventorySlotStatus>
[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<T> = Option<T>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 75 |     slots: HashMap<u8, InventorySlotStatus<T>>
[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<u8, InventorySlotStatus>
[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<T> = Option<T>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^ -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 75 |     slots: HashMap<u8, InventorySlotStatus<T>>
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
[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] error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
[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] error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
[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[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
[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[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 functions
[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: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[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 functions
[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[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
[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: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[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 functions
[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[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] 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] [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] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `ex1` (bin "ex1" test) due to 35 previous errors
[INFO] running `Command { std: "docker" "inspect" "31af6d68f96fb1ddfbfa2fb270e4deb93fd445a7604c7f2e5b0673d042636bde", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31af6d68f96fb1ddfbfa2fb270e4deb93fd445a7604c7f2e5b0673d042636bde", kill_on_drop: false }`
[INFO] [stdout] 31af6d68f96fb1ddfbfa2fb270e4deb93fd445a7604c7f2e5b0673d042636bde
