[INFO] cloning repository https://github.com/lewisfm/scratch-vm [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lewisfm/scratch-vm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flewisfm%2Fscratch-vm", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flewisfm%2Fscratch-vm'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7e872b2632f18330f634597f204f3ffec2580989 [INFO] checking lewisfm/scratch-vm against try#c6f1a85c8f06c93ddc6200caf413929a2e7e7dd6 for pr-145463 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flewisfm%2Fscratch-vm" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/lewisfm/scratch-vm [INFO] finished tweaking git repo https://github.com/lewisfm/scratch-vm [INFO] tweaked toml for git repo https://github.com/lewisfm/scratch-vm written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lewisfm/scratch-vm on toolchain c6f1a85c8f06c93ddc6200caf413929a2e7e7dd6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c6f1a85c8f06c93ddc6200caf413929a2e7e7dd6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/lewisfm/scratch-vm 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" "+c6f1a85c8f06c93ddc6200caf413929a2e7e7dd6" "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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+c6f1a85c8f06c93ddc6200caf413929a2e7e7dd6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fa2aa17e42c118f75a3bd857da78ea2d550e300760db94ec87efec8b1f29ebd4 [INFO] running `Command { std: "docker" "start" "-a" "fa2aa17e42c118f75a3bd857da78ea2d550e300760db94ec87efec8b1f29ebd4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fa2aa17e42c118f75a3bd857da78ea2d550e300760db94ec87efec8b1f29ebd4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fa2aa17e42c118f75a3bd857da78ea2d550e300760db94ec87efec8b1f29ebd4", kill_on_drop: false }` [INFO] [stdout] fa2aa17e42c118f75a3bd857da78ea2d550e300760db94ec87efec8b1f29ebd4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+c6f1a85c8f06c93ddc6200caf413929a2e7e7dd6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 741f56d862a1b36fa3692a6732e0ceeecd53b7fafa3985555f216766b405647f [INFO] running `Command { std: "docker" "start" "-a" "741f56d862a1b36fa3692a6732e0ceeecd53b7fafa3985555f216766b405647f", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling rustversion v1.0.21 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling prettyplease v0.2.35 [INFO] [stderr] Compiling winnow v0.7.12 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling serde_json v1.0.141 [INFO] [stderr] Compiling owo-colors v4.2.2 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling convert_case v0.7.1 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking itertools v0.14.0 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling proc-macro-crate v3.3.0 [INFO] [stderr] Compiling darling_core v0.21.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling bytemuck_derive v1.10.0 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Compiling num_enum_derive v0.7.4 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Checking num_enum v0.7.4 [INFO] [stderr] Checking bytemuck v1.23.1 [INFO] [stderr] Compiling darling_macro v0.21.0 [INFO] [stderr] Compiling darling v0.21.0 [INFO] [stderr] Compiling bon-macros v3.6.5 [INFO] [stderr] Checking derive_more v2.0.1 [INFO] [stderr] Checking bon v3.6.5 [INFO] [stderr] Checking scratch-vm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `rc::Rc` [INFO] [stdout] --> src/ast.rs:1:49 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{any::type_name, collections::HashMap, rc::Rc, str::FromStr, sync::Arc}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashSet`, `Scope`, `rc::Rc`, and `self` [INFO] [stdout] --> src/ast/project.rs:2:28 [INFO] [stdout] | [INFO] [stdout] 2 | collections::{HashMap, HashSet}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 3 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 4 | sync::Arc, [INFO] [stdout] 5 | thread::{self, Scope, scope}, [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Local` [INFO] [stdout] --> src/ast/project.rs:17:29 [INFO] [stdout] | [INFO] [stdout] 17 | value::{EventValue, Local, ProcedureValue, Value}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `collections::HashMap`, `mem`, and `rc::Rc` [INFO] [stdout] --> src/codegen.rs:1:41 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cell::RefCell, cmp::Ordering, collections::HashMap, fmt::Debug, mem, rc::Rc, sync::Arc, u32}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bon::bon` [INFO] [stdout] --> src/codegen.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use bon::bon; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Field`, `RuntimeContext`, `Value`, and `self` [INFO] [stdout] --> src/codegen.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | ast::{Block, Field, Input, Primitive, Script, Variable, VariableRef}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | blocks::{BlockCompileLogic, BlockTypeLibrary}, [INFO] [stdout] 10 | interpreter::{self, opcode::Opcode, value::{Local, Value}, RuntimeContext}, [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlockRuntimeLogic` [INFO] [stdout] --> src/interpreter.rs:12:35 [INFO] [stdout] | [INFO] [stdout] 12 | blocks::{BlockRuntimeLibrary, BlockRuntimeLogic}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `borrow::Cow` and `rc::Rc` [INFO] [stdout] --> src/interpreter/value.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | borrow::Cow, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 3 | cell::{OnceCell, RefCell}, [INFO] [stdout] 4 | rc::Rc, sync::Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRef` [INFO] [stdout] --> src/interpreter/value.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | use derive_more::{AsRef, From, Unwrap}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rc::Rc` [INFO] [stdout] --> src/sb3.rs:1:58 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, fmt::Display, mem::take, rc::Rc, sync::Arc}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `de::value` [INFO] [stdout] --> src/sb3.rs:3:37 [INFO] [stdout] | [INFO] [stdout] 3 | use serde::{Deserialize, Serialize, de::value}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rc::Rc` [INFO] [stdout] --> src/ast.rs:1:49 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{any::type_name, collections::HashMap, rc::Rc, str::FromStr, sync::Arc}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashSet`, `Scope`, `rc::Rc`, and `self` [INFO] [stdout] --> src/ast/project.rs:2:28 [INFO] [stdout] | [INFO] [stdout] 2 | collections::{HashMap, HashSet}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 3 | rc::Rc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 4 | sync::Arc, [INFO] [stdout] 5 | thread::{self, Scope, scope}, [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Local` [INFO] [stdout] --> src/ast/project.rs:17:29 [INFO] [stdout] | [INFO] [stdout] 17 | value::{EventValue, Local, ProcedureValue, Value}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `collections::HashMap`, `mem`, and `rc::Rc` [INFO] [stdout] --> src/codegen.rs:1:41 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{cell::RefCell, cmp::Ordering, collections::HashMap, fmt::Debug, mem, rc::Rc, sync::Arc, u32}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bon::bon` [INFO] [stdout] --> src/codegen.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use bon::bon; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Field`, `RuntimeContext`, `Value`, and `self` [INFO] [stdout] --> src/codegen.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | ast::{Block, Field, Input, Primitive, Script, Variable, VariableRef}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | blocks::{BlockCompileLogic, BlockTypeLibrary}, [INFO] [stdout] 10 | interpreter::{self, opcode::Opcode, value::{Local, Value}, RuntimeContext}, [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BlockRuntimeLogic` [INFO] [stdout] --> src/interpreter.rs:12:35 [INFO] [stdout] | [INFO] [stdout] 12 | blocks::{BlockRuntimeLibrary, BlockRuntimeLogic}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `borrow::Cow` and `rc::Rc` [INFO] [stdout] --> src/interpreter/value.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | borrow::Cow, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 3 | cell::{OnceCell, RefCell}, [INFO] [stdout] 4 | rc::Rc, sync::Arc, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AsRef` [INFO] [stdout] --> src/interpreter/value.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | use derive_more::{AsRef, From, Unwrap}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rc::Rc` [INFO] [stdout] --> src/sb3.rs:1:58 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, fmt::Display, mem::take, rc::Rc, sync::Arc}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `de::value` [INFO] [stdout] --> src/sb3.rs:3:37 [INFO] [stdout] | [INFO] [stdout] 3 | use serde::{Deserialize, Serialize, de::value}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:540:13 [INFO] [stdout] | [INFO] [stdout] 540 | _ => todo!("{procedure:?}"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/interpreter.rs:540:13 [INFO] [stdout] | [INFO] [stdout] 521 | BuiltinProcedure::Say => {} [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 522 | BuiltinProcedure::LengthOf => { [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 527 | BuiltinProcedure::LetterOf => { [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 536 | BuiltinProcedure::Join => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 540 | _ => todo!("{procedure:?}"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `program` [INFO] [stdout] --> src/interpreter.rs:519:60 [INFO] [stdout] | [INFO] [stdout] 519 | fn run_builtin(&mut self, procedure: BuiltinProcedure, program: &mut Program) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/interpreter.rs:540:13 [INFO] [stdout] | [INFO] [stdout] 540 | _ => todo!("{procedure:?}"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/interpreter.rs:540:13 [INFO] [stdout] | [INFO] [stdout] 521 | BuiltinProcedure::Say => {} [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 522 | BuiltinProcedure::LengthOf => { [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 527 | BuiltinProcedure::LetterOf => { [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 536 | BuiltinProcedure::Join => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 540 | _ => todo!("{procedure:?}"), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `program` [INFO] [stdout] --> src/interpreter.rs:519:60 [INFO] [stdout] | [INFO] [stdout] 519 | fn run_builtin(&mut self, procedure: BuiltinProcedure, program: &mut Program) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run_builtin` is never used [INFO] [stdout] --> src/interpreter.rs:519:8 [INFO] [stdout] | [INFO] [stdout] 206 | impl Task { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 519 | fn run_builtin(&mut self, procedure: BuiltinProcedure, program: &mut Program) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `run_builtin` is never used [INFO] [stdout] --> src/interpreter.rs:519:8 [INFO] [stdout] | [INFO] [stdout] 206 | impl Task { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 519 | fn run_builtin(&mut self, procedure: BuiltinProcedure, program: &mut Program) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `scratch_vm::codegen::BlockLibrary` [INFO] [stdout] --> src/bin/compile.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | codegen::{BlockLibrary, ProjectContext, ScriptCompiler, TargetCodegenContext}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | no `BlockLibrary` in `codegen` [INFO] [stdout] | help: a similar name exists in the module: `BlockTypeLibrary` [INFO] [stdout] | [INFO] [stdout] = help: consider importing this struct instead: [INFO] [stdout] scratch_vm::blocks::BlockLibrary [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0601]: `main` function not found in crate `load_and_run` [INFO] [stdout] | [INFO] [stdout] = note: consider adding a `main` function to `src/bin/load_and_run.rs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ProjectContext`, `Sprite`, `Target`, and `project::ScratchProject` [INFO] [stdout] --> src/bin/compile.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | ast::{project::ScratchProject, Block, Script, Sprite, StartCondition, Target, VariableRef}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] 5 | codegen::{BlockLibrary, ProjectContext, ScriptCompiler, TargetCodegenContext}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0601`. [INFO] [stdout] [INFO] [stderr] error: could not compile `scratch-vm` (bin "load_and_run") due to 1 previous error [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied [INFO] [stdout] --> src/bin/compile.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | let target = TargetCodegenContext::new(HashMap::from([ [INFO] [stdout] | __________________^^^^^^^^^^^^^^^^^^^^^^^^^_- [INFO] [stdout] 12 | | (thing_to_type.clone(), Value::from("")), [INFO] [stdout] 13 | | ])); [INFO] [stdout] | |______- argument #1 of type `Arc` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/codegen.rs:282:12 [INFO] [stdout] | [INFO] [stdout] 282 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 11 | let target = TargetCodegenContext::new(/* Arc */, HashMap::from([ [INFO] [stdout] | ++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/print_ast.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | events: vec![], [INFO] [stdout] | ^^^^^^ expected `IndexMap, Event>`, found `Vec<_>` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `indexmap::map::IndexMap, scratch_vm::ast::Event>` [INFO] [stdout] found struct `Vec<_>` [INFO] [stdout] = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `scratch-vm` (bin "print_ast") due to 1 previous error [INFO] [stdout] error[E0061]: this function takes 4 arguments but 2 arguments were supplied [INFO] [stdout] --> src/bin/compile.rs:27:24 [INFO] [stdout] | [INFO] [stdout] 27 | let mut compiler = ScriptCompiler::new(target, library); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------------- two arguments of type `bool` and `usize` are missing [INFO] [stdout] | [INFO] [stdout] note: expected `Arc`, found `TargetCodegenContext` [INFO] [stdout] --> src/bin/compile.rs:27:44 [INFO] [stdout] | [INFO] [stdout] 27 | let mut compiler = ScriptCompiler::new(target, library); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: expected struct `Arc` [INFO] [stdout] found struct `TargetCodegenContext` [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/codegen.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: call `Into::into` on this expression to convert `TargetCodegenContext` into `Arc` [INFO] [stdout] | [INFO] [stdout] 27 | let mut compiler = ScriptCompiler::new(target.into(), library); [INFO] [stdout] | +++++++ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 27 - let mut compiler = ScriptCompiler::new(target, library); [INFO] [stdout] 27 + let mut compiler = ScriptCompiler::new(/* Arc */, library, /* bool */, /* usize */); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `scratch_vm::codegen::BlockLibrary` [INFO] [stdout] --> src/bin/interpret.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use scratch_vm::{codegen::BlockLibrary, interpreter::{ [INFO] [stdout] | ^^^^^^^^^------------ [INFO] [stdout] | | | [INFO] [stdout] | | help: a similar name exists in the module: `BlockTypeLibrary` [INFO] [stdout] | no `BlockLibrary` in `codegen` [INFO] [stdout] | [INFO] [stdout] = help: consider importing this struct instead: [INFO] [stdout] scratch_vm::blocks::BlockLibrary [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `scratch_vm::codegen::BlockLibrary` [INFO] [stdout] --> src/bin/compile.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | codegen::{BlockLibrary, ProjectContext, ScriptCompiler, TargetCodegenContext}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | no `BlockLibrary` in `codegen` [INFO] [stdout] | help: a similar name exists in the module: `BlockTypeLibrary` [INFO] [stdout] | [INFO] [stdout] = help: consider importing this struct instead: [INFO] [stdout] scratch_vm::blocks::BlockLibrary [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ProjectContext`, `Sprite`, `Target`, and `project::ScratchProject` [INFO] [stdout] --> src/bin/compile.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | ast::{project::ScratchProject, Block, Script, Sprite, StartCondition, Target, VariableRef}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] 5 | codegen::{BlockLibrary, ProjectContext, ScriptCompiler, TargetCodegenContext}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `into_runtime_callbacks` found for struct `BlockTypeLibrary` in the current scope [INFO] [stdout] --> src/bin/compile.rs:33:28 [INFO] [stdout] | [INFO] [stdout] 33 | let builtins = library.into_runtime_callbacks(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ method not found in `BlockTypeLibrary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 2 arguments but 1 argument was supplied [INFO] [stdout] --> src/bin/compile.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | let target = TargetCodegenContext::new(HashMap::from([ [INFO] [stdout] | __________________^^^^^^^^^^^^^^^^^^^^^^^^^_- [INFO] [stdout] 12 | | (thing_to_type.clone(), Value::from("")), [INFO] [stdout] 13 | | ])); [INFO] [stdout] | |______- argument #1 of type `Arc` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/codegen.rs:282:12 [INFO] [stdout] | [INFO] [stdout] 282 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 11 | let target = TargetCodegenContext::new(/* Arc */, HashMap::from([ [INFO] [stdout] | ++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `take_constants` found for struct `Arc` in the current scope [INFO] [stdout] --> src/bin/compile.rs:35:37 [INFO] [stdout] | [INFO] [stdout] 35 | let constants = compiler.target.take_constants(); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `Arc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 3 arguments were supplied [INFO] [stdout] --> src/bin/compile.rs:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | let mut program = Program::new(constants, var_states, builtins); [INFO] [stdout] | ^^^^^^^^^^^^--------------------------------- two arguments of type `Vec` and `Vec` are missing [INFO] [stdout] | [INFO] [stdout] note: expected `Box<[Value]>`, found `Vec` [INFO] [stdout] --> src/bin/compile.rs:37:47 [INFO] [stdout] | [INFO] [stdout] 37 | let mut program = Program::new(constants, var_states, builtins); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: expected struct `Box<[Value]>` [INFO] [stdout] found struct `Vec` [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 37 - let mut program = Program::new(constants, var_states, builtins); [INFO] [stdout] 37 + let mut program = Program::new(constants, /* Box<[Value]> */, builtins, /* Vec */, /* Vec */); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `usize: From<[_; 0]>` is not satisfied [INFO] [stdout] --> src/bin/compile.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | [].into(), [INFO] [stdout] | ^^^^ the trait `From<[_; 0]>` is not implemented for `usize` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From>` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] = note: required for `[_; 0]` to implement `Into` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 6 arguments but 4 arguments were supplied [INFO] [stdout] --> src/bin/compile.rs:39:44 [INFO] [stdout] | [INFO] [stdout] 39 | let compiled_script = program.register(ProcedureValue::new( [INFO] [stdout] | ____________________________________________^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] 40 | | None, [INFO] [stdout] 41 | | 0, [INFO] [stdout] 42 | | [].into(), [INFO] [stdout] 43 | | compiler.data.into_boxed_slice(), [INFO] [stdout] | | -------------------------------- argument #4 of type `Box<[Local]>` is missing [INFO] [stdout] 44 | | )); [INFO] [stdout] | |_____- argument #6 of type `bool` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 39 ~ let compiled_script = program.register(ProcedureValue::new( [INFO] [stdout] 40 + None, [INFO] [stdout] 41 + 0, [INFO] [stdout] 42 + [].into(), [INFO] [stdout] 43 + /* Box<[Local]> */, [INFO] [stdout] 44 + compiler.data.into_boxed_slice(), [INFO] [stdout] 45 + /* bool */, [INFO] [stdout] 46 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `scratch_vm::codegen::BlockLibrary` [INFO] [stdout] --> src/bin/interpret.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | use scratch_vm::{codegen::BlockLibrary, interpreter::{ [INFO] [stdout] | ^^^^^^^^^------------ [INFO] [stdout] | | | [INFO] [stdout] | | help: a similar name exists in the module: `BlockTypeLibrary` [INFO] [stdout] | no `BlockLibrary` in `codegen` [INFO] [stdout] | [INFO] [stdout] = help: consider importing this struct instead: [INFO] [stdout] scratch_vm::blocks::BlockLibrary [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `empty` found for struct `VarState` in the current scope [INFO] [stdout] --> src/bin/interpret.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | VarState::empty("thingtotype"), [INFO] [stdout] | ^^^^^ function or associated item not found in `VarState` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `VarState`, consider using `VarState::new` which returns `VarState` [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn new(var: Variable) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0432, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 4 arguments but 2 arguments were supplied [INFO] [stdout] --> src/bin/compile.rs:27:24 [INFO] [stdout] | [INFO] [stdout] 27 | let mut compiler = ScriptCompiler::new(target, library); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------------- two arguments of type `bool` and `usize` are missing [INFO] [stdout] | [INFO] [stdout] note: expected `Arc`, found `TargetCodegenContext` [INFO] [stdout] --> src/bin/compile.rs:27:44 [INFO] [stdout] | [INFO] [stdout] 27 | let mut compiler = ScriptCompiler::new(target, library); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] = note: expected struct `Arc` [INFO] [stdout] found struct `TargetCodegenContext` [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/codegen.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: call `Into::into` on this expression to convert `TargetCodegenContext` into `Arc` [INFO] [stdout] | [INFO] [stdout] 27 | let mut compiler = ScriptCompiler::new(target.into(), library); [INFO] [stdout] | +++++++ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 27 - let mut compiler = ScriptCompiler::new(target, library); [INFO] [stdout] 27 + let mut compiler = ScriptCompiler::new(/* Arc */, library, /* bool */, /* usize */); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `empty` found for struct `VarState` in the current scope [INFO] [stdout] --> src/bin/interpret.rs:11:23 [INFO] [stdout] | [INFO] [stdout] 11 | VarState::empty("textsofar"), [INFO] [stdout] | ^^^^^ function or associated item not found in `VarState` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `VarState`, consider using `VarState::new` which returns `VarState` [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn new(var: Variable) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `empty` found for struct `VarState` in the current scope [INFO] [stdout] --> src/bin/interpret.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | VarState::empty("c"), [INFO] [stdout] | ^^^^^ function or associated item not found in `VarState` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `VarState`, consider using `VarState::new` which returns `VarState` [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn new(var: Variable) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `scratch-vm` (bin "compile" test) due to 8 previous errors; 1 warning emitted [INFO] [stdout] error[E0061]: this function takes 5 arguments but 3 arguments were supplied [INFO] [stdout] --> src/bin/interpret.rs:8:23 [INFO] [stdout] | [INFO] [stdout] 8 | let mut program = Program::new( [INFO] [stdout] | _______________________^^^^^^^^^^^^- [INFO] [stdout] 9 | | [ [INFO] [stdout] 10 | | VarState::empty("thingtotype"), [INFO] [stdout] 11 | | VarState::empty("textsofar"), [INFO] [stdout] ... | [INFO] [stdout] 16 | | library.into_runtime_callbacks(), [INFO] [stdout] 17 | | ); [INFO] [stdout] | |_____- two arguments of type `Vec` and `Vec` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 17 | let mut program = Program::new( [INFO] [stdout] ... [INFO] [stdout] 25 | library.into_runtime_callbacks(), [INFO] [stdout] 26 ~ /* Vec */, [INFO] [stdout] 27 + /* Vec */, [INFO] [stdout] 28 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `into_runtime_callbacks` found for struct `BlockTypeLibrary` in the current scope [INFO] [stdout] --> src/bin/compile.rs:33:28 [INFO] [stdout] | [INFO] [stdout] 33 | let builtins = library.into_runtime_callbacks(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ method not found in `BlockTypeLibrary` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `usize: From<[Local; 2]>` is not satisfied [INFO] [stdout] --> src/bin/interpret.rs:24:67 [INFO] [stdout] | [INFO] [stdout] 24 | [Local::from("text"), Local::from("repeats_remaining_0")].into(), [INFO] [stdout] | ^^^^ the trait `From<[Local; 2]>` is not implemented for `usize` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From>` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] = note: required for `[Local; 2]` to implement `Into` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `take_constants` found for struct `Arc` in the current scope [INFO] [stdout] --> src/bin/compile.rs:35:37 [INFO] [stdout] | [INFO] [stdout] 35 | let constants = compiler.target.take_constants(); [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `Arc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 3 arguments were supplied [INFO] [stdout] --> src/bin/compile.rs:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | let mut program = Program::new(constants, var_states, builtins); [INFO] [stdout] | ^^^^^^^^^^^^--------------------------------- two arguments of type `Vec` and `Vec` are missing [INFO] [stdout] | [INFO] [stdout] note: expected `Box<[Value]>`, found `Vec` [INFO] [stdout] --> src/bin/compile.rs:37:47 [INFO] [stdout] | [INFO] [stdout] 37 | let mut program = Program::new(constants, var_states, builtins); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: expected struct `Box<[Value]>` [INFO] [stdout] found struct `Vec` [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 37 - let mut program = Program::new(constants, var_states, builtins); [INFO] [stdout] 37 + let mut program = Program::new(constants, /* Box<[Value]> */, builtins, /* Vec */, /* Vec */); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `empty` found for struct `VarState` in the current scope [INFO] [stdout] --> src/bin/interpret.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | VarState::empty("thingtotype"), [INFO] [stdout] | ^^^^^ function or associated item not found in `VarState` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `VarState`, consider using `VarState::new` which returns `VarState` [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn new(var: Variable) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `usize: From<[_; 0]>` is not satisfied [INFO] [stdout] --> src/bin/compile.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | [].into(), [INFO] [stdout] | ^^^^ the trait `From<[_; 0]>` is not implemented for `usize` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From>` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] = note: required for `[_; 0]` to implement `Into` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 6 arguments but 4 arguments were supplied [INFO] [stdout] --> src/bin/compile.rs:39:44 [INFO] [stdout] | [INFO] [stdout] 39 | let compiled_script = program.register(ProcedureValue::new( [INFO] [stdout] | ____________________________________________^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] 40 | | None, [INFO] [stdout] 41 | | 0, [INFO] [stdout] 42 | | [].into(), [INFO] [stdout] 43 | | compiler.data.into_boxed_slice(), [INFO] [stdout] | | -------------------------------- argument #4 of type `Box<[Local]>` is missing [INFO] [stdout] 44 | | )); [INFO] [stdout] | |_____- argument #6 of type `bool` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 39 ~ let compiled_script = program.register(ProcedureValue::new( [INFO] [stdout] 40 + None, [INFO] [stdout] 41 + 0, [INFO] [stdout] 42 + [].into(), [INFO] [stdout] 43 + /* Box<[Local]> */, [INFO] [stdout] 44 + compiler.data.into_boxed_slice(), [INFO] [stdout] 45 + /* bool */, [INFO] [stdout] 46 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `empty` found for struct `VarState` in the current scope [INFO] [stdout] --> src/bin/interpret.rs:11:23 [INFO] [stdout] | [INFO] [stdout] 11 | VarState::empty("textsofar"), [INFO] [stdout] | ^^^^^ function or associated item not found in `VarState` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `VarState`, consider using `VarState::new` which returns `VarState` [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn new(var: Variable) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/interpret.rs:107:13 [INFO] [stdout] | [INFO] [stdout] 107 | instructions.into_boxed_slice() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box<[Local]>`, found `Box<[u32]>` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<[Local]>` [INFO] [stdout] found struct `Box<[u32]>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 6 arguments but 4 arguments were supplied [INFO] [stdout] --> src/bin/interpret.rs:21:38 [INFO] [stdout] | [INFO] [stdout] 21 | let type_proc = program.register(ProcedureValue::new( [INFO] [stdout] | ______________________________________^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] 22 | | Some("type %s".into()), [INFO] [stdout] 23 | | 1, [INFO] [stdout] 24 | | [Local::from("text"), Local::from("repeats_remaining_0")].into(), [INFO] [stdout] ... | [INFO] [stdout] 108 | | }, [INFO] [stdout] 109 | | )); [INFO] [stdout] | |_____- two arguments of type `Box<[u32]>` and `bool` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 109 | let type_proc = program.register(ProcedureValue::new( [INFO] [stdout] ... [INFO] [stdout] 196 | }, [INFO] [stdout] 197 ~ /* Box<[u32]> */, [INFO] [stdout] 198 + /* bool */, [INFO] [stdout] 199 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `usize: From<[_; 0]>` is not satisfied [INFO] [stdout] --> src/bin/interpret.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | [].into(), [INFO] [stdout] | ^^^^ the trait `From<[_; 0]>` is not implemented for `usize` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From>` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] = note: required for `[_; 0]` to implement `Into` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `empty` found for struct `VarState` in the current scope [INFO] [stdout] --> src/bin/interpret.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | VarState::empty("c"), [INFO] [stdout] | ^^^^^ function or associated item not found in `VarState` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `VarState`, consider using `VarState::new` which returns `VarState` [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | pub fn new(var: Variable) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0432, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 5 arguments but 3 arguments were supplied [INFO] [stdout] --> src/bin/interpret.rs:8:23 [INFO] [stdout] | [INFO] [stdout] 8 | let mut program = Program::new( [INFO] [stdout] | _______________________^^^^^^^^^^^^- [INFO] [stdout] 9 | | [ [INFO] [stdout] 10 | | VarState::empty("thingtotype"), [INFO] [stdout] 11 | | VarState::empty("textsofar"), [INFO] [stdout] ... | [INFO] [stdout] 16 | | library.into_runtime_callbacks(), [INFO] [stdout] 17 | | ); [INFO] [stdout] | |_____- two arguments of type `Vec` and `Vec` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 17 | let mut program = Program::new( [INFO] [stdout] ... [INFO] [stdout] 25 | library.into_runtime_callbacks(), [INFO] [stdout] 26 ~ /* Vec */, [INFO] [stdout] 27 + /* Vec */, [INFO] [stdout] 28 ~ ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Box<[Local]>: From<[{integer}; 5]>` is not satisfied [INFO] [stdout] --> src/bin/interpret.rs:122:10 [INFO] [stdout] | [INFO] [stdout] 122 | .into(), [INFO] [stdout] | ^^^^ the trait `From<[{integer}; 5]>` is not implemented for `Box<[Local]>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `Box` implements `From>` [INFO] [stdout] `Box` implements `From<&CStr>` [INFO] [stdout] `Box` implements `From<&mut CStr>` [INFO] [stdout] `Box` implements `From` [INFO] [stdout] `Box` implements `From>` [INFO] [stdout] `Box` implements `From<&OsStr>` [INFO] [stdout] `Box` implements `From<&mut OsStr>` [INFO] [stdout] `Box` implements `From>` [INFO] [stdout] and 27 others [INFO] [stdout] = note: required for `[{integer}; 5]` to implement `Into>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 6 arguments but 4 arguments were supplied [INFO] [stdout] --> src/bin/interpret.rs:111:43 [INFO] [stdout] | [INFO] [stdout] 111 | let typeit_handler = program.register(ProcedureValue::new( [INFO] [stdout] | ___________________________________________^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] 112 | | Some("say_hi".into()), [INFO] [stdout] 113 | | 0, [INFO] [stdout] 114 | | [].into(), [INFO] [stdout] ... | [INFO] [stdout] 122 | | .into(), [INFO] [stdout] 123 | | )); [INFO] [stdout] | |_____- two arguments of type `Box<[u32]>` and `bool` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 123 | let typeit_handler = program.register(ProcedureValue::new( [INFO] [stdout] ... [INFO] [stdout] 134 | .into(), [INFO] [stdout] 135 ~ /* Box<[u32]> */, [INFO] [stdout] 136 + /* bool */, [INFO] [stdout] 137 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `usize: From<[_; 0]>` is not satisfied [INFO] [stdout] --> src/bin/interpret.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | [].into(), [INFO] [stdout] | ^^^^ the trait `From<[_; 0]>` is not implemented for `usize` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From>` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] = note: required for `[_; 0]` to implement `Into` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `usize: From<[Local; 2]>` is not satisfied [INFO] [stdout] --> src/bin/interpret.rs:24:67 [INFO] [stdout] | [INFO] [stdout] 24 | [Local::from("text"), Local::from("repeats_remaining_0")].into(), [INFO] [stdout] | ^^^^ the trait `From<[Local; 2]>` is not implemented for `usize` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From>` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] = note: required for `[Local; 2]` to implement `Into` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Box<[Local]>: From<[{integer}; 7]>` is not satisfied [INFO] [stdout] --> src/bin/interpret.rs:139:10 [INFO] [stdout] | [INFO] [stdout] 139 | .into(), [INFO] [stdout] | ^^^^ the trait `From<[{integer}; 7]>` is not implemented for `Box<[Local]>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `Box` implements `From>` [INFO] [stdout] `Box` implements `From<&CStr>` [INFO] [stdout] `Box` implements `From<&mut CStr>` [INFO] [stdout] `Box` implements `From` [INFO] [stdout] `Box` implements `From>` [INFO] [stdout] `Box` implements `From<&OsStr>` [INFO] [stdout] `Box` implements `From<&mut OsStr>` [INFO] [stdout] `Box` implements `From>` [INFO] [stdout] and 27 others [INFO] [stdout] = note: required for `[{integer}; 7]` to implement `Into>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 6 arguments but 4 arguments were supplied [INFO] [stdout] --> src/bin/interpret.rs:126:33 [INFO] [stdout] | [INFO] [stdout] 126 | let main = program.register(ProcedureValue::new( [INFO] [stdout] | _________________________________^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] 127 | | Some("main".into()), [INFO] [stdout] 128 | | 0, [INFO] [stdout] 129 | | [].into(), [INFO] [stdout] ... | [INFO] [stdout] 139 | | .into(), [INFO] [stdout] 140 | | )); [INFO] [stdout] | |_____- two arguments of type `Box<[u32]>` and `bool` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 140 | let main = program.register(ProcedureValue::new( [INFO] [stdout] ... [INFO] [stdout] 153 | .into(), [INFO] [stdout] 154 ~ /* Box<[u32]> */, [INFO] [stdout] 155 + /* bool */, [INFO] [stdout] 156 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `scratch-vm` (bin "compile") due to 8 previous errors; 1 warning emitted [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0432, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/bin/interpret.rs:107:13 [INFO] [stdout] | [INFO] [stdout] 107 | instructions.into_boxed_slice() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box<[Local]>`, found `Box<[u32]>` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<[Local]>` [INFO] [stdout] found struct `Box<[u32]>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 6 arguments but 4 arguments were supplied [INFO] [stdout] --> src/bin/interpret.rs:21:38 [INFO] [stdout] | [INFO] [stdout] 21 | let type_proc = program.register(ProcedureValue::new( [INFO] [stdout] | ______________________________________^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] 22 | | Some("type %s".into()), [INFO] [stdout] 23 | | 1, [INFO] [stdout] 24 | | [Local::from("text"), Local::from("repeats_remaining_0")].into(), [INFO] [stdout] ... | [INFO] [stdout] 108 | | }, [INFO] [stdout] 109 | | )); [INFO] [stdout] | |_____- two arguments of type `Box<[u32]>` and `bool` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 109 | let type_proc = program.register(ProcedureValue::new( [INFO] [stdout] ... [INFO] [stdout] 196 | }, [INFO] [stdout] 197 ~ /* Box<[u32]> */, [INFO] [stdout] 198 + /* bool */, [INFO] [stdout] 199 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `usize: From<[_; 0]>` is not satisfied [INFO] [stdout] --> src/bin/interpret.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | [].into(), [INFO] [stdout] | ^^^^ the trait `From<[_; 0]>` is not implemented for `usize` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From>` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] = note: required for `[_; 0]` to implement `Into` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Box<[Local]>: From<[{integer}; 5]>` is not satisfied [INFO] [stdout] --> src/bin/interpret.rs:122:10 [INFO] [stdout] | [INFO] [stdout] 122 | .into(), [INFO] [stdout] | ^^^^ the trait `From<[{integer}; 5]>` is not implemented for `Box<[Local]>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `Box` implements `From>` [INFO] [stdout] `Box` implements `From<&CStr>` [INFO] [stdout] `Box` implements `From<&mut CStr>` [INFO] [stdout] `Box` implements `From` [INFO] [stdout] `Box` implements `From>` [INFO] [stdout] `Box` implements `From<&OsStr>` [INFO] [stdout] `Box` implements `From<&mut OsStr>` [INFO] [stdout] `Box` implements `From>` [INFO] [stdout] and 27 others [INFO] [stdout] = note: required for `[{integer}; 5]` to implement `Into>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 6 arguments but 4 arguments were supplied [INFO] [stdout] --> src/bin/interpret.rs:111:43 [INFO] [stdout] | [INFO] [stdout] 111 | let typeit_handler = program.register(ProcedureValue::new( [INFO] [stdout] | ___________________________________________^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] 112 | | Some("say_hi".into()), [INFO] [stdout] 113 | | 0, [INFO] [stdout] 114 | | [].into(), [INFO] [stdout] ... | [INFO] [stdout] 122 | | .into(), [INFO] [stdout] 123 | | )); [INFO] [stdout] | |_____- two arguments of type `Box<[u32]>` and `bool` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 123 | let typeit_handler = program.register(ProcedureValue::new( [INFO] [stdout] ... [INFO] [stdout] 134 | .into(), [INFO] [stdout] 135 ~ /* Box<[u32]> */, [INFO] [stdout] 136 + /* bool */, [INFO] [stdout] 137 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `usize: From<[_; 0]>` is not satisfied [INFO] [stdout] --> src/bin/interpret.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | [].into(), [INFO] [stdout] | ^^^^ the trait `From<[_; 0]>` is not implemented for `usize` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From>` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] `usize` implements `From` [INFO] [stdout] = note: required for `[_; 0]` to implement `Into` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `scratch-vm` (bin "interpret") due to 14 previous errors [INFO] [stdout] error[E0277]: the trait bound `Box<[Local]>: From<[{integer}; 7]>` is not satisfied [INFO] [stdout] --> src/bin/interpret.rs:139:10 [INFO] [stdout] | [INFO] [stdout] 139 | .into(), [INFO] [stdout] | ^^^^ the trait `From<[{integer}; 7]>` is not implemented for `Box<[Local]>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `From`: [INFO] [stdout] `Box` implements `From>` [INFO] [stdout] `Box` implements `From<&CStr>` [INFO] [stdout] `Box` implements `From<&mut CStr>` [INFO] [stdout] `Box` implements `From` [INFO] [stdout] `Box` implements `From>` [INFO] [stdout] `Box` implements `From<&OsStr>` [INFO] [stdout] `Box` implements `From<&mut OsStr>` [INFO] [stdout] `Box` implements `From>` [INFO] [stdout] and 27 others [INFO] [stdout] = note: required for `[{integer}; 7]` to implement `Into>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 6 arguments but 4 arguments were supplied [INFO] [stdout] --> src/bin/interpret.rs:126:33 [INFO] [stdout] | [INFO] [stdout] 126 | let main = program.register(ProcedureValue::new( [INFO] [stdout] | _________________________________^^^^^^^^^^^^^^^^^^^- [INFO] [stdout] 127 | | Some("main".into()), [INFO] [stdout] 128 | | 0, [INFO] [stdout] 129 | | [].into(), [INFO] [stdout] ... | [INFO] [stdout] 139 | | .into(), [INFO] [stdout] 140 | | )); [INFO] [stdout] | |_____- two arguments of type `Box<[u32]>` and `bool` are missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/interpreter/value.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] help: provide the arguments [INFO] [stdout] | [INFO] [stdout] 140 | let main = program.register(ProcedureValue::new( [INFO] [stdout] ... [INFO] [stdout] 153 | .into(), [INFO] [stdout] 154 ~ /* Box<[u32]> */, [INFO] [stdout] 155 + /* bool */, [INFO] [stdout] 156 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0432, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `scratch-vm` (bin "interpret" test) due to 14 previous errors [INFO] running `Command { std: "docker" "inspect" "741f56d862a1b36fa3692a6732e0ceeecd53b7fafa3985555f216766b405647f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "741f56d862a1b36fa3692a6732e0ceeecd53b7fafa3985555f216766b405647f", kill_on_drop: false }` [INFO] [stdout] 741f56d862a1b36fa3692a6732e0ceeecd53b7fafa3985555f216766b405647f