[INFO] cloning repository https://github.com/blajzer/BLSL
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/blajzer/BLSL" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fblajzer%2FBLSL", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fblajzer%2FBLSL'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8f13dd755415c670965faf23ba25ef22511ebcad
[INFO] testing blajzer/BLSL against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fblajzer%2FBLSL" "/workspace/builds/worker-1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/blajzer/BLSL on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/blajzer/BLSL
[INFO] finished tweaking git repo https://github.com/blajzer/BLSL
[INFO] tweaked toml for git repo https://github.com/blajzer/BLSL written to /workspace/builds/worker-1/source/Cargo.toml
[INFO] crate git repo https://github.com/blajzer/BLSL already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "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-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 867ab799bdbdc6b5899cd90629f0577766b203b86346ca408c968128db2eb3ba
[INFO] running `Command { std: "docker" "start" "-a" "867ab799bdbdc6b5899cd90629f0577766b203b86346ca408c968128db2eb3ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "867ab799bdbdc6b5899cd90629f0577766b203b86346ca408c968128db2eb3ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "867ab799bdbdc6b5899cd90629f0577766b203b86346ca408c968128db2eb3ba", kill_on_drop: false }`
[INFO] [stdout] 867ab799bdbdc6b5899cd90629f0577766b203b86346ca408c968128db2eb3ba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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=warn" "-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" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c273be5072ec2a0ea5078b0f76344506aaf032f3862f6531fb39f1458a6b2c4e
[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" "c273be5072ec2a0ea5078b0f76344506aaf032f3862f6531fb39f1458a6b2c4e", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling bytecount v0.3.2
[INFO] [stderr]    Compiling nom v5.1.0
[INFO] [stderr]    Compiling nom_locate v1.0.0
[INFO] [stderr]    Compiling blslang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::parser::types::*`
[INFO] [stdout]  --> src/builtin.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::parser::types::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `char`, `many0`, `map`, `multispace0`, `value`
[INFO] [stdout]   --> src/parser/definition.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 |     character::complete::{char, multispace0},
[INFO] [stdout]    |                           ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 16 |     combinator::{cut, map, opt, value},
[INFO] [stdout]    |                       ^^^       ^^^^^
[INFO] [stdout] 17 |     multi::{many0, separated_list},
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `map`
[INFO] [stdout]   --> src/parser/statement.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 |     combinator::{cut, map, opt, value},
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `multispace1`
[INFO] [stdout]   --> src/parser/mod.rs:30:3
[INFO] [stdout]    |
[INFO] [stdout] 30 |         multispace1},
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser::expression_to_string`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use parser::expression_to_string;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser::expr::parse_expression`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use parser::expr::parse_expression;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser::statement::parse_statement`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use parser::statement::parse_statement;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AssignmentOperator`
[INFO] [stdout]   --> src/validator/mod.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::parser::types::{AssignmentOperator, BinaryOperator, Expr, Literal, Statement, TypeDecl, UnaryOperator};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IResult`, `error::VerboseErrorKind`
[INFO] [stdout]   --> src/main.rs:24:2
[INFO] [stdout]    |
[INFO] [stdout] 24 |     IResult,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     error::VerboseErrorKind
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/parser/mod.rs:334:25
[INFO] [stdout]     |
[INFO] [stdout] 334 |         Definition::Function {name, params, ret, body, ..} => {
[INFO] [stdout]     |                               ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/parser/mod.rs:334:31
[INFO] [stdout]     |
[INFO] [stdout] 334 |         Definition::Function {name, params, ret, body, ..} => {
[INFO] [stdout]     |                                     ^^^^^^ help: try ignoring the field: `params: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/parser/mod.rs:334:39
[INFO] [stdout]     |
[INFO] [stdout] 334 |         Definition::Function {name, params, ret, body, ..} => {
[INFO] [stdout]     |                                             ^^^ help: try ignoring the field: `ret: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/parser/mod.rs:334:44
[INFO] [stdout]     |
[INFO] [stdout] 334 |         Definition::Function {name, params, ret, body, ..} => {
[INFO] [stdout]     |                                                  ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/validator/mod.rs:66:25
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn resolve_type(&self, t: types::Type) -> Option<usize> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decl`
[INFO] [stdout]   --> src/validator/mod.rs:99:38
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn resolve_type_decl<'b>(&mut self, decl: &TypeDecl<'b>) -> Result<usize, types::ValidateError<'b>> {
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/validator/mod.rs:106:16
[INFO] [stdout]     |
[INFO] [stdout] 106 |             if let Some(v) = scope.variables.iter().find(|v| v.name == name) {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/validator/mod.rs:373:37
[INFO] [stdout]     |
[INFO] [stdout] 373 |             Expr::BinaryExpr { pos, op, lhs, rhs } => {
[INFO] [stdout]     |                                              ^^^ help: try ignoring the field: `rhs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `scopes`
[INFO] [stdout]   --> src/validator/mod.rs:22:2
[INFO] [stdout]    |
[INFO] [stdout] 22 |     scopes: Vec<Scope>
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]   --> src/validator/mod.rs:26:2
[INFO] [stdout]    |
[INFO] [stdout] 26 |     name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `path`
[INFO] [stdout]   --> src/validator/mod.rs:27:2
[INFO] [stdout]    |
[INFO] [stdout] 27 |     path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `type_offset`
[INFO] [stdout]   --> src/validator/mod.rs:28:2
[INFO] [stdout]    |
[INFO] [stdout] 28 |     type_offset: usize
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `variables`
[INFO] [stdout]   --> src/validator/mod.rs:32:2
[INFO] [stdout]    |
[INFO] [stdout] 32 |     variables: Vec<Variable>
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]   --> src/validator/mod.rs:36:2
[INFO] [stdout]    |
[INFO] [stdout] 36 |     name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `type_index`
[INFO] [stdout]   --> src/validator/mod.rs:37:2
[INFO] [stdout]    |
[INFO] [stdout] 37 |     type_index: usize
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `find_or_add_type`
[INFO] [stdout]   --> src/validator/mod.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn find_or_add_type(&mut self, t: types::Type) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `resolve_type`
[INFO] [stdout]   --> src/validator/mod.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn resolve_type(&self, t: types::Type) -> Option<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_base_type`
[INFO] [stdout]   --> src/validator/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn get_base_type(&self, t: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_qualified_base_type`
[INFO] [stdout]   --> src/validator/mod.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn get_qualified_base_type(&self, t: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_variable_type`
[INFO] [stdout]   --> src/validator/mod.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn get_variable_type<'b>(&self, name: &str, pos: &SourcePos<'b>) -> Result<usize, types::ValidateError<'b>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `resolve_type_decl`
[INFO] [stdout]   --> src/validator/mod.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn resolve_type_decl<'b>(&mut self, decl: &TypeDecl<'b>) -> Result<usize, types::ValidateError<'b>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_variable_to_current_scope`
[INFO] [stdout]    --> src/validator/mod.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn add_variable_to_current_scope<'b>(&mut self, name: &str, type_index: usize, pos: &SourcePos<'b>) -> Result<(), types::ValidateError<'...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `find_function_type`
[INFO] [stdout]    --> src/validator/mod.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn find_function_type<'b>(&self, source_pos: SourcePos<'b>, func_name: &str, args: &Vec<types::Expr>) -> Result<(usize, usize), types::V...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `validate_vector_swizzle`
[INFO] [stdout]    --> src/validator/mod.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn validate_vector_swizzle<'b>(&mut self, expr: types::Expr<'b>, source_pos: SourcePos<'b>, dim: usize, base_type_index: usize, swizzle:...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `validate_expr`
[INFO] [stdout]    --> src/validator/mod.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn validate_expr<'b>(&mut self, file: &'b str, expr: super::parser::types::Expr<'b>) -> Result<types::Expr<'b>, types::ValidateError<'b>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `validate_lvalue`
[INFO] [stdout]    --> src/validator/mod.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 371 |     fn validate_lvalue<'b>(&self, file: &'b str, lhs: &super::parser::types::Expr<'b>) -> Result<(), types::ValidateError<'b>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `validate_statement`
[INFO] [stdout]    --> src/validator/mod.rs:400:5
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn validate_statement<'b>(&mut self, file: &'b str, statement: super::parser::types::Statement<'b>, is_loop: bool, return_type: usize) -...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 10.45s
[INFO] running `Command { std: "docker" "inspect" "c273be5072ec2a0ea5078b0f76344506aaf032f3862f6531fb39f1458a6b2c4e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c273be5072ec2a0ea5078b0f76344506aaf032f3862f6531fb39f1458a6b2c4e", kill_on_drop: false }`
[INFO] [stdout] c273be5072ec2a0ea5078b0f76344506aaf032f3862f6531fb39f1458a6b2c4e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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=warn" "-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" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c43e80198fc284dd446408a33f51974c8c836cc4bccf309c856aad21f6f455bd
[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" "c43e80198fc284dd446408a33f51974c8c836cc4bccf309c856aad21f6f455bd", kill_on_drop: false }`
[INFO] [stderr]    Compiling blslang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::parser::types::*`
[INFO] [stdout]  --> src/builtin.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::parser::types::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `char`, `many0`, `map`, `multispace0`, `value`
[INFO] [stdout]   --> src/parser/definition.rs:15:24
[INFO] [stdout]    |
[INFO] [stdout] 15 |     character::complete::{char, multispace0},
[INFO] [stdout]    |                           ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 16 |     combinator::{cut, map, opt, value},
[INFO] [stdout]    |                       ^^^       ^^^^^
[INFO] [stdout] 17 |     multi::{many0, separated_list},
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `map`
[INFO] [stdout]   --> src/parser/statement.rs:16:20
[INFO] [stdout]    |
[INFO] [stdout] 16 |     combinator::{cut, map, opt, value},
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `multispace1`
[INFO] [stdout]   --> src/parser/mod.rs:30:3
[INFO] [stdout]    |
[INFO] [stdout] 30 |         multispace1},
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser::expression_to_string`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use parser::expression_to_string;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser::expr::parse_expression`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use parser::expr::parse_expression;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser::statement::parse_statement`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use parser::statement::parse_statement;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AssignmentOperator`
[INFO] [stdout]   --> src/validator/mod.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::parser::types::{AssignmentOperator, BinaryOperator, Expr, Literal, Statement, TypeDecl, UnaryOperator};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IResult`, `error::VerboseErrorKind`
[INFO] [stdout]   --> src/main.rs:24:2
[INFO] [stdout]    |
[INFO] [stdout] 24 |     IResult,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     error::VerboseErrorKind
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/parser/mod.rs:334:25
[INFO] [stdout]     |
[INFO] [stdout] 334 |         Definition::Function {name, params, ret, body, ..} => {
[INFO] [stdout]     |                               ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `params`
[INFO] [stdout]    --> src/parser/mod.rs:334:31
[INFO] [stdout]     |
[INFO] [stdout] 334 |         Definition::Function {name, params, ret, body, ..} => {
[INFO] [stdout]     |                                     ^^^^^^ help: try ignoring the field: `params: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/parser/mod.rs:334:39
[INFO] [stdout]     |
[INFO] [stdout] 334 |         Definition::Function {name, params, ret, body, ..} => {
[INFO] [stdout]     |                                             ^^^ help: try ignoring the field: `ret: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/parser/mod.rs:334:44
[INFO] [stdout]     |
[INFO] [stdout] 334 |         Definition::Function {name, params, ret, body, ..} => {
[INFO] [stdout]     |                                                  ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/validator/mod.rs:66:25
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn resolve_type(&self, t: types::Type) -> Option<usize> {
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decl`
[INFO] [stdout]   --> src/validator/mod.rs:99:38
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn resolve_type_decl<'b>(&mut self, decl: &TypeDecl<'b>) -> Result<usize, types::ValidateError<'b>> {
[INFO] [stdout]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/validator/mod.rs:106:16
[INFO] [stdout]     |
[INFO] [stdout] 106 |             if let Some(v) = scope.variables.iter().find(|v| v.name == name) {
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/validator/mod.rs:373:37
[INFO] [stdout]     |
[INFO] [stdout] 373 |             Expr::BinaryExpr { pos, op, lhs, rhs } => {
[INFO] [stdout]     |                                              ^^^ help: try ignoring the field: `rhs: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `scopes`
[INFO] [stdout]   --> src/validator/mod.rs:22:2
[INFO] [stdout]    |
[INFO] [stdout] 22 |     scopes: Vec<Scope>
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]   --> src/validator/mod.rs:26:2
[INFO] [stdout]    |
[INFO] [stdout] 26 |     name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `path`
[INFO] [stdout]   --> src/validator/mod.rs:27:2
[INFO] [stdout]    |
[INFO] [stdout] 27 |     path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `type_offset`
[INFO] [stdout]   --> src/validator/mod.rs:28:2
[INFO] [stdout]    |
[INFO] [stdout] 28 |     type_offset: usize
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `variables`
[INFO] [stdout]   --> src/validator/mod.rs:32:2
[INFO] [stdout]    |
[INFO] [stdout] 32 |     variables: Vec<Variable>
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `name`
[INFO] [stdout]   --> src/validator/mod.rs:36:2
[INFO] [stdout]    |
[INFO] [stdout] 36 |     name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `type_index`
[INFO] [stdout]   --> src/validator/mod.rs:37:2
[INFO] [stdout]    |
[INFO] [stdout] 37 |     type_index: usize
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `find_or_add_type`
[INFO] [stdout]   --> src/validator/mod.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn find_or_add_type(&mut self, t: types::Type) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `resolve_type`
[INFO] [stdout]   --> src/validator/mod.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn resolve_type(&self, t: types::Type) -> Option<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_base_type`
[INFO] [stdout]   --> src/validator/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     fn get_base_type(&self, t: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_qualified_base_type`
[INFO] [stdout]   --> src/validator/mod.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn get_qualified_base_type(&self, t: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_variable_type`
[INFO] [stdout]   --> src/validator/mod.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn get_variable_type<'b>(&self, name: &str, pos: &SourcePos<'b>) -> Result<usize, types::ValidateError<'b>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `resolve_type_decl`
[INFO] [stdout]   --> src/validator/mod.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn resolve_type_decl<'b>(&mut self, decl: &TypeDecl<'b>) -> Result<usize, types::ValidateError<'b>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_variable_to_current_scope`
[INFO] [stdout]    --> src/validator/mod.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn add_variable_to_current_scope<'b>(&mut self, name: &str, type_index: usize, pos: &SourcePos<'b>) -> Result<(), types::ValidateError<'...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `find_function_type`
[INFO] [stdout]    --> src/validator/mod.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn find_function_type<'b>(&self, source_pos: SourcePos<'b>, func_name: &str, args: &Vec<types::Expr>) -> Result<(usize, usize), types::V...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `validate_vector_swizzle`
[INFO] [stdout]    --> src/validator/mod.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn validate_vector_swizzle<'b>(&mut self, expr: types::Expr<'b>, source_pos: SourcePos<'b>, dim: usize, base_type_index: usize, swizzle:...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `validate_expr`
[INFO] [stdout]    --> src/validator/mod.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn validate_expr<'b>(&mut self, file: &'b str, expr: super::parser::types::Expr<'b>) -> Result<types::Expr<'b>, types::ValidateError<'b>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `validate_lvalue`
[INFO] [stdout]    --> src/validator/mod.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 371 |     fn validate_lvalue<'b>(&self, file: &'b str, lhs: &super::parser::types::Expr<'b>) -> Result<(), types::ValidateError<'b>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `validate_statement`
[INFO] [stdout]    --> src/validator/mod.rs:400:5
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn validate_statement<'b>(&mut self, file: &'b str, statement: super::parser::types::Statement<'b>, is_loop: bool, return_type: usize) -...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 4.09s
[INFO] running `Command { std: "docker" "inspect" "c43e80198fc284dd446408a33f51974c8c836cc4bccf309c856aad21f6f455bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c43e80198fc284dd446408a33f51974c8c836cc4bccf309c856aad21f6f455bd", kill_on_drop: false }`
[INFO] [stdout] c43e80198fc284dd446408a33f51974c8c836cc4bccf309c856aad21f6f455bd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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=warn" "-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" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 093031e7f5038f168f1c9027cdc935fd0ffb14e0ca479d484a0ca1b5833b097b
[INFO] running `Command { std: "docker" "start" "-a" "093031e7f5038f168f1c9027cdc935fd0ffb14e0ca479d484a0ca1b5833b097b", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `super::parser::types::*`
[INFO] [stderr]  --> src/builtin.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use super::parser::types::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `char`, `many0`, `map`, `multispace0`, `value`
[INFO] [stderr]   --> src/parser/definition.rs:15:24
[INFO] [stderr]    |
[INFO] [stderr] 15 |     character::complete::{char, multispace0},
[INFO] [stderr]    |                           ^^^^  ^^^^^^^^^^^
[INFO] [stderr] 16 |     combinator::{cut, map, opt, value},
[INFO] [stderr]    |                       ^^^       ^^^^^
[INFO] [stderr] 17 |     multi::{many0, separated_list},
[INFO] [stderr]    |             ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `map`
[INFO] [stderr]   --> src/parser/statement.rs:16:20
[INFO] [stderr]    |
[INFO] [stderr] 16 |     combinator::{cut, map, opt, value},
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `multispace1`
[INFO] [stderr]   --> src/parser/mod.rs:30:3
[INFO] [stderr]    |
[INFO] [stderr] 30 |         multispace1},
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `parser::expression_to_string`
[INFO] [stderr]   --> src/main.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use parser::expression_to_string;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `parser::expr::parse_expression`
[INFO] [stderr]   --> src/main.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use parser::expr::parse_expression;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `parser::statement::parse_statement`
[INFO] [stderr]   --> src/main.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use parser::statement::parse_statement;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AssignmentOperator`
[INFO] [stderr]   --> src/validator/mod.rs:11:28
[INFO] [stderr]    |
[INFO] [stderr] 11 | use super::parser::types::{AssignmentOperator, BinaryOperator, Expr, Literal, Statement, TypeDecl, UnaryOperator};
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `IResult`, `error::VerboseErrorKind`
[INFO] [stderr]   --> src/main.rs:24:2
[INFO] [stderr]    |
[INFO] [stderr] 24 |     IResult,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 25 |     error::VerboseErrorKind
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]    --> src/parser/mod.rs:334:25
[INFO] [stderr]     |
[INFO] [stderr] 334 |         Definition::Function {name, params, ret, body, ..} => {
[INFO] [stderr]     |                               ^^^^ help: try ignoring the field: `name: _`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `params`
[INFO] [stderr]    --> src/parser/mod.rs:334:31
[INFO] [stderr]     |
[INFO] [stderr] 334 |         Definition::Function {name, params, ret, body, ..} => {
[INFO] [stderr]     |                                     ^^^^^^ help: try ignoring the field: `params: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ret`
[INFO] [stderr]    --> src/parser/mod.rs:334:39
[INFO] [stderr]     |
[INFO] [stderr] 334 |         Definition::Function {name, params, ret, body, ..} => {
[INFO] [stderr]     |                                             ^^^ help: try ignoring the field: `ret: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `body`
[INFO] [stderr]    --> src/parser/mod.rs:334:44
[INFO] [stderr]     |
[INFO] [stderr] 334 |         Definition::Function {name, params, ret, body, ..} => {
[INFO] [stderr]     |                                                  ^^^^ help: try ignoring the field: `body: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]   --> src/validator/mod.rs:66:25
[INFO] [stderr]    |
[INFO] [stderr] 66 |     fn resolve_type(&self, t: types::Type) -> Option<usize> {
[INFO] [stderr]    |                            ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `decl`
[INFO] [stderr]   --> src/validator/mod.rs:99:38
[INFO] [stderr]    |
[INFO] [stderr] 99 |     fn resolve_type_decl<'b>(&mut self, decl: &TypeDecl<'b>) -> Result<usize, types::ValidateError<'b>> {
[INFO] [stderr]    |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_decl`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/validator/mod.rs:106:16
[INFO] [stderr]     |
[INFO] [stderr] 106 |             if let Some(v) = scope.variables.iter().find(|v| v.name == name) {
[INFO] [stderr]     |                         ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rhs`
[INFO] [stderr]    --> src/validator/mod.rs:373:37
[INFO] [stderr]     |
[INFO] [stderr] 373 |             Expr::BinaryExpr { pos, op, lhs, rhs } => {
[INFO] [stderr]     |                                              ^^^ help: try ignoring the field: `rhs: _`
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `scopes`
[INFO] [stderr]   --> src/validator/mod.rs:22:2
[INFO] [stderr]    |
[INFO] [stderr] 22 |     scopes: Vec<Scope>
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `name`
[INFO] [stderr]   --> src/validator/mod.rs:26:2
[INFO] [stderr]    |
[INFO] [stderr] 26 |     name: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `path`
[INFO] [stderr]   --> src/validator/mod.rs:27:2
[INFO] [stderr]    |
[INFO] [stderr] 27 |     path: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `type_offset`
[INFO] [stderr]   --> src/validator/mod.rs:28:2
[INFO] [stderr]    |
[INFO] [stderr] 28 |     type_offset: usize
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `variables`
[INFO] [stderr]   --> src/validator/mod.rs:32:2
[INFO] [stderr]    |
[INFO] [stderr] 32 |     variables: Vec<Variable>
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `name`
[INFO] [stderr]   --> src/validator/mod.rs:36:2
[INFO] [stderr]    |
[INFO] [stderr] 36 |     name: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `type_index`
[INFO] [stderr]   --> src/validator/mod.rs:37:2
[INFO] [stderr]    |
[INFO] [stderr] 37 |     type_index: usize
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `find_or_add_type`
[INFO] [stderr]   --> src/validator/mod.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 57 |     fn find_or_add_type(&mut self, t: types::Type) -> usize {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `resolve_type`
[INFO] [stderr]   --> src/validator/mod.rs:66:5
[INFO] [stderr]    |
[INFO] [stderr] 66 |     fn resolve_type(&self, t: types::Type) -> Option<usize> {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_base_type`
[INFO] [stderr]   --> src/validator/mod.rs:70:5
[INFO] [stderr]    |
[INFO] [stderr] 70 |     fn get_base_type(&self, t: usize) -> usize {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_qualified_base_type`
[INFO] [stderr]   --> src/validator/mod.rs:80:5
[INFO] [stderr]    |
[INFO] [stderr] 80 |     fn get_qualified_base_type(&self, t: usize) -> usize {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_variable_type`
[INFO] [stderr]   --> src/validator/mod.rs:88:5
[INFO] [stderr]    |
[INFO] [stderr] 88 |     fn get_variable_type<'b>(&self, name: &str, pos: &SourcePos<'b>) -> Result<usize, types::ValidateError<'b>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `resolve_type_decl`
[INFO] [stderr]   --> src/validator/mod.rs:99:5
[INFO] [stderr]    |
[INFO] [stderr] 99 |     fn resolve_type_decl<'b>(&mut self, decl: &TypeDecl<'b>) -> Result<usize, types::ValidateError<'b>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `add_variable_to_current_scope`
[INFO] [stderr]    --> src/validator/mod.rs:104:5
[INFO] [stderr]     |
[INFO] [stderr] 104 |     fn add_variable_to_current_scope<'b>(&mut self, name: &str, type_index: usize, pos: &SourcePos<'b>) -> Result<(), types::ValidateError<'...
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `find_function_type`
[INFO] [stderr]    --> src/validator/mod.rs:118:5
[INFO] [stderr]     |
[INFO] [stderr] 118 |     fn find_function_type<'b>(&self, source_pos: SourcePos<'b>, func_name: &str, args: &Vec<types::Expr>) -> Result<(usize, usize), types::V...
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `validate_vector_swizzle`
[INFO] [stderr]    --> src/validator/mod.rs:150:5
[INFO] [stderr]     |
[INFO] [stderr] 150 |     fn validate_vector_swizzle<'b>(&mut self, expr: types::Expr<'b>, source_pos: SourcePos<'b>, dim: usize, base_type_index: usize, swizzle:...
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `validate_expr`
[INFO] [stderr]    --> src/validator/mod.rs:195:5
[INFO] [stderr]     |
[INFO] [stderr] 195 |     fn validate_expr<'b>(&mut self, file: &'b str, expr: super::parser::types::Expr<'b>) -> Result<types::Expr<'b>, types::ValidateError<'b>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `validate_lvalue`
[INFO] [stderr]    --> src/validator/mod.rs:371:5
[INFO] [stderr]     |
[INFO] [stderr] 371 |     fn validate_lvalue<'b>(&self, file: &'b str, lhs: &super::parser::types::Expr<'b>) -> Result<(), types::ValidateError<'b>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `validate_statement`
[INFO] [stderr]    --> src/validator/mod.rs:400:5
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn validate_statement<'b>(&mut self, file: &'b str, statement: super::parser::types::Statement<'b>, is_loop: bool, return_type: usize) -...
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 36 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/blslang-c1509ec5b5c8c987
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test parser::tests::definition_function ... ok
[INFO] [stdout] test parser::tests::expr_greater_than_or_equal ... ok
[INFO] [stdout] test parser::tests::expr_divide ... ok
[INFO] [stdout] test parser::tests::definition_variant ... ok
[INFO] [stdout] test parser::tests::expr_function_call ... ok
[INFO] [stdout] test parser::tests::expr_bitshift_left ... ok
[INFO] [stdout] test parser::tests::expr_bitwise_and ... ok
[INFO] [stdout] test parser::tests::expr_bitwise_or ... ok
[INFO] [stdout] test parser::tests::expr_bitwise_not ... ok
[INFO] [stdout] test parser::tests::expr_equal ... ok
[INFO] [stdout] test parser::tests::expr_greater_than ... ok
[INFO] [stdout] test parser::tests::expr_multiply ... ok
[INFO] [stdout] test parser::tests::expr_negate ... ok
[INFO] [stdout] test parser::tests::expr_modulus ... ok
[INFO] [stdout] test parser::tests::expr_member_access ... ok
[INFO] [stdout] test parser::tests::expr_less_than ... ok
[INFO] [stdout] test parser::tests::expr_not ... ok
[INFO] [stdout] test parser::tests::expr_not_equal ... ok
[INFO] [stdout] test parser::tests::expr_add ... ok
[INFO] [stdout] test parser::tests::expr_precedence ... ok
[INFO] [stdout] test parser::tests::expr_bitshift_right ... ok
[INFO] [stdout] test parser::tests::expr_comments ... ok
[INFO] [stdout] test parser::tests::expr_subtract ... ok
[INFO] [stdout] test parser::tests::expr_literals ... ok
[INFO] [stdout] test parser::tests::expr_and ... ok
[INFO] [stdout] test parser::tests::expr_method_call ... ok
[INFO] [stdout] test parser::tests::expr_less_than_or_equal ... ok
[INFO] [stdout] test parser::tests::expr_ternary ... ok
[INFO] [stdout] test parser::tests::expr_bitwise_xor ... ok
[INFO] [stdout] test parser::tests::expr_or ... ok
[INFO] [stdout] test parser::tests::expr_array_access ... ok
[INFO] [stdout] test parser::tests::statement_return ... ok
[INFO] [stdout] test parser::tests::statement_continue ... ok
[INFO] [stdout] test parser::tests::statement_assign ... ok
[INFO] [stdout] test parser::tests::statement_expression ... ok
[INFO] [stdout] test parser::tests::statement_if ... ok
[INFO] [stdout] test parser::tests::statement_break ... ok
[INFO] [stdout] test parser::tests::statement_block ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "093031e7f5038f168f1c9027cdc935fd0ffb14e0ca479d484a0ca1b5833b097b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "093031e7f5038f168f1c9027cdc935fd0ffb14e0ca479d484a0ca1b5833b097b", kill_on_drop: false }`
[INFO] [stdout] 093031e7f5038f168f1c9027cdc935fd0ffb14e0ca479d484a0ca1b5833b097b
