[INFO] cloning repository https://github.com/AlecDivito/wrt [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AlecDivito/wrt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlecDivito%2Fwrt", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlecDivito%2Fwrt'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e22000b0068fc0cd3dbebf8232a3599ab6fbeea6 [INFO] building AlecDivito/wrt against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlecDivito%2Fwrt" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/AlecDivito/wrt on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/AlecDivito/wrt [INFO] finished tweaking git repo https://github.com/AlecDivito/wrt [INFO] tweaked toml for git repo https://github.com/AlecDivito/wrt written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/AlecDivito/wrt 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 33fd115acdbc55daa6d3c74562cc37a00af38564bcc4fc012817305a481c5d49 [INFO] running `Command { std: "docker" "start" "-a" "33fd115acdbc55daa6d3c74562cc37a00af38564bcc4fc012817305a481c5d49", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "33fd115acdbc55daa6d3c74562cc37a00af38564bcc4fc012817305a481c5d49", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33fd115acdbc55daa6d3c74562cc37a00af38564bcc4fc012817305a481c5d49", kill_on_drop: false }` [INFO] [stdout] 33fd115acdbc55daa6d3c74562cc37a00af38564bcc4fc012817305a481c5d49 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 951ed80e7234bcb084e1132f05bf08e2f679436cf3bbf5301996a3e3dc05e005 [INFO] running `Command { std: "docker" "start" "-a" "951ed80e7234bcb084e1132f05bf08e2f679436cf3bbf5301996a3e3dc05e005", kill_on_drop: false }` [INFO] [stderr] Compiling wrt v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved imports `module::function`, `module::instruction` [INFO] [stdout] --> src/lib.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | use module::{function::Frame, instruction::Instruction, module::Module}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^ could not find `instruction` in `module` [INFO] [stdout] | | [INFO] [stdout] | could not find `function` in `module` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `crate::module::export`, `crate::module::import`, `crate::module::instruction` [INFO] [stdout] --> src/block.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | module::{export::Export, import::Import, instruction::Instruction}, [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^^^^^^^^ could not find `instruction` in `module` [INFO] [stdout] | | | [INFO] [stdout] | | could not find `import` in `module` [INFO] [stdout] | could not find `export` in `module` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved imports `super::export`, `super::function`, `super::global`, `super::import` [INFO] [stdout] --> src/module/module.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use super::{export::Export, function::Function, global::Global, import::Import}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^^^ could not find `import` in `super` [INFO] [stdout] | | | | [INFO] [stdout] | | | could not find `global` in `super` [INFO] [stdout] | | could not find `function` in `super` [INFO] [stdout] | could not find `export` in `super` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Identifier` in this scope [INFO] [stdout] --> src/module/module.rs:72:33 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn function(&self, id: &Identifier) -> Option<&Function> { [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `convert::TryFrom` [INFO] [stdout] --> src/block.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | convert::TryFrom, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Identifier` [INFO] [stdout] --> src/lib.rs:66:36 [INFO] [stdout] | [INFO] [stdout] 66 | .function(&Identifier::String(id.to_owned())) [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type `Identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `Module` has no field named `globals` [INFO] [stdout] --> src/module/module.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | globals: Vec::new(), [INFO] [stdout] | ^^^^^^^ `Module` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `Module` has no field named `functions` [INFO] [stdout] --> src/module/module.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | functions: Vec::new(), [INFO] [stdout] | ^^^^^^^^^ `Module` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `Module` has no field named `exports` [INFO] [stdout] --> src/module/module.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | exports: Vec::new(), [INFO] [stdout] | ^^^^^^^ `Module` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: all struct fields are already assigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `exports` on type `Module` [INFO] [stdout] --> src/module/module.rs:42:36 [INFO] [stdout] | [INFO] [stdout] 42 | ... module.exports.insert(export.id(), export); [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available field is: `types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `functions` on type `Module` [INFO] [stdout] --> src/module/module.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | module.functions.push(func); [INFO] [stdout] | ^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available field is: `types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `exports` on type `Module` [INFO] [stdout] --> src/module/module.rs:48:32 [INFO] [stdout] | [INFO] [stdout] 48 | module.exports.insert(export.id(), export); [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available field is: `types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `functions` on type `Module` [INFO] [stdout] --> src/module/module.rs:51:65 [INFO] [stdout] | [INFO] [stdout] 51 | ImportDefinition::Function(f) => module.functions.push(f), [INFO] [stdout] | ^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available field is: `types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `WasmError` in the current scope [INFO] [stdout] --> src/module/module.rs:54:47 [INFO] [stdout] | [INFO] [stdout] 54 | return Err(WasmError::new( [INFO] [stdout] | ^^^ function or associated item not found in `WasmError` [INFO] [stdout] | [INFO] [stdout] ::: src/error.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct WasmError { [INFO] [stdout] | -------------------- function or associated item `new` not found for this struct [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `WasmError` consider using one of the following associated functions: [INFO] [stdout] WasmError::err [INFO] [stdout] WasmError::expect [INFO] [stdout] WasmError::expected [INFO] [stdout] WasmError::expected_type [INFO] [stdout] --> src/error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn err(reason: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn expect(expected: BlockType, found: &BlockType) -> WasmError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub(crate) fn expected(expected: &[BlockType], found: &BlockType) -> WasmError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub(crate) fn expected_type(expected: ValueType, found: ValueType) -> WasmError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `WasmError` in the current scope [INFO] [stdout] --> src/module/module.rs:64:28 [INFO] [stdout] | [INFO] [stdout] 64 | Err(WasmError::new( [INFO] [stdout] | ^^^ function or associated item not found in `WasmError` [INFO] [stdout] | [INFO] [stdout] ::: src/error.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct WasmError { [INFO] [stdout] | -------------------- function or associated item `new` not found for this struct [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `WasmError` consider using one of the following associated functions: [INFO] [stdout] WasmError::err [INFO] [stdout] WasmError::expect [INFO] [stdout] WasmError::expected [INFO] [stdout] WasmError::expected_type [INFO] [stdout] --> src/error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn err(reason: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn expect(expected: BlockType, found: &BlockType) -> WasmError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub(crate) fn expected(expected: &[BlockType], found: &BlockType) -> WasmError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub(crate) fn expected_type(expected: ValueType, found: ValueType) -> WasmError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `functions` on type `&Module` [INFO] [stdout] --> src/module/module.rs:73:27 [INFO] [stdout] | [INFO] [stdout] 73 | for func in &self.functions { [INFO] [stdout] | ^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available field is: `types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `exports` on type `&Module` [INFO] [stdout] --> src/module/module.rs:82:14 [INFO] [stdout] | [INFO] [stdout] 82 | self.exports.get(&Identifier::String(name.into())) [INFO] [stdout] | ^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available field is: `types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Identifier` [INFO] [stdout] --> src/module/module.rs:82:27 [INFO] [stdout] | [INFO] [stdout] 82 | self.exports.get(&Identifier::String(name.into())) [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type `Identifier` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `self.value_type` as mutable, as it is behind a `&` reference [INFO] [stdout] --> src/values/func.rs:45:30 [INFO] [stdout] | [INFO] [stdout] 43 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { [INFO] [stdout] | ----- this is an immutable reference [INFO] [stdout] 44 | let content = if self.value_type.len() == 1 { [INFO] [stdout] 45 | let value_type = self.value_type.pop().unwrap().type_id_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ `self` is a `&` reference, so the data it refers to cannot be borrowed as mutable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.id` as enum variant `Some` which is behind a shared reference [INFO] [stdout] --> src/values/func.rs:46:31 [INFO] [stdout] | [INFO] [stdout] 46 | if let Some(id) = self.id { [INFO] [stdout] | -- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | data moved here [INFO] [stdout] | move occurs because `id` has type `String`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: consider borrowing here [INFO] [stdout] | [INFO] [stdout] 46 | if let Some(id) = &self.id { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/values/limit.rs:31:23 [INFO] [stdout] | [INFO] [stdout] 31 | .map_err(|e| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `parts` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/values/limit.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | parts.nth(0).unwrap() [INFO] [stdout] | ^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 25 | let mut parts = s.split(" "); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `parts` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/values/limit.rs:42:21 [INFO] [stdout] | [INFO] [stdout] 42 | parts.nth(0).unwrap() [INFO] [stdout] | ^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 25 | let mut parts = s.split(" "); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `parts` as mutable, as it is not declared as mutable [INFO] [stdout] --> src/values/limit.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | let parts = s.split(" "); [INFO] [stdout] | ^^^^^ not mutable [INFO] [stdout] 26 | [INFO] [stdout] 27 | let min = parts [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] ... [INFO] [stdout] 38 | let max = match parts.next() { [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 25 | let mut parts = s.split(" "); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.id` as enum variant `Some` which is behind a shared reference [INFO] [stdout] --> src/values/typeid.rs:32:41 [INFO] [stdout] | [INFO] [stdout] 32 | let content = if let Some(id) = self.id { [INFO] [stdout] | -- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | data moved here [INFO] [stdout] | move occurs because `id` has type `String`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: consider borrowing here [INFO] [stdout] | [INFO] [stdout] 32 | let content = if let Some(id) = &self.id { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ImportDefinition` [INFO] [stdout] --> src/module/module.rs:51:25 [INFO] [stdout] | [INFO] [stdout] 51 | ImportDefinition::Function(f) => module.functions.push(f), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ use of undeclared type `ImportDefinition` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0432, E0433, E0507, E0560, E0596, E0599, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] [INFO] [stderr] error: could not compile `wrt` (lib) due to 24 previous errors; 2 warnings emitted [INFO] running `Command { std: "docker" "inspect" "951ed80e7234bcb084e1132f05bf08e2f679436cf3bbf5301996a3e3dc05e005", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "951ed80e7234bcb084e1132f05bf08e2f679436cf3bbf5301996a3e3dc05e005", kill_on_drop: false }` [INFO] [stdout] 951ed80e7234bcb084e1132f05bf08e2f679436cf3bbf5301996a3e3dc05e005