[INFO] cloning repository https://github.com/OkiMusix05/better_fortran_1
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/OkiMusix05/better_fortran_1" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOkiMusix05%2Fbetter_fortran_1", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOkiMusix05%2Fbetter_fortran_1'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cf18a3001ab0bf27138652727f338a7866c9cffc
[INFO] checking OkiMusix05/better_fortran_1 against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOkiMusix05%2Fbetter_fortran_1" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/OkiMusix05/better_fortran_1
[INFO] finished tweaking git repo https://github.com/OkiMusix05/better_fortran_1
[INFO] tweaked toml for git repo https://github.com/OkiMusix05/better_fortran_1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/OkiMusix05/better_fortran_1 on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/OkiMusix05/better_fortran_1 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 59c76176778184bafbff3cd3ce31bad94c4e196b43ab59a49e1beb972c80e2e3
[INFO] running `Command { std: "docker" "start" "-a" "59c76176778184bafbff3cd3ce31bad94c4e196b43ab59a49e1beb972c80e2e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "59c76176778184bafbff3cd3ce31bad94c4e196b43ab59a49e1beb972c80e2e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59c76176778184bafbff3cd3ce31bad94c4e196b43ab59a49e1beb972c80e2e3", kill_on_drop: false }`
[INFO] [stdout] 59c76176778184bafbff3cd3ce31bad94c4e196b43ab59a49e1beb972c80e2e3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 10da4b6dba0d9b0950bcad647b20586c0b15d4ac4421a59d503cbd2bfe219649
[INFO] running `Command { std: "docker" "start" "-a" "10da4b6dba0d9b0950bcad647b20586c0b15d4ac4421a59d503cbd2bfe219649", kill_on_drop: false }`
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking better_fortran_1 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ptr::replace`
[INFO] [stdout]  --> src/parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ptr::replace;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/parser.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use regex::{Match, Regex};
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]  --> src/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::var`
[INFO] [stdout]  --> src/parser.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::env::var;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/parser.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/parser.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |       /// Add modules to functions that require it
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 250 |       // Main
[INFO] [stdout] 251 | /     if doc.contains("use math") {
[INFO] [stdout] 252 | |         modified_doc = modified_doc.replace("implicit none", "use math\nimplicit none");
[INFO] [stdout] 253 | |     }
[INFO] [stdout]     | |_____- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/main.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, Write};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]  --> src/main.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::{self, File};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Command`
[INFO] [stdout]  --> src/main.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::process::{self, Command};
[INFO] [stdout]   |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |       /// Reads the path specified by the user
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 | /     match io::stdin().read_line(&mut input_path) {
[INFO] [stdout] 16 | |         Ok(_) => {
[INFO] [stdout] 17 | |             let input_path = input_path.trim();
[INFO] [stdout] 18 | |             let input_path = Path::new(input_path);
[INFO] [stdout] ...  |
[INFO] [stdout] 48 | |     }
[INFO] [stdout]    | |_____- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     /// FORMAT ELIF'S AND ELSE'S BEFORE SENDING THEM
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     let lines:Vec<&str> = btfcode.split("\n").collect();
[INFO] [stdout]    |     ---------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |       /// Error Handling PRE-translation
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 | /     if !btfcode.contains("fn main") {
[INFO] [stdout] 71 | |         panic!("There is no main function");
[INFO] [stdout] 72 | |     }
[INFO] [stdout]    | |_____- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     /// Translation
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 75 |     let version:FortranVersion = FortranVersion::default();
[INFO] [stdout]    |     ------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | /     /// Error handling post-translation
[INFO] [stdout] 79 | |     /*if ft_code.contains("let") {
[INFO] [stdout] 80 | |         panic!("There are incorrect variable declarations");
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |     /// Writing to output and compiling
[INFO] [stdout]    | |_______________________________________^
[INFO] [stdout] 88 |       let output_file = "output.f90";
[INFO] [stdout]    |       ------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::replace`
[INFO] [stdout]  --> src/parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ptr::replace;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/parser.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use regex::{Match, Regex};
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]  --> src/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::var`
[INFO] [stdout]  --> src/parser.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::env::var;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/parser.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/parser.rs:249:5
[INFO] [stdout]     |
[INFO] [stdout] 249 |       /// Add modules to functions that require it
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 250 |       // Main
[INFO] [stdout] 251 | /     if doc.contains("use math") {
[INFO] [stdout] 252 | |         modified_doc = modified_doc.replace("implicit none", "use math\nimplicit none");
[INFO] [stdout] 253 | |     }
[INFO] [stdout]     | |_____- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/main.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{self, Write};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]  --> src/main.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs::{self, File};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Command`
[INFO] [stdout]  --> src/main.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::process::{self, Command};
[INFO] [stdout]   |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |       /// Reads the path specified by the user
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 | /     match io::stdin().read_line(&mut input_path) {
[INFO] [stdout] 16 | |         Ok(_) => {
[INFO] [stdout] 17 | |             let input_path = input_path.trim();
[INFO] [stdout] 18 | |             let input_path = Path::new(input_path);
[INFO] [stdout] ...  |
[INFO] [stdout] 48 | |     }
[INFO] [stdout]    | |_____- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     /// FORMAT ELIF'S AND ELSE'S BEFORE SENDING THEM
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     let lines:Vec<&str> = btfcode.split("\n").collect();
[INFO] [stdout]    |     ---------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |       /// Error Handling PRE-translation
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 | /     if !btfcode.contains("fn main") {
[INFO] [stdout] 71 | |         panic!("There is no main function");
[INFO] [stdout] 72 | |     }
[INFO] [stdout]    | |_____- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     /// Translation
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 75 |     let version:FortranVersion = FortranVersion::default();
[INFO] [stdout]    |     ------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/main.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 | /     /// Error handling post-translation
[INFO] [stdout] 79 | |     /*if ft_code.contains("let") {
[INFO] [stdout] 80 | |         panic!("There are incorrect variable declarations");
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |     /// Writing to output and compiling
[INFO] [stdout]    | |_______________________________________^
[INFO] [stdout] 88 |       let output_file = "output.f90";
[INFO] [stdout]    |       ------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/loop_conditional_parser.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     for mut block in &mut stack {
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/loop_conditional_parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         for mut line in block.iter_mut() {
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/loop_conditional_parser.rs:95:10
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let (mut num_stack, mut code_stack):(Vec<u16>, Vec<String>) = {
[INFO] [stdout]    |          ----^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/loop_conditional_parser.rs:95:25
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let (mut num_stack, mut code_stack):(Vec<u16>, Vec<String>) = {
[INFO] [stdout]    |                         ----^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/parser.rs:212:13
[INFO] [stdout]     |
[INFO] [stdout] 212 |             _ => captures[0].to_string(), // For other tokens, return the whole match
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/parser.rs:212:13
[INFO] [stdout]     |
[INFO] [stdout]  62 |             Tokens::MainFunction => {
[INFO] [stdout]     |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  66 |             Tokens::Comments => {
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  71 |             Tokens::Declaration => {
[INFO] [stdout]     |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 160 |             Tokens::IfElseLoops => {
[INFO] [stdout]     |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 212 |             _ => captures[0].to_string(), // For other tokens, return the whole match
[INFO] [stdout]     |             ^ ...and 3 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/loop_conditional_parser.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     for mut block in &mut stack {
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/loop_conditional_parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         for mut line in block.iter_mut() {
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/loop_conditional_parser.rs:95:10
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let (mut num_stack, mut code_stack):(Vec<u16>, Vec<String>) = {
[INFO] [stdout]    |          ----^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/loop_conditional_parser.rs:95:25
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let (mut num_stack, mut code_stack):(Vec<u16>, Vec<String>) = {
[INFO] [stdout]    |                         ----^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let mut data_type = captures.get(3).map_or("", |m| m.as_str());
[INFO] [stdout]    |                     ----^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:75:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let mut m = captures.get(4).map_or("", |m| m.as_str()).trim();
[INFO] [stdout]    |                     ----^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 let mut n = captures.get(5).map_or("", |m| m.as_str()).trim();
[INFO] [stdout]    |                     ----^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 let mut value = captures.get(6).map_or("", |m| m.as_str());
[INFO] [stdout]    |                     ----^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let mut order ;
[INFO] [stdout]    |                     ----^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/parser.rs:225:33
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub(crate) fn parser(doc: &str, version:FortranVersion) -> String {
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `replacement`
[INFO] [stdout]    --> src/parser.rs:243:14
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let (replacement, pattern) = token.pattern();
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_replacement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/parser.rs:212:13
[INFO] [stdout]     |
[INFO] [stdout] 212 |             _ => captures[0].to_string(), // For other tokens, return the whole match
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/parser.rs:212:13
[INFO] [stdout]     |
[INFO] [stdout]  62 |             Tokens::MainFunction => {
[INFO] [stdout]     |             -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  66 |             Tokens::Comments => {
[INFO] [stdout]     |             ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  71 |             Tokens::Declaration => {
[INFO] [stdout]     |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 160 |             Tokens::IfElseLoops => {
[INFO] [stdout]     |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 212 |             _ => captures[0].to_string(), // For other tokens, return the whole match
[INFO] [stdout]     |             ^ ...and 3 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]   --> src/main.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let output_file = "output.f90";
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `m` and `n` are never read
[INFO] [stdout]   --> src/parser.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Matrix {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 22 |     m:u8,
[INFO] [stdout]    |     ^
[INFO] [stdout] 23 |     n:u8
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `d_type` is never read
[INFO] [stdout]   --> src/parser.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Variable {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 26 |     d_type:String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `V77`, `V2003`, and `V2023` are never constructed
[INFO] [stdout]    --> src/parser.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub enum FortranVersion {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 219 |     V77,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     V2003,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 223 |     V2023
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let mut data_type = captures.get(3).map_or("", |m| m.as_str());
[INFO] [stdout]    |                     ----^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:75:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 let mut m = captures.get(4).map_or("", |m| m.as_str()).trim();
[INFO] [stdout]    |                     ----^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 let mut n = captures.get(5).map_or("", |m| m.as_str()).trim();
[INFO] [stdout]    |                     ----^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:77:21
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 let mut value = captures.get(6).map_or("", |m| m.as_str());
[INFO] [stdout]    |                     ----^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let mut order ;
[INFO] [stdout]    |                     ----^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version`
[INFO] [stdout]    --> src/parser.rs:225:33
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub(crate) fn parser(doc: &str, version:FortranVersion) -> String {
[INFO] [stdout]     |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `replacement`
[INFO] [stdout]    --> src/parser.rs:243:14
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let (replacement, pattern) = token.pattern();
[INFO] [stdout]     |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_replacement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]   --> src/main.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let output_file = "output.f90";
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `m` and `n` are never read
[INFO] [stdout]   --> src/parser.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Matrix {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 22 |     m:u8,
[INFO] [stdout]    |     ^
[INFO] [stdout] 23 |     n:u8
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `d_type` is never read
[INFO] [stdout]   --> src/parser.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Variable {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 26 |     d_type:String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `V77`, `V2003`, and `V2023` are never constructed
[INFO] [stdout]    --> src/parser.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub enum FortranVersion {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 219 |     V77,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     V2003,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 223 |     V2023
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.74s
[INFO] running `Command { std: "docker" "inspect" "10da4b6dba0d9b0950bcad647b20586c0b15d4ac4421a59d503cbd2bfe219649", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10da4b6dba0d9b0950bcad647b20586c0b15d4ac4421a59d503cbd2bfe219649", kill_on_drop: false }`
[INFO] [stdout] 10da4b6dba0d9b0950bcad647b20586c0b15d4ac4421a59d503cbd2bfe219649
