[INFO] cloning repository https://github.com/TrolledWoods/impose [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TrolledWoods/impose" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTrolledWoods%2Fimpose", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTrolledWoods%2Fimpose'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b6f3e160e360901cb8cae834abd9a4753eb529a0 [INFO] checking TrolledWoods/impose against master#a874956d940ecb3ed524b6176a171219ac4787ea for pr-76104 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTrolledWoods%2Fimpose" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/TrolledWoods/impose on toolchain a874956d940ecb3ed524b6176a171219ac4787ea [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a874956d940ecb3ed524b6176a171219ac4787ea" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/TrolledWoods/impose [INFO] finished tweaking git repo https://github.com/TrolledWoods/impose [INFO] tweaked toml for git repo https://github.com/TrolledWoods/impose written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/TrolledWoods/impose already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a874956d940ecb3ed524b6176a171219ac4787ea" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+a874956d940ecb3ed524b6176a171219ac4787ea" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7d3b8886edc1cd071e220edf3e5e26dbae9317100d70161c177c426c596ca2df [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "7d3b8886edc1cd071e220edf3e5e26dbae9317100d70161c177c426c596ca2df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7d3b8886edc1cd071e220edf3e5e26dbae9317100d70161c177c426c596ca2df", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7d3b8886edc1cd071e220edf3e5e26dbae9317100d70161c177c426c596ca2df", kill_on_drop: false }` [INFO] [stdout] 7d3b8886edc1cd071e220edf3e5e26dbae9317100d70161c177c426c596ca2df [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+a874956d940ecb3ed524b6176a171219ac4787ea" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a4b423577d3757fa05d3fb395ce42645d6728529714bfa350c191efc6b3d1f78 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "a4b423577d3757fa05d3fb395ce42645d6728529714bfa350c191efc6b3d1f78", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.77 [INFO] [stderr] Compiling getrandom v0.1.15 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Checking smallvec v1.4.2 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Checking parking_lot_core v0.7.2 [INFO] [stderr] Checking parking_lot v0.10.2 [INFO] [stderr] Compiling const-random-macro v0.1.8 [INFO] [stderr] Checking const-random v0.1.8 [INFO] [stderr] Checking ahash v0.3.8 [INFO] [stderr] Checking ustr v0.7.0 [INFO] [stderr] Checking impose v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0425]: cannot find value `value` in this scope [INFO] [stdout] --> src/code_gen.rs:195:26 [INFO] [stdout] | [INFO] [stdout] 195 | if let Some(value) = value { [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `temporary_labels` in this scope [INFO] [stdout] --> src/code_gen.rs:196:38 [INFO] [stdout] | [INFO] [stdout] 196 | for (name, _, return_value) in &temporary_labels { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `temporary_labels` in this scope [INFO] [stdout] --> src/code_gen.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | temporary_labels.push((label, instruction_loc, return_value_local)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `temporary_labels` in this scope [INFO] [stdout] --> src/code_gen.rs:226:7 [INFO] [stdout] | [INFO] [stdout] 226 | temporary_labels.drain_filter(|(l, _, _)| l == &label) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0532]: expected tuple struct or tuple variant, found struct variant `NodeKind::Resource` [INFO] [stdout] --> src/code_gen.rs:391:4 [INFO] [stdout] | [INFO] [stdout] 391 | NodeKind::Resource(id) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | Resource { [INFO] [stdout] | _____- [INFO] [stdout] 59 | | id: ResourceId, [INFO] [stdout] 60 | | // sub_member: SubMemberAccess, [INFO] [stdout] 61 | | }, [INFO] [stdout] | |_____- `NodeKind::Resource` defined here [INFO] [stdout] | [INFO] [stdout] help: use struct pattern syntax instead [INFO] [stdout] | [INFO] [stdout] 391 | NodeKind::Resource { id } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: consider importing this tuple variant instead [INFO] [stdout] | [INFO] [stdout] 1 | use crate::resource::NodeKind::Resource; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/error.rs:120:1 [INFO] [stdout] | [INFO] [stdout] 120 | / macro_rules! warning { [INFO] [stdout] 121 | | ($location:expr, $($format_message:tt)+) => {{ [INFO] [stdout] 122 | | warning(Warning(Vec::new(), Message { [INFO] [stdout] 123 | | message: format!($($format_message)+), [INFO] [stdout] ... | [INFO] [stdout] 131 | | }} [INFO] [stdout] 132 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/code_gen.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `value` in this scope [INFO] [stdout] --> src/code_gen.rs:195:26 [INFO] [stdout] | [INFO] [stdout] 195 | if let Some(value) = value { [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `temporary_labels` in this scope [INFO] [stdout] --> src/code_gen.rs:196:38 [INFO] [stdout] | [INFO] [stdout] 196 | for (name, _, return_value) in &temporary_labels { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `temporary_labels` in this scope [INFO] [stdout] --> src/code_gen.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | temporary_labels.push((label, instruction_loc, return_value_local)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `temporary_labels` in this scope [INFO] [stdout] --> src/code_gen.rs:226:7 [INFO] [stdout] | [INFO] [stdout] 226 | temporary_labels.drain_filter(|(l, _, _)| l == &label) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0532]: expected tuple struct or tuple variant, found struct variant `NodeKind::Resource` [INFO] [stdout] --> src/code_gen.rs:391:4 [INFO] [stdout] | [INFO] [stdout] 391 | NodeKind::Resource(id) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | Resource { [INFO] [stdout] | _____- [INFO] [stdout] 59 | | id: ResourceId, [INFO] [stdout] 60 | | // sub_member: SubMemberAccess, [INFO] [stdout] 61 | | }, [INFO] [stdout] | |_____- `NodeKind::Resource` defined here [INFO] [stdout] | [INFO] [stdout] help: use struct pattern syntax instead [INFO] [stdout] | [INFO] [stdout] 391 | NodeKind::Resource { id } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: consider importing this tuple variant instead [INFO] [stdout] | [INFO] [stdout] 1 | use crate::resource::NodeKind::Resource; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/error.rs:120:1 [INFO] [stdout] | [INFO] [stdout] 120 | / macro_rules! warning { [INFO] [stdout] 121 | | ($location:expr, $($format_message:tt)+) => {{ [INFO] [stdout] 122 | | warning(Warning(Vec::new(), Message { [INFO] [stdout] 123 | | message: format!($($format_message)+), [INFO] [stdout] ... | [INFO] [stdout] 131 | | }} [INFO] [stdout] 132 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/code_gen.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `kind` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | match node.kind { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0026]: variant `typer::NodeKind::ScopeMember` does not have a field named `sub_member` [INFO] [stdout] --> src/code_gen.rs:100:47 [INFO] [stdout] | [INFO] [stdout] 100 | NodeKind::ScopeMember { id: member_id, ref sub_member, } => { [INFO] [stdout] | ^^^^^^^^^^ variant `typer::NodeKind::ScopeMember` does not have this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant named `IfWithElse` found for enum `typer::NodeKind` [INFO] [stdout] --> src/code_gen.rs:158:14 [INFO] [stdout] | [INFO] [stdout] 158 | NodeKind::IfWithElse { condition, true_body, false_body } => { [INFO] [stdout] | ^^^^^^^^^^ variant not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant `IfWithElse` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0026]: variant `typer::NodeKind::Block` does not have fields named `contents`, `label` [INFO] [stdout] --> src/code_gen.rs:221:26 [INFO] [stdout] | [INFO] [stdout] 221 | NodeKind::Block { ref contents, label } => { [INFO] [stdout] | ^^^^^^^^ ^^^^^ variant `typer::NodeKind::Block` does not have these fields [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: pattern requires `..` due to inaccessible fields [INFO] [stdout] --> src/code_gen.rs:221:4 [INFO] [stdout] | [INFO] [stdout] 221 | NodeKind::Block { ref contents, label } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: ignore the inaccessible and unused fields [INFO] [stdout] | [INFO] [stdout] 221 | NodeKind::Block { ref contents, label, .. } => { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0026]: variant `typer::NodeKind::Struct` does not have a field named `members` [INFO] [stdout] --> src/code_gen.rs:251:27 [INFO] [stdout] | [INFO] [stdout] 251 | NodeKind::Struct { ref members } => { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | variant `typer::NodeKind::Struct` does not have this field [INFO] [stdout] | help: a field with a similar name exists: `n_members` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `MemberAccess` found for enum `typer::NodeKind` in the current scope [INFO] [stdout] --> src/code_gen.rs:272:14 [INFO] [stdout] | [INFO] [stdout] 272 | NodeKind::MemberAccess(member, sub_name) => { [INFO] [stdout] | ^^^^^^^^^^^^ variant or associated item not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant or associated item `MemberAccess` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `Number` found for enum `typer::NodeKind` in the current scope [INFO] [stdout] --> src/code_gen.rs:310:14 [INFO] [stdout] | [INFO] [stdout] 310 | NodeKind::Number(num) => { [INFO] [stdout] | ^^^^^^ variant or associated item not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant or associated item `Number` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0769]: tuple variant `NodeKind::BinaryOperator` written as struct variant [INFO] [stdout] --> src/code_gen.rs:315:4 [INFO] [stdout] | [INFO] [stdout] 315 | NodeKind::BinaryOperator { operator, left, right } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the tuple variant pattern syntax instead: `NodeKind::BinaryOperator(_)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `EmptyLiteral` found for enum `typer::NodeKind` in the current scope [INFO] [stdout] --> src/code_gen.rs:359:14 [INFO] [stdout] | [INFO] [stdout] 359 | NodeKind::EmptyLiteral => { [INFO] [stdout] | ^^^^^^^^^^^^ variant or associated item not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant or associated item `EmptyLiteral` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0026]: variant `typer::NodeKind::FunctionCall` does not have fields named `function_pointer`, `arg_list` [INFO] [stdout] --> src/code_gen.rs:362:29 [INFO] [stdout] | [INFO] [stdout] 362 | NodeKind::FunctionCall { function_pointer, ref arg_list } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^ variant `typer::NodeKind::FunctionCall` does not have these fields [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: pattern requires `..` due to inaccessible fields [INFO] [stdout] --> src/code_gen.rs:362:4 [INFO] [stdout] | [INFO] [stdout] 362 | NodeKind::FunctionCall { function_pointer, ref arg_list } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: ignore the inaccessible and unused fields [INFO] [stdout] | [INFO] [stdout] 362 | NodeKind::FunctionCall { function_pointer, ref arg_list, .. } => { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0769]: tuple variant `NodeKind::UnaryOperator` written as struct variant [INFO] [stdout] --> src/code_gen.rs:396:4 [INFO] [stdout] | [INFO] [stdout] 396 | NodeKind::UnaryOperator { operator: Operator::BitAndOrPointer, operand } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the tuple variant pattern syntax instead: `NodeKind::UnaryOperator(_)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0769]: tuple variant `NodeKind::UnaryOperator` written as struct variant [INFO] [stdout] --> src/code_gen.rs:412:4 [INFO] [stdout] | [INFO] [stdout] 412 | NodeKind::UnaryOperator { operator: Operator::MulOrDeref, operand } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the tuple variant pattern syntax instead: `NodeKind::UnaryOperator(_)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `GetType` found for enum `typer::NodeKind` in the current scope [INFO] [stdout] --> src/code_gen.rs:433:14 [INFO] [stdout] | [INFO] [stdout] 433 | NodeKind::GetType(node) => { [INFO] [stdout] | ^^^^^^^ variant or associated item not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant or associated item `GetType` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant named `TypeStruct` found for enum `typer::NodeKind` [INFO] [stdout] --> src/code_gen.rs:440:14 [INFO] [stdout] | [INFO] [stdout] 440 | NodeKind::TypeStruct { .. } | [INFO] [stdout] | ^^^^^^^^^^ variant not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant `TypeStruct` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant named `TypeFunctionPointer` found for enum `typer::NodeKind` [INFO] [stdout] --> src/code_gen.rs:441:14 [INFO] [stdout] | [INFO] [stdout] 441 | NodeKind::TypeFunctionPointer { .. } | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ variant not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant `TypeFunctionPointer` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `TypeBufferPointer` found for enum `typer::NodeKind` in the current scope [INFO] [stdout] --> src/code_gen.rs:442:14 [INFO] [stdout] | [INFO] [stdout] 442 | NodeKind::TypeBufferPointer(_) | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ variant or associated item not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant or associated item `TypeBufferPointer` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `TypePointer` found for enum `typer::NodeKind` in the current scope [INFO] [stdout] --> src/code_gen.rs:443:14 [INFO] [stdout] | [INFO] [stdout] 443 | NodeKind::TypePointer(_) => { [INFO] [stdout] | ^^^^^^^^^^^ variant or associated item not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant or associated item `TypePointer` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `loc` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:113:91 [INFO] [stdout] | [INFO] [stdout] 113 | let (_, value) = get_resource_constant(types, &mut instructions, &mut locals, &node.loc, resources, id)?; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `type_` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:120:54 [INFO] [stdout] | [INFO] [stdout] 120 | let location = locals.allocate(types.handle(node.type_)); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `type_` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:135:51 [INFO] [stdout] | [INFO] [stdout] 135 | let local = locals.allocate(types.handle(node.type_)); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:206:25 [INFO] [stdout] | [INFO] [stdout] 206 | types.handle(ast.nodes[value as usize].type_.unwrap()) [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap` found for enum `stack_frame::Value` in the current scope [INFO] [stdout] --> src/code_gen.rs:210:54 [INFO] [stdout] | [INFO] [stdout] 210 | let input = node_values[value as usize].clone().unwrap(); [INFO] [stdout] | ^^^^^^ method not found in `stack_frame::Value` [INFO] [stdout] | [INFO] [stdout] ::: src/stack_frame.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Value { [INFO] [stdout] | -------------- method `unwrap` not found for this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:219:22 [INFO] [stdout] | [INFO] [stdout] 219 | node_values.push(None); [INFO] [stdout] | ^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:244:24 [INFO] [stdout] | [INFO] [stdout] 244 | node_values.push(Some(Value::Local(location))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `type_` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:252:19 [INFO] [stdout] | [INFO] [stdout] 252 | let id = node.type_.unwrap(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:270:22 [INFO] [stdout] | [INFO] [stdout] 270 | node_values.push(Some(Value::Local(local))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:273:18 [INFO] [stdout] | [INFO] [stdout] 273 | let id = ast.nodes[member as usize].type_.unwrap(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:282:25 [INFO] [stdout] | [INFO] [stdout] 282 | node_values.push(Some(value.get_sub_value(0, 4, 4))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:284:25 [INFO] [stdout] | [INFO] [stdout] 284 | node_values.push(Some(value.get_sub_value(4, 4, 4))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:291:25 [INFO] [stdout] | [INFO] [stdout] 291 | node_values.push(Some(value.get_sub_value(0, 8, 8))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `kind` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:99:14 [INFO] [stdout] | [INFO] [stdout] 99 | match node.kind { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0026]: variant `typer::NodeKind::ScopeMember` does not have a field named `sub_member` [INFO] [stdout] --> src/code_gen.rs:100:47 [INFO] [stdout] | [INFO] [stdout] 100 | NodeKind::ScopeMember { id: member_id, ref sub_member, } => { [INFO] [stdout] | ^^^^^^^^^^ variant `typer::NodeKind::ScopeMember` does not have this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant named `IfWithElse` found for enum `typer::NodeKind` [INFO] [stdout] --> src/code_gen.rs:158:14 [INFO] [stdout] | [INFO] [stdout] 158 | NodeKind::IfWithElse { condition, true_body, false_body } => { [INFO] [stdout] | ^^^^^^^^^^ variant not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant `IfWithElse` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0026]: variant `typer::NodeKind::Block` does not have fields named `contents`, `label` [INFO] [stdout] --> src/code_gen.rs:221:26 [INFO] [stdout] | [INFO] [stdout] 221 | NodeKind::Block { ref contents, label } => { [INFO] [stdout] | ^^^^^^^^ ^^^^^ variant `typer::NodeKind::Block` does not have these fields [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: pattern requires `..` due to inaccessible fields [INFO] [stdout] --> src/code_gen.rs:221:4 [INFO] [stdout] | [INFO] [stdout] 221 | NodeKind::Block { ref contents, label } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: ignore the inaccessible and unused fields [INFO] [stdout] | [INFO] [stdout] 221 | NodeKind::Block { ref contents, label, .. } => { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0026]: variant `typer::NodeKind::Struct` does not have a field named `members` [INFO] [stdout] --> src/code_gen.rs:251:27 [INFO] [stdout] | [INFO] [stdout] 251 | NodeKind::Struct { ref members } => { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | variant `typer::NodeKind::Struct` does not have this field [INFO] [stdout] | help: a field with a similar name exists: `n_members` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `MemberAccess` found for enum `typer::NodeKind` in the current scope [INFO] [stdout] --> src/code_gen.rs:272:14 [INFO] [stdout] | [INFO] [stdout] 272 | NodeKind::MemberAccess(member, sub_name) => { [INFO] [stdout] | ^^^^^^^^^^^^ variant or associated item not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant or associated item `MemberAccess` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `Number` found for enum `typer::NodeKind` in the current scope [INFO] [stdout] --> src/code_gen.rs:310:14 [INFO] [stdout] | [INFO] [stdout] 310 | NodeKind::Number(num) => { [INFO] [stdout] | ^^^^^^ variant or associated item not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant or associated item `Number` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0769]: tuple variant `NodeKind::BinaryOperator` written as struct variant [INFO] [stdout] --> src/code_gen.rs:315:4 [INFO] [stdout] | [INFO] [stdout] 315 | NodeKind::BinaryOperator { operator, left, right } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the tuple variant pattern syntax instead: `NodeKind::BinaryOperator(_)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `EmptyLiteral` found for enum `typer::NodeKind` in the current scope [INFO] [stdout] --> src/code_gen.rs:359:14 [INFO] [stdout] | [INFO] [stdout] 359 | NodeKind::EmptyLiteral => { [INFO] [stdout] | ^^^^^^^^^^^^ variant or associated item not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant or associated item `EmptyLiteral` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0026]: variant `typer::NodeKind::FunctionCall` does not have fields named `function_pointer`, `arg_list` [INFO] [stdout] --> src/code_gen.rs:362:29 [INFO] [stdout] | [INFO] [stdout] 362 | NodeKind::FunctionCall { function_pointer, ref arg_list } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^ variant `typer::NodeKind::FunctionCall` does not have these fields [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: pattern requires `..` due to inaccessible fields [INFO] [stdout] --> src/code_gen.rs:362:4 [INFO] [stdout] | [INFO] [stdout] 362 | NodeKind::FunctionCall { function_pointer, ref arg_list } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: ignore the inaccessible and unused fields [INFO] [stdout] | [INFO] [stdout] 362 | NodeKind::FunctionCall { function_pointer, ref arg_list, .. } => { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0769]: tuple variant `NodeKind::UnaryOperator` written as struct variant [INFO] [stdout] --> src/code_gen.rs:396:4 [INFO] [stdout] | [INFO] [stdout] 396 | NodeKind::UnaryOperator { operator: Operator::BitAndOrPointer, operand } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the tuple variant pattern syntax instead: `NodeKind::UnaryOperator(_)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0769]: tuple variant `NodeKind::UnaryOperator` written as struct variant [INFO] [stdout] --> src/code_gen.rs:412:4 [INFO] [stdout] | [INFO] [stdout] 412 | NodeKind::UnaryOperator { operator: Operator::MulOrDeref, operand } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the tuple variant pattern syntax instead: `NodeKind::UnaryOperator(_)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `GetType` found for enum `typer::NodeKind` in the current scope [INFO] [stdout] --> src/code_gen.rs:433:14 [INFO] [stdout] | [INFO] [stdout] 433 | NodeKind::GetType(node) => { [INFO] [stdout] | ^^^^^^^ variant or associated item not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant or associated item `GetType` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant named `TypeStruct` found for enum `typer::NodeKind` [INFO] [stdout] --> src/code_gen.rs:440:14 [INFO] [stdout] | [INFO] [stdout] 440 | NodeKind::TypeStruct { .. } | [INFO] [stdout] | ^^^^^^^^^^ variant not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant `TypeStruct` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant named `TypeFunctionPointer` found for enum `typer::NodeKind` [INFO] [stdout] --> src/code_gen.rs:441:14 [INFO] [stdout] | [INFO] [stdout] 441 | NodeKind::TypeFunctionPointer { .. } | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ variant not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant `TypeFunctionPointer` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `TypeBufferPointer` found for enum `typer::NodeKind` in the current scope [INFO] [stdout] --> src/code_gen.rs:442:14 [INFO] [stdout] | [INFO] [stdout] 442 | NodeKind::TypeBufferPointer(_) | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ variant or associated item not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant or associated item `TypeBufferPointer` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `TypePointer` found for enum `typer::NodeKind` in the current scope [INFO] [stdout] --> src/code_gen.rs:443:14 [INFO] [stdout] | [INFO] [stdout] 443 | NodeKind::TypePointer(_) => { [INFO] [stdout] | ^^^^^^^^^^^ variant or associated item not found in `typer::NodeKind` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum NodeKind { [INFO] [stdout] | ----------------- variant or associated item `TypePointer` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `loc` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:113:91 [INFO] [stdout] | [INFO] [stdout] 113 | let (_, value) = get_resource_constant(types, &mut instructions, &mut locals, &node.loc, resources, id)?; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `type_` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:120:54 [INFO] [stdout] | [INFO] [stdout] 120 | let location = locals.allocate(types.handle(node.type_)); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `type_` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:135:51 [INFO] [stdout] | [INFO] [stdout] 135 | let local = locals.allocate(types.handle(node.type_)); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:293:25 [INFO] [stdout] | [INFO] [stdout] 293 | node_values.push(Some(value.get_sub_value(8, 8, 8))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:206:25 [INFO] [stdout] | [INFO] [stdout] 206 | types.handle(ast.nodes[value as usize].type_.unwrap()) [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap` found for enum `stack_frame::Value` in the current scope [INFO] [stdout] --> src/code_gen.rs:210:54 [INFO] [stdout] | [INFO] [stdout] 210 | let input = node_values[value as usize].clone().unwrap(); [INFO] [stdout] | ^^^^^^ method not found in `stack_frame::Value` [INFO] [stdout] | [INFO] [stdout] ::: src/stack_frame.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Value { [INFO] [stdout] | -------------- method `unwrap` not found for this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:301:26 [INFO] [stdout] | [INFO] [stdout] 301 | node_values.push(Some( [INFO] [stdout] | __________________________________________________^ [INFO] [stdout] 302 | | value.get_sub_value(*offset, handle.size, handle.align) [INFO] [stdout] 303 | | )); [INFO] [stdout] | |_________________________________^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:219:22 [INFO] [stdout] | [INFO] [stdout] 219 | node_values.push(None); [INFO] [stdout] | ^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:313:22 [INFO] [stdout] | [INFO] [stdout] 313 | node_values.push(Some((num as u64).into())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:319:51 [INFO] [stdout] | [INFO] [stdout] 319 | let result = locals.allocate(types.handle(ast.nodes[right as usize].type_.unwrap())); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:244:24 [INFO] [stdout] | [INFO] [stdout] 244 | node_values.push(Some(Value::Local(location))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `type_` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:252:19 [INFO] [stdout] | [INFO] [stdout] 252 | let id = node.type_.unwrap(); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:353:22 [INFO] [stdout] | [INFO] [stdout] 353 | node_values.push(Some(Value::Local(result))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:270:22 [INFO] [stdout] | [INFO] [stdout] 270 | node_values.push(Some(Value::Local(local))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:273:18 [INFO] [stdout] | [INFO] [stdout] 273 | let id = ast.nodes[member as usize].type_.unwrap(); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:282:25 [INFO] [stdout] | [INFO] [stdout] 282 | node_values.push(Some(value.get_sub_value(0, 4, 4))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:360:22 [INFO] [stdout] | [INFO] [stdout] 360 | node_values.push(None); [INFO] [stdout] | ^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:365:10 [INFO] [stdout] | [INFO] [stdout] 365 | ast.nodes[function_pointer as usize].type_.unwrap() [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:284:25 [INFO] [stdout] | [INFO] [stdout] 284 | node_values.push(Some(value.get_sub_value(4, 4, 4))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:291:25 [INFO] [stdout] | [INFO] [stdout] 291 | node_values.push(Some(value.get_sub_value(0, 8, 8))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:389:22 [INFO] [stdout] | [INFO] [stdout] 389 | node_values.push(Some(Value::Local(returns))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `loc` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:392:89 [INFO] [stdout] | [INFO] [stdout] 392 | let (_, value) = get_resource_constant(types, &mut instructions, &mut locals, &node.loc, resources, id)?; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:293:25 [INFO] [stdout] | [INFO] [stdout] 293 | node_values.push(Some(value.get_sub_value(8, 8, 8))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:393:22 [INFO] [stdout] | [INFO] [stdout] 393 | node_values.push(Some(value)) [INFO] [stdout] | ^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `type_` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:397:48 [INFO] [stdout] | [INFO] [stdout] 397 | let to = locals.allocate(types.handle(node.type_.unwrap())); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:402:13 [INFO] [stdout] | [INFO] [stdout] 402 | ast.nodes[operand as usize].type_.unwrap() [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:301:26 [INFO] [stdout] | [INFO] [stdout] 301 | node_values.push(Some( [INFO] [stdout] | __________________________________________________^ [INFO] [stdout] 302 | | value.get_sub_value(*offset, handle.size, handle.align) [INFO] [stdout] 303 | | )); [INFO] [stdout] | |_________________________________^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:410:22 [INFO] [stdout] | [INFO] [stdout] 410 | node_values.push(Some(Value::Local(to))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:421:12 [INFO] [stdout] | [INFO] [stdout] 421 | ast.nodes[operand as usize].type_.unwrap() [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:313:22 [INFO] [stdout] | [INFO] [stdout] 313 | node_values.push(Some((num as u64).into())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:319:51 [INFO] [stdout] | [INFO] [stdout] 319 | let result = locals.allocate(types.handle(ast.nodes[right as usize].type_.unwrap())); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:429:22 [INFO] [stdout] | [INFO] [stdout] 429 | node_values.push(Some(Value::Pointer(from.indirect_local_handle_to_self()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:434:21 [INFO] [stdout] | [INFO] [stdout] 434 | let type_ = ast.nodes[node as usize].type_.unwrap().into_index() as u64; [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:353:22 [INFO] [stdout] | [INFO] [stdout] 353 | node_values.push(Some(Value::Local(result))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:360:22 [INFO] [stdout] | [INFO] [stdout] 360 | node_values.push(None); [INFO] [stdout] | ^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:435:22 [INFO] [stdout] | [INFO] [stdout] 435 | node_values.push(Some(Value::Constant(type_.to_le_bytes().into()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:365:10 [INFO] [stdout] | [INFO] [stdout] 365 | ast.nodes[function_pointer as usize].type_.unwrap() [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:444:22 [INFO] [stdout] | [INFO] [stdout] 444 | node_values.push(None); [INFO] [stdout] | ^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:389:22 [INFO] [stdout] | [INFO] [stdout] 389 | node_values.push(Some(Value::Local(returns))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `loc` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:392:89 [INFO] [stdout] | [INFO] [stdout] 392 | let (_, value) = get_resource_constant(types, &mut instructions, &mut locals, &node.loc, resources, id)?; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:451:37 [INFO] [stdout] | [INFO] [stdout] 451 | Ok((locals.layout(), instructions, node_values.last().unwrap().clone())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected enum `Option`, found enum `stack_frame::Value` [INFO] [stdout] | help: try using a variant of the expected enum: `Some(node_values.last().unwrap().clone())` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `stack_frame::Value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:393:22 [INFO] [stdout] | [INFO] [stdout] 393 | node_values.push(Some(value)) [INFO] [stdout] | ^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `type_` on type `(typer::NodeId, &typer::Node)` [INFO] [stdout] --> src/code_gen.rs:397:48 [INFO] [stdout] | [INFO] [stdout] 397 | let to = locals.allocate(types.handle(node.type_.unwrap())); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:402:13 [INFO] [stdout] | [INFO] [stdout] 402 | ast.nodes[operand as usize].type_.unwrap() [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/resource.rs:101:42 [INFO] [stdout] | [INFO] [stdout] 101 | scopes.member(arg_id).type_ = Some(arg_type); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `types::TypeId`, found `&types::TypeId` [INFO] [stdout] | help: consider dereferencing the borrow: `*arg_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:410:22 [INFO] [stdout] | [INFO] [stdout] 410 | node_values.push(Some(Value::Local(to))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:421:12 [INFO] [stdout] | [INFO] [stdout] 421 | ast.nodes[operand as usize].type_.unwrap() [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/resource.rs:122:33 [INFO] [stdout] | [INFO] [stdout] 122 | match typer.compute(types, scopes, self) { [INFO] [stdout] | ^^^^^^ expected struct `resource::Resources`, found struct `scopes::Scopes` [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&resource::Resources` [INFO] [stdout] found mutable reference `&mut scopes::Scopes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:429:22 [INFO] [stdout] | [INFO] [stdout] 429 | node_values.push(Some(Value::Pointer(from.indirect_local_handle_to_self()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `nodes` on type `&id::IdVec` [INFO] [stdout] --> src/code_gen.rs:434:21 [INFO] [stdout] | [INFO] [stdout] 434 | let type_ = ast.nodes[node as usize].type_.unwrap().into_index() as u64; [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/resource.rs:122:41 [INFO] [stdout] | [INFO] [stdout] 122 | match typer.compute(types, scopes, self) { [INFO] [stdout] | ^^^^ expected struct `scopes::Scopes`, found struct `resource::Resources` [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut scopes::Scopes` [INFO] [stdout] found mutable reference `&mut resource::Resources` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0026]: variant `types::TypeKind::FunctionPointer` does not have a field named `wanted_return_type` [INFO] [stdout] --> src/resource.rs:142:41 [INFO] [stdout] | [INFO] [stdout] 142 | if let TypeKind::FunctionPointer { wanted_return_type, .. } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ variant `types::TypeKind::FunctionPointer` does not have this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `map` found for struct `types::TypeId` in the current scope [INFO] [stdout] --> src/resource.rs:154:48 [INFO] [stdout] | [INFO] [stdout] 154 | let _ = typer.nodes.last().unwrap().type_.map(|return_type| { [INFO] [stdout] | ^^^ method not found in `types::TypeId` [INFO] [stdout] | [INFO] [stdout] ::: src/id.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct $name(std::num::NonZeroU32); [INFO] [stdout] | --------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | method `map` not found for this [INFO] [stdout] | doesn't satisfy `types::TypeId: Iterator` [INFO] [stdout] | [INFO] [stdout] = note: the method `map` exists but the following trait bounds were not satisfied: [INFO] [stdout] `types::TypeId: Iterator` [INFO] [stdout] which is required by `&mut types::TypeId: Iterator` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `map`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `Typed` found for enum `resource::ResourceFunction` in the current scope [INFO] [stdout] --> src/resource.rs:167:63 [INFO] [stdout] | [INFO] [stdout] 167 | member.kind = ResourceKind::Function(ResourceFunction::Typed(ast)); [INFO] [stdout] | ^^^^^ variant or associated item not found in `resource::ResourceFunction` [INFO] [stdout] ... [INFO] [stdout] 659 | pub enum ResourceFunction { [INFO] [stdout] | ------------------------- variant or associated item `Typed` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:435:22 [INFO] [stdout] | [INFO] [stdout] 435 | node_values.push(Some(Value::Constant(type_.to_le_bytes().into()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:444:22 [INFO] [stdout] | [INFO] [stdout] 444 | node_values.push(None); [INFO] [stdout] | ^^^^ expected enum `stack_frame::Value`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `stack_frame::Value` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/resource.rs:252:67 [INFO] [stdout] | [INFO] [stdout] 252 | member.kind = ResourceKind::Value(ResourceValue::Typing(ast, AstTyper::new())); [INFO] [stdout] | ^^^^^^^^^^^^^^^ expected struct `Typer`, found struct `types::AstTyper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied [INFO] [stdout] --> src/resource.rs:257:23 [INFO] [stdout] | [INFO] [stdout] 257 | let mut typer2 = typer::Typer::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-- supplied 0 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 1 argument [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn new(ast: parser::Ast) -> Self { [INFO] [stdout] | ------------------------------------ defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 4 arguments were supplied [INFO] [stdout] --> src/resource.rs:258:21 [INFO] [stdout] | [INFO] [stdout] 258 | let _ = typer2.compute(types, self, scopes, &ast.nodes); [INFO] [stdout] | ^^^^^^^ ----- ---- ------ ---------- supplied 4 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 3 arguments [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn compute( [INFO] [stdout] | _____- [INFO] [stdout] 132 | | &mut self, [INFO] [stdout] 133 | | types: &mut Types, [INFO] [stdout] 134 | | resources: &Resources, [INFO] [stdout] 135 | | scopes: &mut Scopes, [INFO] [stdout] 136 | | ) -> Result, ()> { [INFO] [stdout] | |_______________________________________- defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `try_type_ast` found for struct `Typer` in the current scope [INFO] [stdout] --> src/resource.rs:267:18 [INFO] [stdout] | [INFO] [stdout] 267 | match typer.try_type_ast(types, &mut ast, scopes, self) { [INFO] [stdout] | ^^^^^^^^^^^^ method not found in `Typer` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:112:1 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct Typer { [INFO] [stdout] | ---------------- method `try_type_ast` not found for this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/resource.rs:285:61 [INFO] [stdout] | [INFO] [stdout] 285 | member.kind = ResourceKind::Value(ResourceValue::Typed(ast)); [INFO] [stdout] | ^^^ expected struct `id::IdVec`, found struct `parser::Ast` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `id::IdVec` [INFO] [stdout] found struct `parser::Ast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/code_gen.rs:451:37 [INFO] [stdout] | [INFO] [stdout] 451 | Ok((locals.layout(), instructions, node_values.last().unwrap().clone())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected enum `Option`, found enum `stack_frame::Value` [INFO] [stdout] | help: try using a variant of the expected enum: `Some(node_values.last().unwrap().clone())` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option` [INFO] [stdout] found enum `stack_frame::Value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/resource.rs:101:42 [INFO] [stdout] | [INFO] [stdout] 101 | scopes.member(arg_id).type_ = Some(arg_type); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected struct `types::TypeId`, found `&types::TypeId` [INFO] [stdout] | help: consider dereferencing the borrow: `*arg_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 67 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0026, E0061, E0308, E0425, E0532, E0599, E0609, E0769. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0026`. [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/resource.rs:122:33 [INFO] [stdout] | [INFO] [stdout] 122 | match typer.compute(types, scopes, self) { [INFO] [stdout] | ^^^^^^ expected struct `resource::Resources`, found struct `scopes::Scopes` [INFO] [stdout] | [INFO] [stdout] = note: expected reference `&resource::Resources` [INFO] [stdout] found mutable reference `&mut scopes::Scopes` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `impose` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/resource.rs:122:41 [INFO] [stdout] | [INFO] [stdout] 122 | match typer.compute(types, scopes, self) { [INFO] [stdout] | ^^^^ expected struct `scopes::Scopes`, found struct `resource::Resources` [INFO] [stdout] | [INFO] [stdout] = note: expected mutable reference `&mut scopes::Scopes` [INFO] [stdout] found mutable reference `&mut resource::Resources` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0026]: variant `types::TypeKind::FunctionPointer` does not have a field named `wanted_return_type` [INFO] [stdout] --> src/resource.rs:142:41 [INFO] [stdout] | [INFO] [stdout] 142 | if let TypeKind::FunctionPointer { wanted_return_type, .. } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ variant `types::TypeKind::FunctionPointer` does not have this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `map` found for struct `types::TypeId` in the current scope [INFO] [stdout] --> src/resource.rs:154:48 [INFO] [stdout] | [INFO] [stdout] 154 | let _ = typer.nodes.last().unwrap().type_.map(|return_type| { [INFO] [stdout] | ^^^ method not found in `types::TypeId` [INFO] [stdout] | [INFO] [stdout] ::: src/id.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct $name(std::num::NonZeroU32); [INFO] [stdout] | --------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | method `map` not found for this [INFO] [stdout] | doesn't satisfy `types::TypeId: Iterator` [INFO] [stdout] | [INFO] [stdout] = note: the method `map` exists but the following trait bounds were not satisfied: [INFO] [stdout] `types::TypeId: Iterator` [INFO] [stdout] which is required by `&mut types::TypeId: Iterator` [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `map`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant or associated item named `Typed` found for enum `resource::ResourceFunction` in the current scope [INFO] [stdout] --> src/resource.rs:167:63 [INFO] [stdout] | [INFO] [stdout] 167 | member.kind = ResourceKind::Function(ResourceFunction::Typed(ast)); [INFO] [stdout] | ^^^^^ variant or associated item not found in `resource::ResourceFunction` [INFO] [stdout] ... [INFO] [stdout] 659 | pub enum ResourceFunction { [INFO] [stdout] | ------------------------- variant or associated item `Typed` not found here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/resource.rs:252:67 [INFO] [stdout] | [INFO] [stdout] 252 | member.kind = ResourceKind::Value(ResourceValue::Typing(ast, AstTyper::new())); [INFO] [stdout] | ^^^^^^^^^^^^^^^ expected struct `Typer`, found struct `types::AstTyper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied [INFO] [stdout] --> src/resource.rs:257:23 [INFO] [stdout] | [INFO] [stdout] 257 | let mut typer2 = typer::Typer::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-- supplied 0 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 1 argument [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn new(ast: parser::Ast) -> Self { [INFO] [stdout] | ------------------------------------ defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 4 arguments were supplied [INFO] [stdout] --> src/resource.rs:258:21 [INFO] [stdout] | [INFO] [stdout] 258 | let _ = typer2.compute(types, self, scopes, &ast.nodes); [INFO] [stdout] | ^^^^^^^ ----- ---- ------ ---------- supplied 4 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 3 arguments [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn compute( [INFO] [stdout] | _____- [INFO] [stdout] 132 | | &mut self, [INFO] [stdout] 133 | | types: &mut Types, [INFO] [stdout] 134 | | resources: &Resources, [INFO] [stdout] 135 | | scopes: &mut Scopes, [INFO] [stdout] 136 | | ) -> Result, ()> { [INFO] [stdout] | |_______________________________________- defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `try_type_ast` found for struct `Typer` in the current scope [INFO] [stdout] --> src/resource.rs:267:18 [INFO] [stdout] | [INFO] [stdout] 267 | match typer.try_type_ast(types, &mut ast, scopes, self) { [INFO] [stdout] | ^^^^^^^^^^^^ method not found in `Typer` [INFO] [stdout] | [INFO] [stdout] ::: src/typer.rs:112:1 [INFO] [stdout] | [INFO] [stdout] 112 | pub struct Typer { [INFO] [stdout] | ---------------- method `try_type_ast` not found for this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/resource.rs:285:61 [INFO] [stdout] | [INFO] [stdout] 285 | member.kind = ResourceKind::Value(ResourceValue::Typed(ast)); [INFO] [stdout] | ^^^ expected struct `id::IdVec`, found struct `parser::Ast` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `id::IdVec` [INFO] [stdout] found struct `parser::Ast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 67 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0026, E0061, E0308, E0425, E0532, E0599, E0609, E0769. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0026`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "a4b423577d3757fa05d3fb395ce42645d6728529714bfa350c191efc6b3d1f78", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a4b423577d3757fa05d3fb395ce42645d6728529714bfa350c191efc6b3d1f78", kill_on_drop: false }` [INFO] [stdout] a4b423577d3757fa05d3fb395ce42645d6728529714bfa350c191efc6b3d1f78