[INFO] cloning repository https://github.com/pedroddvo/parapet [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pedroddvo/parapet" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpedroddvo%2Fparapet", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpedroddvo%2Fparapet'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 437ceb43c2ee2562b9fa0ebf939941936c13d8d4 [INFO] checking pedroddvo/parapet against try#e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837 for pr-143619 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpedroddvo%2Fparapet" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/pedroddvo/parapet [INFO] finished tweaking git repo https://github.com/pedroddvo/parapet [INFO] tweaked toml for git repo https://github.com/pedroddvo/parapet written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/pedroddvo/parapet on toolchain e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/pedroddvo/parapet 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" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e8955075918b6d00525c617f7c34ee2595c70db70b3cf844dc875e4d3604499b" "/opt/rustwide/cargo-home/bin/cargo" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] Error response from daemon: mkdir /var/lib/docker/overlay2/a08d3e2c95a30f5991f25c9333fe3add9643f4d158bb27c0d28b75c9ad88f6f1-init: no space left on device [INFO] checking pedroddvo/parapet against try#e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837 for pr-143619 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpedroddvo%2Fparapet" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] [stderr] fatal: update_ref failed for ref 'HEAD': cannot update ref 'refs/heads/main': couldn't write '/workspace/builds/worker-1-tc2/source/.git/refs/heads/main.lock' [INFO] checking pedroddvo/parapet against try#e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837 for pr-143619 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpedroddvo%2Fparapet" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/pedroddvo/parapet [INFO] finished tweaking git repo https://github.com/pedroddvo/parapet [INFO] tweaked toml for git repo https://github.com/pedroddvo/parapet written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/pedroddvo/parapet on toolchain e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/pedroddvo/parapet 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" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e8955075918b6d00525c617f7c34ee2595c70db70b3cf844dc875e4d3604499b" "/opt/rustwide/cargo-home/bin/cargo" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] Error response from daemon: mkdir /var/lib/docker/overlay2/1f7b46ac0bcd74a74bc1a5f4651ed053541bba5ef9ca5f86ad0f5e3cbefbf19a/diff: no space left on device [INFO] checking pedroddvo/parapet against try#e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837 for pr-143619 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpedroddvo%2Fparapet" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/pedroddvo/parapet [INFO] finished tweaking git repo https://github.com/pedroddvo/parapet [INFO] tweaked toml for git repo https://github.com/pedroddvo/parapet written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/pedroddvo/parapet on toolchain e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/pedroddvo/parapet 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" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e8955075918b6d00525c617f7c34ee2595c70db70b3cf844dc875e4d3604499b" "/opt/rustwide/cargo-home/bin/cargo" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 35550229e49812f7bba24b8126013fd33944981d1fdded6c2ec0d61a40f21e0b [INFO] running `Command { std: "docker" "start" "-a" "35550229e49812f7bba24b8126013fd33944981d1fdded6c2ec0d61a40f21e0b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "35550229e49812f7bba24b8126013fd33944981d1fdded6c2ec0d61a40f21e0b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "35550229e49812f7bba24b8126013fd33944981d1fdded6c2ec0d61a40f21e0b", kill_on_drop: false }` [INFO] [stdout] 35550229e49812f7bba24b8126013fd33944981d1fdded6c2ec0d61a40f21e0b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e8955075918b6d00525c617f7c34ee2595c70db70b3cf844dc875e4d3604499b" "/opt/rustwide/cargo-home/bin/cargo" "+e784c10fc2dd34bf2bb7b1e51117e35d3f9c5837" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6880c105ddbac997095a9f3cf252bd06d0a7387b4613f20afff6d8ad7ace1f20 [INFO] running `Command { std: "docker" "start" "-a" "6880c105ddbac997095a9f3cf252bd06d0a7387b4613f20afff6d8ad7ace1f20", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.36 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.86 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling beef v0.5.1 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling utf8-ranges v1.0.4 [INFO] [stderr] Compiling quote v1.0.15 [INFO] [stderr] Compiling logos-derive v0.12.0 [INFO] [stderr] Checking logos v0.12.0 [INFO] [stderr] Checking parapet v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ExprType::*` [INFO] [stdout] --> src/lang/ast.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | use ExprType::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ExprType::*` [INFO] [stdout] --> src/lang/ast.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | use ExprType::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lang/ast.rs:124:7 [INFO] [stdout] | [INFO] [stdout] 124 | n => format!("{:?}", n) [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/lang/ast.rs:124:7 [INFO] [stdout] | [INFO] [stdout] 115 | (Int8 | Int16 | Int32 | Int64 | [INFO] [stdout] | ________- [INFO] [stdout] 116 | | Uint8 | Uint16 | Uint32 | Uint64) [INFO] [stdout] | |_______________________________________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 119 | UserDefined(s) => s.clone(), [INFO] [stdout] | -------------- matches some of the same values [INFO] [stdout] 120 | [INFO] [stdout] 121 | UntypedI => String::from("untyped integer"), [INFO] [stdout] | -------- matches some of the same values [INFO] [stdout] 122 | UntypedU => String::from("untyped number"), [INFO] [stdout] | -------- matches some of the same values [INFO] [stdout] 123 | [INFO] [stdout] 124 | n => format!("{:?}", n) [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tok_s` [INFO] [stdout] --> src/lang/parser.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | let (tok_t, tok_s) = self.peek_eof()?; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_tok_s` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> src/lang/analyser.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | kind: &DefKind, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let mut a = analyser::Analyser::analyse(&src); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `span` and `msg` are never read [INFO] [stdout] --> src/lang/error.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ErrorContext { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 5 | span: Span, [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | msg: String [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ErrorContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `root` and `context` are never read [INFO] [stdout] --> src/lang/error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ErrorBuilder { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 11 | root: ErrorContext, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | context: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ErrorBuilder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `context` is never used [INFO] [stdout] --> src/lang/error.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl ErrorBuilder { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn context(&mut self, msg: &str, span: Span) -> &mut Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Constant` is never constructed [INFO] [stdout] --> src/lang/ast.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum DefKind { Constant, Runtime } [INFO] [stdout] | ------- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | variant in this enum [INFO] [stdout] | [INFO] [stdout] = note: `DefKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/lang/ast.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | NumberInt(u64), [INFO] [stdout] | --------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 - NumberInt(u64), [INFO] [stdout] 11 + NumberInt(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/lang/ast.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | NumberFloat(f64), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 12 - NumberFloat(f64), [INFO] [stdout] 12 + NumberFloat(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UntypedI` is never constructed [INFO] [stdout] --> src/lang/ast.rs:28:3 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum ExprType { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 28 | UntypedI, // not yet inferred type [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExprType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_user_defined` is never used [INFO] [stdout] --> src/lang/ast.rs:48:10 [INFO] [stdout] | [INFO] [stdout] 47 | impl ExprType { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 48 | pub fn is_user_defined(&self) -> Option<&String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `defined_types` is never read [INFO] [stdout] --> src/lang/analyser.rs:12:3 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Analyser<'a> { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | defined_types: HashSet<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lang/lexer.rs:54:19 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn lexer(src: &str) -> logos::Lexer { [INFO] [stdout] | ^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 54 | pub fn lexer(src: &str) -> logos::Lexer<'_, Token> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lang/analyser.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | &mut self, [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 58 | ) -> AnalyserResult { [INFO] [stdout] | -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 58 | ) -> AnalyserResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lang/analyser.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | fn analyse_fetch_var(&mut self, name: Span) -> AnalyserResult { [INFO] [stdout] | ^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 76 | fn analyse_fetch_var(&mut self, name: Span) -> AnalyserResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lang/analyser.rs:86:19 [INFO] [stdout] | [INFO] [stdout] 86 | fn analyse_expr(&mut self, expr: &mut ExprData) -> AnalyserResult { [INFO] [stdout] | ^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 86 | fn analyse_expr(&mut self, expr: &mut ExprData) -> AnalyserResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lang/analyser.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | &mut self, [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 102 | ) -> AnalyserResult { [INFO] [stdout] | -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 102 | ) -> AnalyserResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lang/analyser.rs:149:19 [INFO] [stdout] | [INFO] [stdout] 149 | fn analyse_stmt(&mut self, stmt: &mut ExprData) -> AnalyserResult { [INFO] [stdout] | ^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 149 | fn analyse_stmt(&mut self, stmt: &mut ExprData) -> AnalyserResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lang/ast.rs:124:7 [INFO] [stdout] | [INFO] [stdout] 124 | n => format!("{:?}", n) [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/lang/ast.rs:124:7 [INFO] [stdout] | [INFO] [stdout] 115 | (Int8 | Int16 | Int32 | Int64 | [INFO] [stdout] | ________- [INFO] [stdout] 116 | | Uint8 | Uint16 | Uint32 | Uint64) [INFO] [stdout] | |_______________________________________- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 119 | UserDefined(s) => s.clone(), [INFO] [stdout] | -------------- matches some of the same values [INFO] [stdout] 120 | [INFO] [stdout] 121 | UntypedI => String::from("untyped integer"), [INFO] [stdout] | -------- matches some of the same values [INFO] [stdout] 122 | UntypedU => String::from("untyped number"), [INFO] [stdout] | -------- matches some of the same values [INFO] [stdout] 123 | [INFO] [stdout] 124 | n => format!("{:?}", n) [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tok_s` [INFO] [stdout] --> src/lang/parser.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | let (tok_t, tok_s) = self.peek_eof()?; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_tok_s` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> src/lang/analyser.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | kind: &DefKind, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let mut a = analyser::Analyser::analyse(&src); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `span` and `msg` are never read [INFO] [stdout] --> src/lang/error.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ErrorContext { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 5 | span: Span, [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | msg: String [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ErrorContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `root` and `context` are never read [INFO] [stdout] --> src/lang/error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ErrorBuilder { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 11 | root: ErrorContext, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | context: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ErrorBuilder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `context` is never used [INFO] [stdout] --> src/lang/error.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl ErrorBuilder { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn context(&mut self, msg: &str, span: Span) -> &mut Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Constant` is never constructed [INFO] [stdout] --> src/lang/ast.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum DefKind { Constant, Runtime } [INFO] [stdout] | ------- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | variant in this enum [INFO] [stdout] | [INFO] [stdout] = note: `DefKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/lang/ast.rs:11:13 [INFO] [stdout] | [INFO] [stdout] 11 | NumberInt(u64), [INFO] [stdout] | --------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 - NumberInt(u64), [INFO] [stdout] 11 + NumberInt(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/lang/ast.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | NumberFloat(f64), [INFO] [stdout] | ----------- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 12 - NumberFloat(f64), [INFO] [stdout] 12 + NumberFloat(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UntypedI` is never constructed [INFO] [stdout] --> src/lang/ast.rs:28:3 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum ExprType { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 28 | UntypedI, // not yet inferred type [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExprType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_user_defined` is never used [INFO] [stdout] --> src/lang/ast.rs:48:10 [INFO] [stdout] | [INFO] [stdout] 47 | impl ExprType { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 48 | pub fn is_user_defined(&self) -> Option<&String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `defined_types` is never read [INFO] [stdout] --> src/lang/analyser.rs:12:3 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Analyser<'a> { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | defined_types: HashSet<&'a str> [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lang/lexer.rs:54:19 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn lexer(src: &str) -> logos::Lexer { [INFO] [stdout] | ^^^^ ------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 54 | pub fn lexer(src: &str) -> logos::Lexer<'_, Token> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lang/analyser.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | &mut self, [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 58 | ) -> AnalyserResult { [INFO] [stdout] | -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 58 | ) -> AnalyserResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lang/analyser.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | fn analyse_fetch_var(&mut self, name: Span) -> AnalyserResult { [INFO] [stdout] | ^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 76 | fn analyse_fetch_var(&mut self, name: Span) -> AnalyserResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lang/analyser.rs:86:19 [INFO] [stdout] | [INFO] [stdout] 86 | fn analyse_expr(&mut self, expr: &mut ExprData) -> AnalyserResult { [INFO] [stdout] | ^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 86 | fn analyse_expr(&mut self, expr: &mut ExprData) -> AnalyserResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lang/analyser.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | &mut self, [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 102 | ) -> AnalyserResult { [INFO] [stdout] | -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 102 | ) -> AnalyserResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lang/analyser.rs:149:19 [INFO] [stdout] | [INFO] [stdout] 149 | fn analyse_stmt(&mut self, stmt: &mut ExprData) -> AnalyserResult { [INFO] [stdout] | ^^^^^^^^^ -------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 149 | fn analyse_stmt(&mut self, stmt: &mut ExprData) -> AnalyserResult<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.45s [INFO] running `Command { std: "docker" "inspect" "6880c105ddbac997095a9f3cf252bd06d0a7387b4613f20afff6d8ad7ace1f20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6880c105ddbac997095a9f3cf252bd06d0a7387b4613f20afff6d8ad7ace1f20", kill_on_drop: false }` [INFO] [stdout] 6880c105ddbac997095a9f3cf252bd06d0a7387b4613f20afff6d8ad7ace1f20