[INFO] cloning repository https://github.com/analogrelay/vix-lang [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/analogrelay/vix-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fanalogrelay%2Fvix-lang", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fanalogrelay%2Fvix-lang'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ecc04c086bb95317145d996e7b58ba7c1f298fca [INFO] checking analogrelay/vix-lang against master#cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c for pr-143170 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fanalogrelay%2Fvix-lang" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/analogrelay/vix-lang [INFO] finished tweaking git repo https://github.com/analogrelay/vix-lang [INFO] tweaked toml for git repo https://github.com/analogrelay/vix-lang written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/analogrelay/vix-lang on toolchain cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/analogrelay/vix-lang 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" "+cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: /workspace/builds/worker-1-tc1/source/crates/vix-macros/Cargo.toml: library `vix_macros` should only specify `proc-macro = true` instead of setting `crate-type` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded clap_derive v4.5.18 [INFO] [stderr] Downloaded typed-arena v2.0.2 [INFO] [stderr] Downloaded console v0.15.8 [INFO] [stderr] Downloaded similar v2.6.0 [INFO] [stderr] Downloaded colorchoice v1.0.2 [INFO] [stderr] Downloaded anstyle-wincon v3.0.4 [INFO] [stderr] Downloaded clap_lex v0.7.2 [INFO] [stderr] Downloaded anstyle-query v1.1.1 [INFO] [stderr] Downloaded anstyle v1.0.8 [INFO] [stderr] Downloaded strsim v0.11.1 [INFO] [stderr] Downloaded anstyle-parse v0.2.5 [INFO] [stderr] Downloaded anstream v0.6.15 [INFO] [stderr] Downloaded clap v4.5.19 [INFO] [stderr] Downloaded indexmap v2.7.1 [INFO] [stderr] Downloaded insta v1.40.0 [INFO] [stderr] Downloaded encode_unicode v0.3.6 [INFO] [stderr] Downloaded nom v8.0.0 [INFO] [stderr] Downloaded clap_builder v4.5.19 [INFO] [stderr] Downloaded syn v2.0.82 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4bd4e923d070a3812b937e409f16410e95c4db0b77a4b65519d28ba9f2cd2ca2 [INFO] running `Command { std: "docker" "start" "-a" "4bd4e923d070a3812b937e409f16410e95c4db0b77a4b65519d28ba9f2cd2ca2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4bd4e923d070a3812b937e409f16410e95c4db0b77a4b65519d28ba9f2cd2ca2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4bd4e923d070a3812b937e409f16410e95c4db0b77a4b65519d28ba9f2cd2ca2", kill_on_drop: false }` [INFO] [stdout] 4bd4e923d070a3812b937e409f16410e95c4db0b77a4b65519d28ba9f2cd2ca2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3aa2854e2fd51516093fafebb6f8734b972dd1a8d8ff767238a16f77f1a96377 [INFO] running `Command { std: "docker" "start" "-a" "3aa2854e2fd51516093fafebb6f8734b972dd1a8d8ff767238a16f77f1a96377", kill_on_drop: false }` [INFO] [stderr] warning: /opt/rustwide/workdir/crates/vix-macros/Cargo.toml: library `vix_macros` should only specify `proc-macro = true` instead of setting `crate-type` [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Checking anstyle-query v1.1.1 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Checking anstyle-parse v0.2.5 [INFO] [stderr] Checking colorchoice v1.0.2 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking clap_lex v0.7.2 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking anstream v0.6.15 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking typed-arena v2.0.2 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking clap_builder v4.5.19 [INFO] [stderr] Checking similar v2.6.0 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking nom v8.0.0 [INFO] [stderr] Checking quote v1.0.37 [INFO] [stderr] Checking indexmap v2.7.1 [INFO] [stderr] Checking syn v2.0.82 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking insta v1.40.0 [INFO] [stderr] Checking vix-macros v0.1.0 (/opt/rustwide/workdir/crates/vix-macros) [INFO] [stdout] warning: struct `DiagArg` is never constructed [INFO] [stdout] --> crates/vix-macros/src/diagnostic.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | struct DiagArg { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiagArg` is never constructed [INFO] [stdout] --> crates/vix-macros/src/diagnostic.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | struct DiagArg { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling clap_derive v4.5.18 [INFO] [stdout] warning: struct `DiagArg` is never constructed [INFO] [stdout] --> crates/vix-macros/src/diagnostic.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | struct DiagArg { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking vix v0.1.0 (/opt/rustwide/workdir/crates/vix) [INFO] [stdout] error: expected `;`, found keyword `let` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:133:54 [INFO] [stdout] | [INFO] [stdout] 133 | expect_token!(self, TokenKind::Identifier(_)) [INFO] [stdout] | ^ help: add `;` here [INFO] [stdout] 134 | let token = self.tokens.next_token(); [INFO] [stdout] | --- unexpected token [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found `pat` metavariable [INFO] [stdout] --> crates/vix/src/parser/mod.rs:31:31 [INFO] [stdout] | [INFO] [stdout] 30 | UnexpectedToken { [INFO] [stdout] | --------------- while parsing this struct [INFO] [stdout] 31 | expected: $expected, [INFO] [stdout] | ^^^^^^^^^ expected expression [INFO] [stdout] ... [INFO] [stdout] 112 | expect_token!(self, TokenKind::LParen); [INFO] [stdout] | -------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `expect_token` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;`, found `t` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:34:44 [INFO] [stdout] | [INFO] [stdout] 34 | .emit(t.span, Level::Error) [INFO] [stdout] | ^ help: add `;` here [INFO] [stdout] 35 | t [INFO] [stdout] | - unexpected token [INFO] [stdout] ... [INFO] [stdout] 112 | expect_token!(self, TokenKind::LParen); [INFO] [stdout] | -------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `expect_token` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found `pat` metavariable [INFO] [stdout] --> crates/vix/src/parser/mod.rs:31:31 [INFO] [stdout] | [INFO] [stdout] 30 | UnexpectedToken { [INFO] [stdout] | --------------- while parsing this struct [INFO] [stdout] 31 | expected: $expected, [INFO] [stdout] | ^^^^^^^^^ expected expression [INFO] [stdout] ... [INFO] [stdout] 116 | expect_token!(self, TokenKind::RParen); [INFO] [stdout] | -------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `expect_token` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;`, found `t` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:34:44 [INFO] [stdout] | [INFO] [stdout] 34 | .emit(t.span, Level::Error) [INFO] [stdout] | ^ help: add `;` here [INFO] [stdout] 35 | t [INFO] [stdout] | - unexpected token [INFO] [stdout] ... [INFO] [stdout] 116 | expect_token!(self, TokenKind::RParen); [INFO] [stdout] | -------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `expect_token` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;`, found keyword `let` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:133:54 [INFO] [stdout] | [INFO] [stdout] 133 | expect_token!(self, TokenKind::Identifier(_)) [INFO] [stdout] | ^ help: add `;` here [INFO] [stdout] 134 | let token = self.tokens.next_token(); [INFO] [stdout] | --- unexpected token [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `take_assert` in this scope [INFO] [stdout] --> crates/vix/src/parser/mod.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | take_assert!(self.tokens, TokenKind::LBrace); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `take_assert` in this scope [INFO] [stdout] --> crates/vix/src/parser/mod.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | take_assert!(self.tokens, TokenKind::RBrace); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Error` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:137:29 [INFO] [stdout] | [INFO] [stdout] 137 | _ => return Err(Error::UnexpectedToken(token)), [INFO] [stdout] | ^^^^^ use of undeclared type `Error` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 3 + use std::error::Error; [INFO] [stdout] | [INFO] [stdout] 3 + use std::fmt::Error; [INFO] [stdout] | [INFO] [stdout] 3 + use std::io::Error; [INFO] [stdout] | [INFO] [stdout] 3 + use core::error::Error; [INFO] [stdout] | [INFO] [stdout] and 3 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Error` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:159:24 [INFO] [stdout] | [INFO] [stdout] 159 | return Err(Error::Expected(Expectation::Statement)); [INFO] [stdout] | ^^^^^ use of undeclared type `Error` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 3 + use std::error::Error; [INFO] [stdout] | [INFO] [stdout] 3 + use std::fmt::Error; [INFO] [stdout] | [INFO] [stdout] 3 + use std::io::Error; [INFO] [stdout] | [INFO] [stdout] 3 + use core::error::Error; [INFO] [stdout] | [INFO] [stdout] and 3 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::NonZeroUsize` [INFO] [stdout] --> crates/vix/src/interner.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{num::NonZeroUsize, sync::Mutex}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Diagnostic` and `Level` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | diag::{Diagnostic, Level}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `assert_token` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 53 | macro_rules! assert_token { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found `pat` metavariable [INFO] [stdout] --> crates/vix/src/parser/mod.rs:31:31 [INFO] [stdout] | [INFO] [stdout] 30 | UnexpectedToken { [INFO] [stdout] | --------------- while parsing this struct [INFO] [stdout] 31 | expected: $expected, [INFO] [stdout] | ^^^^^^^^^ expected expression [INFO] [stdout] ... [INFO] [stdout] 112 | expect_token!(self, TokenKind::LParen); [INFO] [stdout] | -------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `expect_token` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;`, found `t` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:34:44 [INFO] [stdout] | [INFO] [stdout] 34 | .emit(t.span, Level::Error) [INFO] [stdout] | ^ help: add `;` here [INFO] [stdout] 35 | t [INFO] [stdout] | - unexpected token [INFO] [stdout] ... [INFO] [stdout] 112 | expect_token!(self, TokenKind::LParen); [INFO] [stdout] | -------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `expect_token` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found `pat` metavariable [INFO] [stdout] --> crates/vix/src/parser/mod.rs:31:31 [INFO] [stdout] | [INFO] [stdout] 30 | UnexpectedToken { [INFO] [stdout] | --------------- while parsing this struct [INFO] [stdout] 31 | expected: $expected, [INFO] [stdout] | ^^^^^^^^^ expected expression [INFO] [stdout] ... [INFO] [stdout] 116 | expect_token!(self, TokenKind::RParen); [INFO] [stdout] | -------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `expect_token` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;`, found `t` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:34:44 [INFO] [stdout] | [INFO] [stdout] 34 | .emit(t.span, Level::Error) [INFO] [stdout] | ^ help: add `;` here [INFO] [stdout] 35 | t [INFO] [stdout] | - unexpected token [INFO] [stdout] ... [INFO] [stdout] 116 | expect_token!(self, TokenKind::RParen); [INFO] [stdout] | -------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `expect_token` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `take_assert` in this scope [INFO] [stdout] --> crates/vix/src/parser/mod.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | take_assert!(self.tokens, TokenKind::LBrace); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `take_assert` in this scope [INFO] [stdout] --> crates/vix/src/parser/mod.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | take_assert!(self.tokens, TokenKind::RBrace); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Error` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:137:29 [INFO] [stdout] | [INFO] [stdout] 137 | _ => return Err(Error::UnexpectedToken(token)), [INFO] [stdout] | ^^^^^ use of undeclared type `Error` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 3 + use std::error::Error; [INFO] [stdout] | [INFO] [stdout] 3 + use std::fmt::Error; [INFO] [stdout] | [INFO] [stdout] 3 + use std::io::Error; [INFO] [stdout] | [INFO] [stdout] 3 + use core::error::Error; [INFO] [stdout] | [INFO] [stdout] and 3 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Error` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:159:24 [INFO] [stdout] | [INFO] [stdout] 159 | return Err(Error::Expected(Expectation::Statement)); [INFO] [stdout] | ^^^^^ use of undeclared type `Error` [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 3 + use std::error::Error; [INFO] [stdout] | [INFO] [stdout] 3 + use std::fmt::Error; [INFO] [stdout] | [INFO] [stdout] 3 + use std::io::Error; [INFO] [stdout] | [INFO] [stdout] 3 + use core::error::Error; [INFO] [stdout] | [INFO] [stdout] and 3 other candidates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::NonZeroUsize` [INFO] [stdout] --> crates/vix/src/interner.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{num::NonZeroUsize, sync::Mutex}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Diagnostic` and `Level` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | diag::{Diagnostic, Level}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `assert_token` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 53 | macro_rules! assert_token { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/vix/src/parser/mod.rs:88:37 [INFO] [stdout] | [INFO] [stdout] 81 | start = Some(item.span.start); [INFO] [stdout] | ----- here the type of `start` is inferred to be `Option` [INFO] [stdout] ... [INFO] [stdout] 88 | let start = start.unwrap_or(0); [INFO] [stdout] | --------- ^ expected `Pos`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] help: the return type of this call is `{integer}` due to the type of the argument passed [INFO] [stdout] --> crates/vix/src/parser/mod.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | let start = start.unwrap_or(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | this argument influences the return type of `unwrap_or` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c/library/core/src/option.rs:1025:12 [INFO] [stdout] help: try wrapping the expression in `source::span::Pos` [INFO] [stdout] | [INFO] [stdout] 88 | let start = start.unwrap_or(source::span::Pos(0)); [INFO] [stdout] | ++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/vix/src/parser/mod.rs:89:33 [INFO] [stdout] | [INFO] [stdout] 84 | end = Some(item.span.end); [INFO] [stdout] | --- here the type of `end` is inferred to be `Option` [INFO] [stdout] ... [INFO] [stdout] 89 | let end = end.unwrap_or(0); [INFO] [stdout] | --------- ^ expected `Pos`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] help: the return type of this call is `{integer}` due to the type of the argument passed [INFO] [stdout] --> crates/vix/src/parser/mod.rs:89:19 [INFO] [stdout] | [INFO] [stdout] 89 | let end = end.unwrap_or(0); [INFO] [stdout] | ^^^^^^^^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | this argument influences the return type of `unwrap_or` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c/library/core/src/option.rs:1025:12 [INFO] [stdout] help: try wrapping the expression in `source::span::Pos` [INFO] [stdout] | [INFO] [stdout] 89 | let end = end.unwrap_or(source::span::Pos(0)); [INFO] [stdout] | ++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:101:64 [INFO] [stdout] | [INFO] [stdout] 101 | ast::TokenKind::Identifier(keywords::Func) => Some(self.function(token)?), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `Item` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Try` is not implemented for `Item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> crates/vix/src/parser/mod.rs:103:18 [INFO] [stdout] | [INFO] [stdout] 100 | let item = match token.kind { [INFO] [stdout] | ____________________- [INFO] [stdout] 101 | | ast::TokenKind::Identifier(keywords::Func) => Some(self.function(token)?), [INFO] [stdout] | | --------------------------- this is found to be of type `Option<_>` [INFO] [stdout] 102 | | ast::TokenKind::EndOfFile => None, [INFO] [stdout] | | ---- this is found to be of type `Option<_>` [INFO] [stdout] 103 | | x => {} [INFO] [stdout] | | ^^ expected `Option<_>`, found `()` [INFO] [stdout] 104 | | }; [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option<_>` [INFO] [stdout] found unit type `()` [INFO] [stdout] help: try wrapping the expression in `Some` [INFO] [stdout] | [INFO] [stdout] 103 | x => Some({}) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:110:21 [INFO] [stdout] | [INFO] [stdout] 110 | let ident = self.ident()?; [INFO] [stdout] | ^^^^^^^^^^^^^ the `?` operator cannot be applied to type `Ident` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Try` is not implemented for `Ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> crates/vix/src/parser/mod.rs:110:33 [INFO] [stdout] | [INFO] [stdout] 109 | fn function(&mut self, func: ast::Token) -> ast::Item { [INFO] [stdout] | ----------------------------------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] 110 | let ident = self.ident()?; [INFO] [stdout] | ^ cannot use the `?` operator in a method that returns `Item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/vix/src/parser/mod.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 132 | fn ident(&mut self) -> ast::Ident { [INFO] [stdout] | ---------- expected `Ident` because of return type [INFO] [stdout] ... [INFO] [stdout] 139 | / Ok(ast::Ident { [INFO] [stdout] 140 | | span: token.span, [INFO] [stdout] 141 | | symbol: sym, [INFO] [stdout] 142 | | }) [INFO] [stdout] | |__________^ expected `Ident`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Ident` [INFO] [stdout] found enum `Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `peek` found for struct `TokenBuffer` in the current scope [INFO] [stdout] --> crates/vix/src/parser/mod.rs:147:27 [INFO] [stdout] | [INFO] [stdout] 147 | match self.tokens.peek().kind { [INFO] [stdout] | ^^^^ method not found in `TokenBuffer<'a>` [INFO] [stdout] | [INFO] [stdout] ::: crates/vix/src/parser/token_buffer.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct TokenBuffer<'a> { [INFO] [stdout] | -------------------------- method `peek` not found for this struct [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `peek` found for struct `TokenBuffer` in the current scope [INFO] [stdout] --> crates/vix/src/parser/mod.rs:150:35 [INFO] [stdout] | [INFO] [stdout] 150 | while self.tokens.peek().kind != TokenKind::RBrace { [INFO] [stdout] | ^^^^ method not found in `TokenBuffer<'a>` [INFO] [stdout] | [INFO] [stdout] ::: crates/vix/src/parser/token_buffer.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct TokenBuffer<'a> { [INFO] [stdout] | -------------------------- method `peek` not found for this struct [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `stmt` found for mutable reference `&mut Parser<'a>` in the current scope [INFO] [stdout] --> crates/vix/src/parser/mod.rs:151:42 [INFO] [stdout] | [INFO] [stdout] 151 | statements.push(self.stmt()?); [INFO] [stdout] | ^^^^ method not found in `&mut Parser<'a>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `stmt` found for mutable reference `&mut Parser<'a>` in the current scope [INFO] [stdout] --> crates/vix/src/parser/mod.rs:155:39 [INFO] [stdout] | [INFO] [stdout] 155 | _ => statements.push(self.stmt()?), [INFO] [stdout] | ^^^^ method not found in `&mut Parser<'a>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expectation` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:159:40 [INFO] [stdout] | [INFO] [stdout] 159 | return Err(Error::Expected(Expectation::Statement)); [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `Expectation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/vix/src/parser/mod.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 145 | fn block(&mut self) -> ast::Block { [INFO] [stdout] | ---------- expected `Block` because of return type [INFO] [stdout] ... [INFO] [stdout] 162 | / Ok(ast::Block { [INFO] [stdout] 163 | | span: statements.first().map_or(0, |s| s.span.start) [INFO] [stdout] 164 | | ..statements.last().unwrap().span.end, [INFO] [stdout] 165 | | stmts: statements, [INFO] [stdout] 166 | | }) [INFO] [stdout] | |__________^ expected `Block`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Block` [INFO] [stdout] found enum `Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/vix/src/parser/mod.rs:88:37 [INFO] [stdout] | [INFO] [stdout] 81 | start = Some(item.span.start); [INFO] [stdout] | ----- here the type of `start` is inferred to be `Option` [INFO] [stdout] ... [INFO] [stdout] 88 | let start = start.unwrap_or(0); [INFO] [stdout] | --------- ^ expected `Pos`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] help: the return type of this call is `{integer}` due to the type of the argument passed [INFO] [stdout] --> crates/vix/src/parser/mod.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | let start = start.unwrap_or(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | this argument influences the return type of `unwrap_or` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c/library/core/src/option.rs:1025:12 [INFO] [stdout] help: try wrapping the expression in `source::span::Pos` [INFO] [stdout] | [INFO] [stdout] 88 | let start = start.unwrap_or(source::span::Pos(0)); [INFO] [stdout] | ++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/vix/src/parser/mod.rs:89:33 [INFO] [stdout] | [INFO] [stdout] 84 | end = Some(item.span.end); [INFO] [stdout] | --- here the type of `end` is inferred to be `Option` [INFO] [stdout] ... [INFO] [stdout] 89 | let end = end.unwrap_or(0); [INFO] [stdout] | --------- ^ expected `Pos`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] help: the return type of this call is `{integer}` due to the type of the argument passed [INFO] [stdout] --> crates/vix/src/parser/mod.rs:89:19 [INFO] [stdout] | [INFO] [stdout] 89 | let end = end.unwrap_or(0); [INFO] [stdout] | ^^^^^^^^^^^^^^-^ [INFO] [stdout] | | [INFO] [stdout] | this argument influences the return type of `unwrap_or` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /rustc/cf38b8e663f15db10ce49d7bbce02c99fc3dbc0c/library/core/src/option.rs:1025:12 [INFO] [stdout] help: try wrapping the expression in `source::span::Pos` [INFO] [stdout] | [INFO] [stdout] 89 | let end = end.unwrap_or(source::span::Pos(0)); [INFO] [stdout] | ++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0433, E0599. [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:101:64 [INFO] [stdout] | [INFO] [stdout] 101 | ast::TokenKind::Identifier(keywords::Func) => Some(self.function(token)?), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `Item` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Try` is not implemented for `Item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> crates/vix/src/parser/mod.rs:103:18 [INFO] [stdout] | [INFO] [stdout] 100 | let item = match token.kind { [INFO] [stdout] | ____________________- [INFO] [stdout] 101 | | ast::TokenKind::Identifier(keywords::Func) => Some(self.function(token)?), [INFO] [stdout] | | --------------------------- this is found to be of type `Option<_>` [INFO] [stdout] 102 | | ast::TokenKind::EndOfFile => None, [INFO] [stdout] | | ---- this is found to be of type `Option<_>` [INFO] [stdout] 103 | | x => {} [INFO] [stdout] | | ^^ expected `Option<_>`, found `()` [INFO] [stdout] 104 | | }; [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option<_>` [INFO] [stdout] found unit type `()` [INFO] [stdout] help: try wrapping the expression in `Some` [INFO] [stdout] | [INFO] [stdout] 103 | x => Some({}) [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:110:21 [INFO] [stdout] | [INFO] [stdout] 110 | let ident = self.ident()?; [INFO] [stdout] | ^^^^^^^^^^^^^ the `?` operator cannot be applied to type `Ident` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Try` is not implemented for `Ident` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used in a method that returns `Result` or `Option` (or another type that implements `FromResidual`) [INFO] [stdout] --> crates/vix/src/parser/mod.rs:110:33 [INFO] [stdout] | [INFO] [stdout] 109 | fn function(&mut self, func: ast::Token) -> ast::Item { [INFO] [stdout] | ----------------------------------------------------- this function should return `Result` or `Option` to accept `?` [INFO] [stdout] 110 | let ident = self.ident()?; [INFO] [stdout] | ^ cannot use the `?` operator in a method that returns `Item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/vix/src/parser/mod.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 132 | fn ident(&mut self) -> ast::Ident { [INFO] [stdout] | ---------- expected `Ident` because of return type [INFO] [stdout] ... [INFO] [stdout] 139 | / Ok(ast::Ident { [INFO] [stdout] 140 | | span: token.span, [INFO] [stdout] 141 | | symbol: sym, [INFO] [stdout] 142 | | }) [INFO] [stdout] | |__________^ expected `Ident`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Ident` [INFO] [stdout] found enum `Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `vix` (lib) due to 22 previous errors; 3 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0599]: no method named `peek` found for struct `TokenBuffer` in the current scope [INFO] [stdout] --> crates/vix/src/parser/mod.rs:147:27 [INFO] [stdout] | [INFO] [stdout] 147 | match self.tokens.peek().kind { [INFO] [stdout] | ^^^^ method not found in `TokenBuffer<'a>` [INFO] [stdout] | [INFO] [stdout] ::: crates/vix/src/parser/token_buffer.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct TokenBuffer<'a> { [INFO] [stdout] | -------------------------- method `peek` not found for this struct [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `peek` found for struct `TokenBuffer` in the current scope [INFO] [stdout] --> crates/vix/src/parser/mod.rs:150:35 [INFO] [stdout] | [INFO] [stdout] 150 | while self.tokens.peek().kind != TokenKind::RBrace { [INFO] [stdout] | ^^^^ method not found in `TokenBuffer<'a>` [INFO] [stdout] | [INFO] [stdout] ::: crates/vix/src/parser/token_buffer.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct TokenBuffer<'a> { [INFO] [stdout] | -------------------------- method `peek` not found for this struct [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `stmt` found for mutable reference `&mut Parser<'a>` in the current scope [INFO] [stdout] --> crates/vix/src/parser/mod.rs:151:42 [INFO] [stdout] | [INFO] [stdout] 151 | statements.push(self.stmt()?); [INFO] [stdout] | ^^^^ method not found in `&mut Parser<'a>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `stmt` found for mutable reference `&mut Parser<'a>` in the current scope [INFO] [stdout] --> crates/vix/src/parser/mod.rs:155:39 [INFO] [stdout] | [INFO] [stdout] 155 | _ => statements.push(self.stmt()?), [INFO] [stdout] | ^^^^ method not found in `&mut Parser<'a>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Expectation` [INFO] [stdout] --> crates/vix/src/parser/mod.rs:159:40 [INFO] [stdout] | [INFO] [stdout] 159 | return Err(Error::Expected(Expectation::Statement)); [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `Expectation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> crates/vix/src/parser/mod.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 145 | fn block(&mut self) -> ast::Block { [INFO] [stdout] | ---------- expected `Block` because of return type [INFO] [stdout] ... [INFO] [stdout] 162 | / Ok(ast::Block { [INFO] [stdout] 163 | | span: statements.first().map_or(0, |s| s.span.start) [INFO] [stdout] 164 | | ..statements.last().unwrap().span.end, [INFO] [stdout] 165 | | stmts: statements, [INFO] [stdout] 166 | | }) [INFO] [stdout] | |__________^ expected `Block`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Block` [INFO] [stdout] found enum `Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0433, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `vix` (lib test) due to 22 previous errors; 3 warnings emitted [INFO] running `Command { std: "docker" "inspect" "3aa2854e2fd51516093fafebb6f8734b972dd1a8d8ff767238a16f77f1a96377", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3aa2854e2fd51516093fafebb6f8734b972dd1a8d8ff767238a16f77f1a96377", kill_on_drop: false }` [INFO] [stdout] 3aa2854e2fd51516093fafebb6f8734b972dd1a8d8ff767238a16f77f1a96377