[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] testing shenkan/rustex against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshenkan%2Frustex" "/workspace/builds/worker-25/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-25/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/shenkan/rustex on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "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-25/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: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-25/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-25/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 552766818b092d8e9f20a87762ac9b77e76784a9b6e23a54cf2b283a97e55d8a [INFO] running `Command { std: "docker" "start" "-a" "552766818b092d8e9f20a87762ac9b77e76784a9b6e23a54cf2b283a97e55d8a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "552766818b092d8e9f20a87762ac9b77e76784a9b6e23a54cf2b283a97e55d8a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "552766818b092d8e9f20a87762ac9b77e76784a9b6e23a54cf2b283a97e55d8a", kill_on_drop: false }` [INFO] [stdout] 552766818b092d8e9f20a87762ac9b77e76784a9b6e23a54cf2b283a97e55d8a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-25/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-25/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e33c01aab534804036e691b6556e59176425571fba51e05a898f65d8d343606e [INFO] running `Command { std: "docker" "start" "-a" "e33c01aab534804036e691b6556e59176425571fba51e05a898f65d8d343606e", kill_on_drop: false }` [INFO] [stderr] Compiling 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 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] [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] 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] 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] [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] [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] [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] [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] [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[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 undeclared crate or module `thiserror` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the derive macro `Error` [INFO] [stdout] --> src/main.rs:20:32 [INFO] [stdout] | [INFO] [stdout] 20 | #[derive(Debug, PartialEq, Eq, Error)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [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 determine resolution for the derive macro `Error` [INFO] [stdout] --> src/main.rs:26:32 [INFO] [stdout] | [INFO] [stdout] 26 | #[derive(Debug, PartialEq, Eq, Error)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [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[E0433]: failed to resolve: use of undeclared crate or module `fmt` [INFO] [stdout] --> src/main.rs:53:6 [INFO] [stdout] | [INFO] [stdout] 53 | impl fmt::Display for RequirementsError { [INFO] [stdout] | ^^^ use of undeclared crate or module `fmt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `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 undeclared crate or module `fmt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `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 undeclared crate or module `fmt` [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[E0423]: expected value, found enum `InventoryError` [INFO] [stdout] --> src/main.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | Err(InventoryError:InventoryFull) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the enum is defined here [INFO] [stdout] --> src/main.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | / enum InventoryError { [INFO] [stdout] 22 | | #[error("Inventory is full")] [INFO] [stdout] 23 | | InventoryFull [INFO] [stdout] 24 | | } [INFO] [stdout] | |_^ [INFO] [stdout] help: you might have meant to use the following enum variant [INFO] [stdout] | [INFO] [stdout] 99 | Err(InventoryError::InventoryFull:InventoryFull) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `InventoryFull` in this scope [INFO] [stdout] --> src/main.rs:99:28 [INFO] [stdout] | [INFO] [stdout] 74 | struct Inventory { [INFO] [stdout] | ---------------- similarly named struct `Inventory` defined here [INFO] [stdout] ... [INFO] [stdout] 99 | Err(InventoryError:InventoryFull) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is an enum variant `crate::InventoryError::InventoryFull`; try using the variant's enum [INFO] [stdout] | [INFO] [stdout] 99 | Err(InventoryError:crate::InventoryError) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] help: maybe you meant to write a path separator here [INFO] [stdout] | [INFO] [stdout] 99 | Err(InventoryError::InventoryFull) [INFO] [stdout] | ~~ [INFO] [stdout] help: a struct with a similar name exists [INFO] [stdout] | [INFO] [stdout] 99 | Err(InventoryError:Inventory) [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] | ^^^^^^^^^^^^ help: you might have meant to use the available field: `self.requirements` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected value, found enum `EquipError` [INFO] [stdout] --> src/main.rs:172:21 [INFO] [stdout] | [INFO] [stdout] 172 | Err(EquipError:Requirements(RequirementsError::new(requirements))) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the enum is defined here [INFO] [stdout] --> src/main.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | / enum EquipError { [INFO] [stdout] 28 | | #[error("Item cannot be equipped in this slot")] [INFO] [stdout] 29 | | WrongSlot(EquipmentSlot), [INFO] [stdout] 30 | | #[error("Item requirements not met")] [INFO] [stdout] 31 | | Requirements(RequirementsError) [INFO] [stdout] 32 | | } [INFO] [stdout] | |_^ [INFO] [stdout] help: the following enum variants are available [INFO] [stdout] | [INFO] [stdout] 172 | Err((EquipError::Requirements(/* fields */)):Requirements(RequirementsError::new(requirements))) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] 172 | Err((EquipError::WrongSlot(/* fields */)):Requirements(RequirementsError::new(requirements))) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Requirements` in this scope [INFO] [stdout] --> src/main.rs:172:32 [INFO] [stdout] | [INFO] [stdout] 172 | Err(EquipError:Requirements(RequirementsError::new(requirements))) [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: there is an enum variant `crate::EquipError::Requirements`; try using the variant's enum [INFO] [stdout] | [INFO] [stdout] 172 | Err(EquipError:crate::EquipError) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~ [INFO] [stdout] help: maybe you meant to write a path separator here [INFO] [stdout] | [INFO] [stdout] 172 | Err(EquipError::Requirements(RequirementsError::new(requirements))) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0214]: parenthesized type parameters may only be used with a `Fn` trait [INFO] [stdout] --> src/main.rs:172:64 [INFO] [stdout] | [INFO] [stdout] 172 | Err(EquipError:Requirements(RequirementsError::new(requirements))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | only `Fn` traits may use parentheses [INFO] [stdout] | help: use angle brackets instead: `new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0214]: parenthesized type parameters may only be used with a `Fn` trait [INFO] [stdout] --> src/main.rs:68:27 [INFO] [stdout] | [INFO] [stdout] 68 | inventory: Inventory::new(), [INFO] [stdout] | ^^^^^ only `Fn` traits may use parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0223]: ambiguous associated type [INFO] [stdout] --> src/main.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | inventory: Inventory::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use fully-qualified syntax: `::new` [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: aborting due to 31 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0107, E0214, E0223, E0412, E0423, E0425, E0432, E0433, E0437. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0107`. [INFO] [stdout] [INFO] [stderr] error: could not compile `ex1` due to 32 previous errors [INFO] running `Command { std: "docker" "inspect" "e33c01aab534804036e691b6556e59176425571fba51e05a898f65d8d343606e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e33c01aab534804036e691b6556e59176425571fba51e05a898f65d8d343606e", kill_on_drop: false }` [INFO] [stdout] e33c01aab534804036e691b6556e59176425571fba51e05a898f65d8d343606e