[INFO] cloning repository https://github.com/pqnelson/f77 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pqnelson/f77" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpqnelson%2Ff77", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpqnelson%2Ff77'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a6cfa1f4b826ec94d60809fd2fbde7862cf75e01 [INFO] testing pqnelson/f77 against 1.90.0 for beta-1.91-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpqnelson%2Ff77" "/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/pqnelson/f77 [INFO] finished tweaking git repo https://github.com/pqnelson/f77 [INFO] tweaked toml for git repo https://github.com/pqnelson/f77 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/pqnelson/f77 on toolchain 1.90.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/pqnelson/f77 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" "+1.90.0" "fetch" "--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-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 849e3b1fb0404b2920e1baa5a28f4ec88eaf0cab9c535fb783d6f3503a1d1968 [INFO] running `Command { std: "docker" "start" "-a" "849e3b1fb0404b2920e1baa5a28f4ec88eaf0cab9c535fb783d6f3503a1d1968", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "849e3b1fb0404b2920e1baa5a28f4ec88eaf0cab9c535fb783d6f3503a1d1968", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "849e3b1fb0404b2920e1baa5a28f4ec88eaf0cab9c535fb783d6f3503a1d1968", kill_on_drop: false }` [INFO] [stdout] 849e3b1fb0404b2920e1baa5a28f4ec88eaf0cab9c535fb783d6f3503a1d1968 [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=warn" "-e" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a6830fc76a71a4879e515373b3ed64cdf98f4c592b478f448607dc6079ee2abc [INFO] running `Command { std: "docker" "start" "-a" "a6830fc76a71a4879e515373b3ed64cdf98f4c592b478f448607dc6079ee2abc", kill_on_drop: false }` [INFO] [stderr] Compiling f77 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Type` [INFO] [stdout] --> src/ast.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | Type, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/ast.rs:417:13 [INFO] [stdout] | [INFO] [stdout] 417 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `the_name` [INFO] [stdout] --> src/parse_tree.rs:410:57 [INFO] [stdout] | [INFO] [stdout] 410 | matches!(self, ProgramUnit::::Program {name: the_name, ..}) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `the_name` [INFO] [stdout] --> src/parse_tree.rs:411:65 [INFO] [stdout] | [INFO] [stdout] 411 | || matches!(self, ProgramUnit::::Function {name: the_name, ..}) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `the_name` [INFO] [stdout] --> src/parse_tree.rs:412:67 [INFO] [stdout] | [INFO] [stdout] 412 | || matches!(self, ProgramUnit::::Subroutine {name: the_name, ..}) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `the_name` [INFO] [stdout] --> src/parse_tree.rs:409:28 [INFO] [stdout] | [INFO] [stdout] 409 | pub fn is_named(&self, the_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/parser.rs:423:25 [INFO] [stdout] | [INFO] [stdout] 423 | other => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/parser.rs:460:25 [INFO] [stdout] | [INFO] [stdout] 460 | other => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> src/parser.rs:786:33 [INFO] [stdout] | [INFO] [stdout] 786 | TokenType::Type(kind) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BaseType` is never used [INFO] [stdout] --> src/lexer.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum BaseType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TokenType` is never used [INFO] [stdout] --> src/lexer.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | pub enum TokenType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_continuation` and `is_label` are never used [INFO] [stdout] --> src/lexer.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 74 | impl TokenType { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 75 | pub fn is_continuation(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn is_label(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Token` is never constructed [INFO] [stdout] --> src/lexer.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 152 | pub struct Token { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/lexer.rs:165:12 [INFO] [stdout] | [INFO] [stdout] 164 | impl Token { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 165 | pub fn new(t: TokenType, l: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_keyword_token` is never used [INFO] [stdout] --> src/lexer.rs:173:4 [INFO] [stdout] | [INFO] [stdout] 173 | fn get_keyword_token(ident: &[char]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lexer` is never constructed [INFO] [stdout] --> src/lexer.rs:217:12 [INFO] [stdout] | [INFO] [stdout] 217 | pub struct Lexer { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_letter` is never used [INFO] [stdout] --> src/lexer.rs:226:4 [INFO] [stdout] | [INFO] [stdout] 226 | fn is_letter(ch: char) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `implies` is never used [INFO] [stdout] --> src/lexer.rs:230:4 [INFO] [stdout] | [INFO] [stdout] 230 | fn implies(antecedent: bool, consequent: bool) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_id_start` is never used [INFO] [stdout] --> src/lexer.rs:234:4 [INFO] [stdout] | [INFO] [stdout] 234 | fn is_id_start(c: char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_identifier` is never used [INFO] [stdout] --> src/lexer.rs:238:4 [INFO] [stdout] | [INFO] [stdout] 238 | fn is_identifier(c: char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_sign` is never used [INFO] [stdout] --> src/lexer.rs:242:4 [INFO] [stdout] | [INFO] [stdout] 242 | fn is_sign(c: char) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_exponent` is never used [INFO] [stdout] --> src/lexer.rs:246:4 [INFO] [stdout] | [INFO] [stdout] 246 | fn is_exponent(c: char) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/lexer.rs:252:12 [INFO] [stdout] | [INFO] [stdout] 250 | impl Lexer { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 251 | // INVARIANT: 1 <= Lexer.offset [INFO] [stdout] 252 | pub fn new(input : Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn line_number(&mut self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn is_finished(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn read_char(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | fn skipping_whitespace(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 306 | fn is_comment(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | fn try_label(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 335 | fn is_continuation(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 339 | fn skip_rest_of_line(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 348 | fn skipping_comment(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | fn peek(&mut self) -> char { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | fn peek_next(&mut self) -> char { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 389 | fn lex_number(&mut self) -> TokenType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | fn read_identifier(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 434 | fn lex_string(&mut self) -> TokenType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 466 | pub fn next_token_type(&mut self) -> TokenType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 554 | pub fn next_token(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BinOp` is never used [INFO] [stdout] --> src/parse_tree.rs:27:10 [INFO] [stdout] | [INFO] [stdout] 27 | pub enum BinOp { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `token_to_binop` is never used [INFO] [stdout] --> src/parse_tree.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn token_to_binop(token: Token) -> BinOp { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UnOp` is never used [INFO] [stdout] --> src/parse_tree.rs:61:10 [INFO] [stdout] | [INFO] [stdout] 61 | pub enum UnOp { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `token_to_unary_op` is never used [INFO] [stdout] --> src/parse_tree.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn token_to_unary_op(token: Token) -> UnOp { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Expr` is never used [INFO] [stdout] --> src/parse_tree.rs:127:10 [INFO] [stdout] | [INFO] [stdout] 127 | pub enum Expr { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Command` is never used [INFO] [stdout] --> src/parse_tree.rs:153:10 [INFO] [stdout] | [INFO] [stdout] 153 | pub enum Command { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Statement` is never constructed [INFO] [stdout] --> src/parse_tree.rs:191:12 [INFO] [stdout] | [INFO] [stdout] 191 | pub struct Statement { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_continue`, `is_end`, `is_stop`, and `is_return` are never used [INFO] [stdout] --> src/parse_tree.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 196 | impl Statement { [INFO] [stdout] | ----------------------------------------- methods in this implementation [INFO] [stdout] 197 | pub fn is_continue(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn is_end(&mut self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn is_stop(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn is_return(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Type` is never used [INFO] [stdout] --> src/parse_tree.rs:224:10 [INFO] [stdout] | [INFO] [stdout] 224 | pub enum Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ArrayIndex` is never used [INFO] [stdout] --> src/parse_tree.rs:247:10 [INFO] [stdout] | [INFO] [stdout] 247 | pub type ArrayIndex = isize; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ArraySpec` is never used [INFO] [stdout] --> src/parse_tree.rs:263:10 [INFO] [stdout] | [INFO] [stdout] 263 | pub enum ArraySpec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `rank` is never used [INFO] [stdout] --> src/parse_tree.rs:272:12 [INFO] [stdout] | [INFO] [stdout] 271 | impl ArraySpec { [INFO] [stdout] | ----------------------------------------- method in this implementation [INFO] [stdout] 272 | pub fn rank(self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VarDeclaration` is never constructed [INFO] [stdout] --> src/parse_tree.rs:300:12 [INFO] [stdout] | [INFO] [stdout] 300 | pub struct VarDeclaration { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Specification` is never used [INFO] [stdout] --> src/parse_tree.rs:310:10 [INFO] [stdout] | [INFO] [stdout] 310 | pub enum Specification { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `name_collides_with` and `has_name` are never used [INFO] [stdout] --> src/parse_tree.rs:316:12 [INFO] [stdout] | [INFO] [stdout] 315 | impl Specification { [INFO] [stdout] | --------------------------------------------- methods in this implementation [INFO] [stdout] 316 | pub fn name_collides_with(&self, other: &VarDeclaration) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | pub fn has_name(&self, other_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `rank` is never used [INFO] [stdout] --> src/parse_tree.rs:359:12 [INFO] [stdout] | [INFO] [stdout] 358 | impl VarDeclaration { [INFO] [stdout] | ---------------------------------------------- method in this implementation [INFO] [stdout] 359 | pub fn rank(self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ProgramUnit` is never used [INFO] [stdout] --> src/parse_tree.rs:365:10 [INFO] [stdout] | [INFO] [stdout] 365 | pub enum ProgramUnit { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ProgramUnitKind` is never used [INFO] [stdout] --> src/parse_tree.rs:388:10 [INFO] [stdout] | [INFO] [stdout] 388 | pub enum ProgramUnitKind { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `kind`, `is_empty`, `is_named`, `get_name`, and `shares_name` are never used [INFO] [stdout] --> src/parse_tree.rs:396:12 [INFO] [stdout] | [INFO] [stdout] 395 | impl ProgramUnit { [INFO] [stdout] | ------------------------------------------- methods in this implementation [INFO] [stdout] 396 | pub fn kind(&self) -> ProgramUnitKind { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 405 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 409 | pub fn is_named(&self, the_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 415 | pub fn get_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub fn shares_name(&self, other: &ProgramUnit) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Program` is never constructed [INFO] [stdout] --> src/parse_tree.rs:450:12 [INFO] [stdout] | [INFO] [stdout] 450 | pub struct Program { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `has_unit_sharing_name`, `index_for`, `subroutine_index`, and `push` are never used [INFO] [stdout] --> src/parse_tree.rs:457:12 [INFO] [stdout] | [INFO] [stdout] 456 | impl Program { [INFO] [stdout] | --------------------------------------- associated items in this implementation [INFO] [stdout] 457 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 476 | pub fn has_unit_sharing_name(&self, unit: &ProgramUnit) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 498 | pub fn index_for(&self, name: &str) -> Option<(usize,ProgramUnitKind)> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 510 | pub fn subroutine_index(&self, name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 537 | pub fn push(&mut self, unit: ProgramUnit) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/parser.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_CONTINUATIONS` is never used [INFO] [stdout] --> src/parser.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | pub const MAX_CONTINUATIONS : i16 = 19; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/parser.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl Parser { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 43 | pub fn new(scanner: Lexer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn reset_continuation_count(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn inc_continuation_count(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn is_finished(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn next_token(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn populate_current(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | fn peek(&mut self) -> &Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn push_back(&mut self, token: Token) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | fn advance(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | fn matches(&mut self, types: &[TokenType]) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | fn check(&mut self, token_type: TokenType) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | fn consume(&mut self, expected: TokenType, msg: &str) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn is_at_next_statement(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | fn synchronize(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub fn parse_all(&mut self) -> Program { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn program_unit(&mut self) -> ProgramUnit { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | fn specification(&mut self) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | fn parameter_spec(&mut self) -> Vec<(String, Expr)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | fn determine_type(&mut self) -> Type { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 486 | fn type_declarations(&mut self) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 542 | fn array_spec(&mut self) -> ArraySpec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 631 | fn assumed_shape(&mut self, mut indices: Vec>) -> ArraySpec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 661 | fn explicit_shape_or_assumed_size(&mut self, mut indices: Vec<(Option,Expr)>) -> ArraySpec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 736 | fn dummy_args(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 758 | fn determine_type_from_spec(&mut self, var_name: &String, spec: &Vec>) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 779 | fn function(&mut self) -> ProgramUnit { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 842 | fn subroutine(&mut self) -> ProgramUnit { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 878 | fn program(&mut self) -> ProgramUnit { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 911 | fn io_list(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 925 | fn read(&mut self, label: Option) -> Statement { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 947 | fn write(&mut self, label: Option) -> Statement { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 975 | fn goto_statement(&mut self, label: Option) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1000 | fn continue_statement(&mut self, label: Option) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1083 | fn if_construct(&mut self, label: Option) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1109 | fn end_if(&mut self, label: Option, test: Expr, true_branch: Vec>, false_branch: Vec>) -> Statem... [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1136 | fn block_if(&mut self, label: Option, test: Expr) -> Statement { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1184 | fn arithmetic_if(&mut self, label: Option, test: Expr) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1215 | fn if_statement(&mut self, label: Option, test: Expr) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1242 | fn block_do_construct(&mut self, label: Option) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1267 | fn loop_control(&mut self) -> (Expr, Expr, Expr, Option) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1296 | fn label_do_statement(&mut self, label: Option, target: i32) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1337 | fn nonlabel_do_statement(&mut self, label: Option) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1388 | fn call_subroutine(&mut self, label: Option) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1427 | fn assignment_or_expr(&mut self, label: Option) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1456 | fn statement_label(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1479 | fn illegal_statement(&mut self, label: Option) -> Statement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1507 | pub fn statement(&mut self) -> Statement { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1548 | pub fn expr(&mut self) -> Expr { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 1557 | fn level_5_expr(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1570 | fn equiv_operand(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1583 | fn or_operand(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1596 | fn and_operand(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1611 | fn level_4_expr(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1627 | fn level_3_expr(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1642 | fn mult_operand(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1658 | fn add_operand(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1673 | fn level_2_expr(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1693 | fn level_1_expr(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1701 | fn subscript(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1714 | fn section_triplet_tail(&mut self) -> Option<(Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1751 | fn section_subscript(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1773 | fn array_section_or_fn_call(&mut self, identifier: String) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1804 | fn named_data_ref(&mut self, identifier: Token) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1831 | fn intrinsic_real_conversion(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1848 | fn primary(&mut self) -> Expr { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Expr` is never used [INFO] [stdout] --> src/ast.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum Expr { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `var_index` is never used [INFO] [stdout] --> src/ast.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | fn var_index(name: &str, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fn_index` is never used [INFO] [stdout] --> src/ast.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | fn fn_index(name: &str, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `expr` is never used [INFO] [stdout] --> src/ast.rs:67:8 [INFO] [stdout] | [INFO] [stdout] 67 | fn expr(program: &Program, spec: &Vec>, e: &parse_tree::Expr) ... [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `array_spec` is never used [INFO] [stdout] --> src/ast.rs:151:8 [INFO] [stdout] | [INFO] [stdout] 151 | fn array_spec(program: &Program, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `specification` is never used [INFO] [stdout] --> src/ast.rs:217:8 [INFO] [stdout] | [INFO] [stdout] 217 | fn specification(program: &Program, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `statement` is never used [INFO] [stdout] --> src/ast.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 242 | pub fn statement(program: &Program, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `program_unit` is never used [INFO] [stdout] --> src/ast.rs:340:12 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn program_unit(program: &Program, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `program` is never used [INFO] [stdout] --> src/ast.rs:398:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub fn program(src: Program) -> Program { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.43s [INFO] running `Command { std: "docker" "inspect" "a6830fc76a71a4879e515373b3ed64cdf98f4c592b478f448607dc6079ee2abc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6830fc76a71a4879e515373b3ed64cdf98f4c592b478f448607dc6079ee2abc", kill_on_drop: false }` [INFO] [stdout] a6830fc76a71a4879e515373b3ed64cdf98f4c592b478f448607dc6079ee2abc [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=warn" "-e" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5b9dc8df9fe5ca47a0bb91bf4bc5215ff3c20b7f3ad9822a775d0695b1f3e7b6 [INFO] running `Command { std: "docker" "start" "-a" "5b9dc8df9fe5ca47a0bb91bf4bc5215ff3c20b7f3ad9822a775d0695b1f3e7b6", kill_on_drop: false }` [INFO] [stderr] Compiling f77 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `the_name` [INFO] [stdout] --> src/parse_tree.rs:410:57 [INFO] [stdout] | [INFO] [stdout] 410 | matches!(self, ProgramUnit::::Program {name: the_name, ..}) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `the_name` [INFO] [stdout] --> src/parse_tree.rs:411:65 [INFO] [stdout] | [INFO] [stdout] 411 | || matches!(self, ProgramUnit::::Function {name: the_name, ..}) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `the_name` [INFO] [stdout] --> src/parse_tree.rs:412:67 [INFO] [stdout] | [INFO] [stdout] 412 | || matches!(self, ProgramUnit::::Subroutine {name: the_name, ..}) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `the_name` [INFO] [stdout] --> src/parse_tree.rs:409:28 [INFO] [stdout] | [INFO] [stdout] 409 | pub fn is_named(&self, the_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/parser.rs:423:25 [INFO] [stdout] | [INFO] [stdout] 423 | other => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/parser.rs:460:25 [INFO] [stdout] | [INFO] [stdout] 460 | other => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> src/parser.rs:786:33 [INFO] [stdout] | [INFO] [stdout] 786 | TokenType::Type(kind) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_kind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_label` is never used [INFO] [stdout] --> src/lexer.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 74 | impl TokenType { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn is_label(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_letter` is never used [INFO] [stdout] --> src/lexer.rs:226:4 [INFO] [stdout] | [INFO] [stdout] 226 | fn is_letter(ch: char) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float32`, `Int32`, `Logical`, and `ArrayElement` are never constructed [INFO] [stdout] --> src/parse_tree.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub enum Expr { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 130 | Float32(f32), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 131 | Float64(f64), [INFO] [stdout] 132 | Int32(i32), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 133 | Int64(i64), [INFO] [stdout] 134 | Logical(bool), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | ArrayElement(String, Vec), // e.g., "MYARRAY(3,65,2)" [INFO] [stdout] | ^^^^^^^^^^^^ [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] [INFO] [stdout] [INFO] [stdout] warning: variant `External` is never constructed [INFO] [stdout] --> src/parse_tree.rs:233:5 [INFO] [stdout] | [INFO] [stdout] 224 | pub enum Type { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 233 | External = 0x40, // 0b0100_0000 function reference [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Type` 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: type alias `ArrayIndex` is never used [INFO] [stdout] --> src/parse_tree.rs:247:10 [INFO] [stdout] | [INFO] [stdout] 247 | pub type ArrayIndex = isize; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `rank` is never used [INFO] [stdout] --> src/parse_tree.rs:272:12 [INFO] [stdout] | [INFO] [stdout] 271 | impl ArraySpec { [INFO] [stdout] | ----------------------------------------- method in this implementation [INFO] [stdout] 272 | pub fn rank(self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `rank` is never used [INFO] [stdout] --> src/parse_tree.rs:359:12 [INFO] [stdout] | [INFO] [stdout] 358 | impl VarDeclaration { [INFO] [stdout] | ---------------------------------------------- method in this implementation [INFO] [stdout] 359 | pub fn rank(self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_empty` is never used [INFO] [stdout] --> src/parse_tree.rs:405:12 [INFO] [stdout] | [INFO] [stdout] 395 | impl ProgramUnit { [INFO] [stdout] | ------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 405 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_panicking` is never read [INFO] [stdout] --> src/parser.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Parser { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | is_panicking: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `push_back`, `is_at_next_statement`, and `synchronize` are never used [INFO] [stdout] --> src/parser.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 42 | impl Parser { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 124 | fn push_back(&mut self, token: Token) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn is_at_next_statement(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | fn synchronize(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Subroutine` and `Grouping` are never constructed [INFO] [stdout] --> src/ast.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum Expr { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 26 | Subroutine(usize), // for "call subroutine" statements [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | Grouping(Box), [INFO] [stdout] | ^^^^^^^^ [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] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.62s [INFO] running `Command { std: "docker" "inspect" "5b9dc8df9fe5ca47a0bb91bf4bc5215ff3c20b7f3ad9822a775d0695b1f3e7b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5b9dc8df9fe5ca47a0bb91bf4bc5215ff3c20b7f3ad9822a775d0695b1f3e7b6", kill_on_drop: false }` [INFO] [stdout] 5b9dc8df9fe5ca47a0bb91bf4bc5215ff3c20b7f3ad9822a775d0695b1f3e7b6 [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=warn" "-e" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 32a3e72a47dd17e9acec3b25dec12476b357966da5b3eb8f824e4d08bf231f30 [INFO] running `Command { std: "docker" "start" "-a" "32a3e72a47dd17e9acec3b25dec12476b357966da5b3eb8f824e4d08bf231f30", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `the_name` [INFO] [stdout] [INFO] [stderr] --> src/parse_tree.rs:410:57 [INFO] [stdout] running 168 tests [INFO] [stderr] | [INFO] [stdout] test lexer::tests::dot_should_start_literal ... ok [INFO] [stderr] 410 | matches!(self, ProgramUnit::::Program {name: the_name, ..}) [INFO] [stdout] test lexer::tests::lex_comma ... ok [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_name` [INFO] [stdout] test lexer::tests::lex_concatenation ... ok [INFO] [stderr] | [INFO] [stdout] test lexer::tests::lex_else ... ok [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] test lexer::tests::lex_continue ... ok [INFO] [stderr] [INFO] [stdout] test lexer::tests::lex_integer_type ... ok [INFO] [stderr] warning: unused variable: `the_name` [INFO] [stderr] --> src/parse_tree.rs:411:65 [INFO] [stderr] | [INFO] [stderr] 411 | || matches!(self, ProgramUnit::::Function {name: the_name, ..}) [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `the_name` [INFO] [stderr] --> src/parse_tree.rs:412:67 [INFO] [stderr] | [INFO] [stderr] 412 | || matches!(self, ProgramUnit::::Subroutine {name: the_name, ..}) [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `the_name` [INFO] [stderr] --> src/parse_tree.rs:409:28 [INFO] [stderr] | [INFO] [stderr] 409 | pub fn is_named(&self, the_name: &str) -> bool { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_the_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `other` [INFO] [stderr] --> src/parser.rs:423:25 [INFO] [stderr] | [INFO] [stderr] 423 | other => { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `other` [INFO] [stderr] --> src/parser.rs:460:25 [INFO] [stderr] | [INFO] [stderr] 460 | other => { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `kind` [INFO] [stderr] --> src/parser.rs:786:33 [INFO] [stderr] | [INFO] [stderr] 786 | TokenType::Type(kind) => { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_kind` [INFO] [stderr] [INFO] [stderr] warning: method `is_label` is never used [INFO] [stderr] --> src/lexer.rs:79:12 [INFO] [stderr] | [INFO] [stderr] 74 | impl TokenType { [INFO] [stderr] | -------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 79 | pub fn is_label(&mut self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `is_letter` is never used [INFO] [stderr] --> src/lexer.rs:226:4 [INFO] [stderr] | [INFO] [stderr] 226 | fn is_letter(ch: char) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Float32`, `Int32`, `Logical`, and `ArrayElement` are never constructed [INFO] [stderr] --> src/parse_tree.rs:130:5 [INFO] [stderr] | [INFO] [stderr] 127 | pub enum Expr { [INFO] [stderr] | ---- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 130 | Float32(f32), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 131 | Float64(f64), [INFO] [stderr] 132 | Int32(i32), [INFO] [stderr] | ^^^^^ [INFO] [stderr] 133 | Int64(i64), [INFO] [stderr] 134 | Logical(bool), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 146 | ArrayElement(String, Vec), // e.g., "MYARRAY(3,65,2)" [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `External` is never constructed [INFO] [stderr] --> src/parse_tree.rs:233:5 [INFO] [stderr] | [INFO] [stderr] 224 | pub enum Type { [INFO] [stderr] | ---- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 233 | External = 0x40, // 0b0100_0000 function reference [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Type` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: type alias `ArrayIndex` is never used [INFO] [stderr] --> src/parse_tree.rs:247:10 [INFO] [stderr] | [INFO] [stderr] 247 | pub type ArrayIndex = isize; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `rank` is never used [INFO] [stderr] --> src/parse_tree.rs:272:12 [INFO] [stderr] | [INFO] [stderr] 271 | impl ArraySpec { [INFO] [stderr] | ----------------------------------------- method in this implementation [INFO] [stderr] 272 | pub fn rank(self) -> usize { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `rank` is never used [INFO] [stderr] --> src/parse_tree.rs:359:12 [INFO] [stderr] | [INFO] [stderr] 358 | impl VarDeclaration { [INFO] [stderr] | ---------------------------------------------- method in this implementation [INFO] [stderr] 359 | pub fn rank(self) -> usize { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `is_empty` is never used [INFO] [stderr] --> src/parse_tree.rs:405:12 [INFO] [stderr] | [INFO] [stderr] 395 | impl ProgramUnit { [INFO] [stderr] | ------------------------------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 405 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `is_panicking` is never read [INFO] [stderr] --> src/parser.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 16 | pub struct Parser { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 21 | is_panicking: bool, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `push_back`, `is_at_next_statement`, and `synchronize` are never used [INFO] [stderr] --> src/parser.rs:124:8 [INFO] [stderr] | [INFO] [stderr] 42 | impl Parser { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 124 | fn push_back(&mut self, token: Token) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 178 | fn is_at_next_statement(&mut self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 193 | fn synchronize(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Subroutine` and `Grouping` are never constructed [INFO] [stderr] --> src/ast.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 17 | pub enum Expr { [INFO] [stderr] | ---- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 26 | Subroutine(usize), // for "call subroutine" statements [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 34 | Grouping(Box), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: `f77` (bin "f77" test) generated 18 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/f77-cd6e7cb6ed3fd549) [INFO] [stdout] test lexer::tests::lex_equal ... ok [INFO] [stdout] test ast::disambiguate::tests::subroutine_scale1 ... ok [INFO] [stdout] test lexer::tests::lex_character_type ... ok [INFO] [stdout] test lexer::tests::lex_and ... ok [INFO] [stdout] test lexer::tests::lex_eq ... ok [INFO] [stdout] test lexer::tests::lex_gt ... ok [INFO] [stdout] test lexer::tests::lex_false ... ok [INFO] [stdout] test lexer::tests::lex_goto ... ok [INFO] [stdout] test lexer::tests::lex_not ... ok [INFO] [stdout] test lexer::tests::lex_logical_type ... ok [INFO] [stdout] test lexer::tests::lex_pi_e_minus2_as_float ... ok [INFO] [stdout] test lexer::tests::lex_pi_e_plus2_as_float ... ok [INFO] [stdout] test lexer::tests::lex_pi_screaming_e_2_as_float ... ok [INFO] [stdout] test lexer::tests::lex_geq ... ok [INFO] [stdout] test lexer::tests::lex_lt ... ok [INFO] [stdout] test lexer::tests::lex_minus ... ok [INFO] [stdout] test lexer::tests::lex_ne ... ok [INFO] [stdout] test lexer::tests::lex_plus ... ok [INFO] [stdout] test lexer::tests::lex_pow ... ok [INFO] [stdout] test lexer::tests::lex_pie2_as_float ... ok [INFO] [stdout] test lexer::tests::lex_read ... ok [INFO] [stdout] test lexer::tests::lex_function ... ok [INFO] [stdout] test ast::disambiguate::tests::implicit_params_should_panic - should panic ... ok [INFO] [stdout] test lexer::tests::lex_real_type ... ok [INFO] [stdout] test lexer::tests::lex_or ... ok [INFO] [stdout] test lexer::tests::lex_pi_as_float ... ok [INFO] [stdout] test lexer::tests::lex_left_paren ... ok [INFO] [stdout] test lexer::tests::lex_neqv ... ok [INFO] [stdout] test lexer::tests::lex_right_paren ... ok [INFO] [stdout] test lexer::tests::lex_simple_string ... ok [INFO] [stdout] test lexer::tests::lex_return ... ok [INFO] [stdout] test lexer::tests::lex_star ... ok [INFO] [stdout] test lexer::tests::lex_simple_string_with_apostrophe ... ok [INFO] [stdout] test lexer::tests::lex_slash ... ok [INFO] [stdout] test lexer::tests::lex_endif ... ok [INFO] [stdout] test lexer::tests::lex_true ... ok [INFO] [stdout] test lexer::tests::lex_write ... ok [INFO] [stdout] test lexer::tests::should_lex_dot_prefix_invalid ... ok [INFO] [stdout] test lexer::tests::lex_stop ... ok [INFO] [stdout] test lexer::tests::should_lex_doo ... ok [INFO] [stdout] test lexer::tests::should_lex_continuation ... ok [INFO] [stdout] test lexer::tests::should_lex_end_after_comment ... ok [INFO] [stdout] test lexer::tests::lex_xor ... ok [INFO] [stdout] test lexer::tests::lexes_param_kw ... ok [INFO] [stdout] test lexer::tests::lex_runaway_string - should panic ... ok [INFO] [stdout] test lexer::tests::lex_subroutine ... ok [INFO] [stdout] test lexer::tests::should_lex_endif_kw ... ok [INFO] [stdout] test lexer::tests::should_lex_program_kw ... ok [INFO] [stdout] test lexer::tests::should_lex_dot_prefix_without_dot_suffix_panics - should panic ... ok [INFO] [stdout] test lexer::tests::should_lex_screaming_true_kw ... ok [INFO] [stdout] test lexer::tests::should_lex_screaming_program_kw ... ok [INFO] [stdout] test lexer::tests::should_lex_grothendieck_prime ... ok [INFO] [stdout] test lexer::tests::should_lex_if_kw ... ok [INFO] [stdout] test lexer::tests::should_lex_int_pow_int ... ok [INFO] [stdout] test lexer::tests::should_lex_label_10 ... ok [INFO] [stdout] test lexer::tests::should_lex_lparen_kw ... ok [INFO] [stdout] test lexer::tests::should_lex_pi_as_float ... ok [INFO] [stdout] test lexer::tests::should_not_match_f_as_exponent ... ok [INFO] [stdout] test parse_tree::param_spec_doesnt_have_name ... ok [INFO] [stdout] test parser::tests::expr::division_is_left_associative ... ok [INFO] [stdout] test parse_tree::spec_has_name ... ok [INFO] [stdout] test parser::tests::expr::parse_array_section_with_only_stride ... ok [INFO] [stdout] test lexer::tests::should_match_label ... ok [INFO] [stdout] test lexer::tests::should_not_lex_invalid_kw ... ok [INFO] [stdout] test parser::tests::expr::parse_array_section_without_start ... ok [INFO] [stdout] test parser::tests::expr::parse_array_section_without_stop ... ok [INFO] [stdout] test parser::tests::expr::parse_int_pow_int ... ok [INFO] [stdout] test parser::tests::expr::parse_array_section_with_only_start_and_stride ... ok [INFO] [stdout] test lexer::tests::should_lex_program_name ... ok [INFO] [stdout] test parser::tests::expr::parse_level_2_expr_add ... ok [INFO] [stdout] test parser::tests::expr::parse_fn_with_args ... ok [INFO] [stdout] test parser::tests::expr::parse_int_without_sign ... ok [INFO] [stdout] test parser::tests::expr::parse_array_section_with_start_and_stop_and_stride ... ok [INFO] [stdout] test parser::tests::expr::parse_negative_int ... ok [INFO] [stdout] test parser::tests::expr::parse_polysyllabic_variable ... ok [INFO] [stdout] test parser::tests::expr::parse_positive_int ... ok [INFO] [stdout] test lexer::tests::should_lex_then_kw ... ok [INFO] [stdout] test lexer::tests::should_lex_true_kw ... ok [INFO] [stdout] test lexer::tests::should_match_e_as_exponent ... ok [INFO] [stdout] test parse_tree::spec_doesnt_have_name ... ok [INFO] [stdout] test parser::tests::expr::parse_variable ... ok [INFO] [stdout] test parser::tests::expr::parse_simple_fn_call ... ok [INFO] [stdout] test parser::tests::expr::f90_array_section_ex3 ... ok [INFO] [stdout] test parser::tests::expr::subtraction_is_left_associative ... ok [INFO] [stdout] test parser::tests::expr::parse_array_section ... ok [INFO] [stdout] test parser::tests::expr::parse_variable_with_numeric_suffix ... ok [INFO] [stdout] test parser::tests::spec::assumed_size_array_with_lower_bound ... ok [INFO] [stdout] test parser::tests::expr::parse_array_section_with_only_stop_and_stride ... ok [INFO] [stdout] test parser::tests::expr::parse_iterated_powers ... ok [INFO] [stdout] test parser::tests::spec::explicit_array_with_lower_bound ... ok [INFO] [stdout] test parser::tests::spec::explicit_array_with_var ... ok [INFO] [stdout] test parser::tests::expr::parse_level_2_expr_subtraction ... ok [INFO] [stdout] test parser::tests::spec::scalar_and_array_params ... ok [INFO] [stdout] test parser::tests::spec::should_parse_single_char_decl ... ok [INFO] [stdout] test parser::tests::spec::should_parse_single_int_decl ... ok [INFO] [stdout] test parser::tests::spec::should_parse_multiple_decls ... ok [INFO] [stdout] test parser::tests::spec::should_parse_single_logical_decl ... ok [INFO] [stdout] test parser::tests::spec::f90_standard_parameter_example ... ok [INFO] [stdout] test parser::tests::spec::should_parse_single_real_array_decl ... ok [INFO] [stdout] test parser::tests::spec::malformed_array_spec - should panic ... ok [INFO] [stdout] test parser::tests::spec::assumed_size_with_var_param ... ok [INFO] [stdout] test parser::tests::spec::malformed_assumed_size_with_var_param ... ok [INFO] [stdout] test parser::tests::spec::explicit_array_spec_with_negative_start ... ok [INFO] [stdout] test parser::tests::spec::should_parse_single_real_decl ... ok [INFO] [stdout] test parser::tests::spec::should_parse_single_real_rank_2_array_decl ... ok [INFO] [stdout] test parser::tests::spec::should_parse_three_int_decls ... ok [INFO] [stdout] test parser::tests::spec::should_parse_single_real_rank_2_assumed_size_array_decl ... ok [INFO] [stdout] test parser::tests::spec::spec_int16 ... ok [INFO] [stdout] test parser::tests::spec::spec_int8 ... ok [INFO] [stdout] test parser::tests::spec::spec_int4 ... ok [INFO] [stdout] test parser::tests::spec::spec_real12 ... ok [INFO] [stdout] test parser::tests::spec::spec_real1 ... ok [INFO] [stdout] test parser::tests::spec::spec_real14 ... ok [INFO] [stdout] test parser::tests::spec::spec_real2 ... ok [INFO] [stdout] test parser::tests::spec::spec_real11 ... ok [INFO] [stdout] test parser::tests::spec::spec_real13 ... ok [INFO] [stdout] test parser::tests::spec::spec_real16 ... ok [INFO] [stdout] test parser::tests::spec::spec_real15 ... ok [INFO] [stdout] test parser::tests::spec::spec_real4 ... ok [INFO] [stdout] test parser::tests::spec::spec_real3 ... ok [INFO] [stdout] test parser::tests::spec::spec_real6 ... ok [INFO] [stdout] test parser::tests::spec::spec_real5 ... ok [INFO] [stdout] test parser::tests::spec::spec_real7 ... ok [INFO] [stdout] test parser::tests::spec::spec_real8 ... ok [INFO] [stdout] test parser::tests::spec::spec_real9 ... ok [INFO] [stdout] test parser::tests::spec::two_assumed_shape_arrays ... ok [INFO] [stdout] test parser::tests::stmt::assign_constant_to_var ... ok [INFO] [stdout] test parser::tests::stmt::call_subroutine_with_two_args ... ok [INFO] [stdout] test parser::tests::spec::two_colon_indices_in_array_spec ... ok [INFO] [stdout] test parser::tests::spec::spec_real10 ... ok [INFO] [stdout] test parser::tests::stmt::f77_do_loop_with_stride_example ... ok [INFO] [stdout] test parser::tests::stmt::call_subroutine_with_one_args ... ok [INFO] [stdout] test parser::tests::stmt::f77_do_loop_with_negative_stride_example ... ok [INFO] [stdout] test parser::tests::stmt::f77_do_loop_example ... ok [INFO] [stdout] test parser::tests::stmt::if_else_block_statement ... ok [INFO] [stdout] test parser::tests::stmt::labeled_continue ... ok [INFO] [stdout] test parser::tests::stmt::call_subroutine_without_args ... ok [INFO] [stdout] test parser::tests::stmt::if_elseif_else_block_statement ... ok [INFO] [stdout] test parser::tests::stmt::if_block_statement ... ok [INFO] [stdout] test parser::tests::stmt::labeled_continue_with_leading_zeros ... ok [INFO] [stdout] test parser::tests::stmt::labeled_read_three_variable ... ok [INFO] [stdout] test parser::tests::stmt::labeled_goto ... ok [INFO] [stdout] test parser::tests::stmt::labeled_if_statement ... ok [INFO] [stdout] test parser::tests::stmt::labeled_read_one_variable ... ok [INFO] [stdout] test parser::tests::stmt::labeled_arith_if_example ... ok [INFO] [stdout] test parser::tests::stmt::labeled_write_one_variable ... ok [INFO] [stdout] test parser::tests::stmt::labeled_write_three_variable ... ok [INFO] [stdout] test parser::tests::stmt::should_parse_end_statement ... ok [INFO] [stdout] test parser::tests::stmt::unlabeled_continue ... ok [INFO] [stdout] test parser::tests::stmt::unlabeled_goto ... ok [INFO] [stdout] test parser::tests::stmt::zero_label_continue_is_unlabeled ... ok [INFO] [stdout] test parser::tests::unit::main_with_only_declarations_test ... ok [INFO] [stdout] test parser::tests::unit::min1_test ... ok [INFO] [stdout] test parser::tests::unit::function_without_return_panics - should panic ... ok [INFO] [stdout] test parser::tests::unit::real_function_f ... ok [INFO] [stdout] test parser::tests::unit::subroutine_without_return_panics - should panic ... ok [INFO] [stdout] test parser::tests::unit::subroutine_scale1 ... ok [INFO] [stdout] test lexer::tests::lex_end ... ok [INFO] [stdout] test lexer::tests::lex_eqv ... ok [INFO] [stdout] test lexer::tests::lex_fn_name ... ok [INFO] [stdout] test lexer::tests::lex_le ... ok [INFO] [stdout] test parser::tests::stmt::f90_do_loop_example ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 168 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "32a3e72a47dd17e9acec3b25dec12476b357966da5b3eb8f824e4d08bf231f30", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "32a3e72a47dd17e9acec3b25dec12476b357966da5b3eb8f824e4d08bf231f30", kill_on_drop: false }` [INFO] [stdout] 32a3e72a47dd17e9acec3b25dec12476b357966da5b3eb8f824e4d08bf231f30