[INFO] fetching crate chandra-kernel 0.0.0...
[INFO] testing chandra-kernel-0.0.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate chandra-kernel 0.0.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate chandra-kernel 0.0.0
[INFO] finished tweaking crates.io crate chandra-kernel 0.0.0
[INFO] tweaked toml for crates.io crate chandra-kernel 0.0.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate chandra-kernel 0.0.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 10 packages to latest compatible versions
[INFO] [stderr]       Adding convert_case v0.6.0 (available: v0.9.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 30e5e44ad8b8c2513ebf7d89c28bf010697a65ed5906e9fb9e1472c716648beb
[INFO] running `Command { std: "docker" "start" "-a" "30e5e44ad8b8c2513ebf7d89c28bf010697a65ed5906e9fb9e1472c716648beb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "30e5e44ad8b8c2513ebf7d89c28bf010697a65ed5906e9fb9e1472c716648beb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30e5e44ad8b8c2513ebf7d89c28bf010697a65ed5906e9fb9e1472c716648beb", kill_on_drop: false }`
[INFO] [stdout] 30e5e44ad8b8c2513ebf7d89c28bf010697a65ed5906e9fb9e1472c716648beb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c538cd58dc6d3e752422c7719bc7aa799a90a97ca0fb8a81443bc1c79c34fe35
[INFO] running `Command { std: "docker" "start" "-a" "c538cd58dc6d3e752422c7719bc7aa799a90a97ca0fb8a81443bc1c79c34fe35", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling chandra-kernel v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Ident` and `TokenStream`
[INFO] [stdout]  --> src/parse_cpu_function.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use proc_macro2::{Ident, TokenStream};
[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 imports: `format_ident` and `quote`
[INFO] [stdout]  --> src/parse_cpu_function.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use quote::{format_ident, quote};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BinOp`, `Pat`, and `Stmt`
[INFO] [stdout]  --> src/parse_cpu_function.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::{parse_quote, BinOp, Expr,Pat, Stmt, Path, PathArguments};
[INFO] [stdout]   |                        ^^^^^       ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parseatt::Structure`
[INFO] [stdout]  --> src/parse_cpu_function.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::parseatt::Structure;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/function.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let mut position_counter: u8 = 0;
[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/function.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let mut final_output_type = TokenStream2::new();
[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/function.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |             let mut final_output_name = TokenStream2::new();
[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/function.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut final_output_name_str = String::new();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_counter`
[INFO] [stdout]   --> src/function.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let mut position_counter: u8 = 0;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_counter`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_output_type`
[INFO] [stdout]   --> src/function.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let mut final_output_type = TokenStream2::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_output_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_output_name`
[INFO] [stdout]   --> src/function.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |             let mut final_output_name = TokenStream2::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_output_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_output_name_str`
[INFO] [stdout]   --> src/function.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut final_output_name_str = String::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_output_name_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mem_bounds`
[INFO] [stdout]    --> src/function.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let mem_bounds = get_memmappable_bounds(types.clone(), parse_quote!(S), crate_root.clone());
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mem_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `processor_mem_bounds`
[INFO] [stdout]    --> src/function.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 |             let processor_mem_bounds = get_memmappable_bounds(types.clone(), parse_quote!(P::Storage), crate_root.clone());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processor_mem_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu_fn_ident`
[INFO] [stdout]    --> src/function.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let cpu_fn_ident = format_ident!("{}CPUFn", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cpu_fn_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `executable_inputs_ident`
[INFO] [stdout]    --> src/function.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |             let executable_inputs_ident = format_ident!("{}Inputs", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_executable_inputs_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_struct_ident`
[INFO] [stdout]    --> src/function.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let function_struct_ident = format_ident!("{}", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_struct_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_type_ident`
[INFO] [stdout]    --> src/function.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 |             let return_type_ident = format_ident!("{}Programm", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phantom_data_idents`
[INFO] [stdout]    --> src/function.rs:207:17
[INFO] [stdout]     |
[INFO] [stdout] 207 |             let phantom_data_idents: Vec<Ident> = inner_generics.iter().enumerate().map(|(i, _)| format_ident!("_{}", i)).collect();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_phantom_data_idents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parseatt.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let mut valid = true;
[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/parseatt.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let mut last = Token::None;
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `valid`
[INFO] [stdout]    --> src/parseatt.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let mut valid = true;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_valid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]    --> src/parseatt.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let mut last = Token::None;
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev`
[INFO] [stdout]   --> src/parse_function.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let prev = self.return_type.clone();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_prev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/parse_function.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 let op = e.eq_token;
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/parse_function.rs:126:32
[INFO] [stdout]     |
[INFO] [stdout] 126 |                     BinOp::Add(a) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/parse_function.rs:142:32
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     BinOp::Sub(a) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/parse_function.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |                     BinOp::Mul(m) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/parse_function.rs:166:32
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     BinOp::Div(a) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:178:31
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     BinOp::Ge(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:192:31
[INFO] [stdout]     |
[INFO] [stdout] 192 |                     BinOp::Gt(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:206:31
[INFO] [stdout]     |
[INFO] [stdout] 206 |                     BinOp::Le(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:220:31
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     BinOp::Lt(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:234:31
[INFO] [stdout]     |
[INFO] [stdout] 234 |                     BinOp::Eq(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:248:31
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     BinOp::Ne(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:262:32
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     BinOp::And(g) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:275:31
[INFO] [stdout]     |
[INFO] [stdout] 275 |                     BinOp::Or(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/parse_function.rs:333:21
[INFO] [stdout]     |
[INFO] [stdout] 333 |                 let ty = self.return_type.clone();
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `els_expr`
[INFO] [stdout]    --> src/parse_function.rs:459:25
[INFO] [stdout]     |
[INFO] [stdout] 459 |                     let els_expr = self.expr_type.clone();
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_els_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_expr`
[INFO] [stdout]    --> src/parse_function.rs:691:25
[INFO] [stdout]     |
[INFO] [stdout] 691 |                     let prev_expr = self.expr_type.clone();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]    --> src/parse_function.rs:747:29
[INFO] [stdout]     |
[INFO] [stdout] 747 |                         let op = a.eq_token;
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `els_expr`
[INFO] [stdout]    --> src/parse_function.rs:895:33
[INFO] [stdout]     |
[INFO] [stdout] 895 | ...                   let els_expr = self.expr_type.clone();
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_els_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res_ty`
[INFO] [stdout]     --> src/parse_function.rs:1056:29
[INFO] [stdout]      |
[INFO] [stdout] 1056 |                         let res_ty = self.expr_type.clone();
[INFO] [stdout]      |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_res_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parse_cpu_function.rs:34:33
[INFO] [stdout]    |
[INFO] [stdout] 34 | ...                   let mut arguments: Vec<Expr> = e.args.into_iter().map(|a| self.fold_expr(a)).collect();
[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/parse_cpu_function.rs:42:33
[INFO] [stdout]    |
[INFO] [stdout] 42 | ...                   let mut arguments: Vec<Expr> = e.args.into_iter().map(|a| self.fold_expr(a)).collect();
[INFO] [stdout]    |                           ----^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]   --> src/parse_cpu_function.rs:42:33
[INFO] [stdout]    |
[INFO] [stdout] 42 | ...                   let mut arguments: Vec<Expr> = e.args.into_iter().map(|a| self.fold_expr(a)).collect();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arguments`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attrs`
[INFO] [stdout]   --> src/lib.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let attrs = &input.attrs;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]   --> src/lib.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         for field in s.fields {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mem_generics_and_types` is never used
[INFO] [stdout]    --> src/function.rs:359:4
[INFO] [stdout]     |
[INFO] [stdout] 359 | fn get_mem_generics_and_types(types: Vec<Type>, crate_root: TokenStream2) -> (TokenStream2, TokenStream2) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mem_generics_and_types` is never used
[INFO] [stdout]    --> src/kernel.rs:420:4
[INFO] [stdout]     |
[INFO] [stdout] 420 | fn get_mem_generics_and_types(types: Vec<Type>, crate_root: TokenStream2) -> (TokenStream2, TokenStream2) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ChandraFunction` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn ChandraFunction(attr: TokenStream, tokens: TokenStream) -> TokenStream {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `chandra_function`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ChandraExtension` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn ChandraExtension(attr: TokenStream, tokens: TokenStream) -> TokenStream {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `chandra_extension`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vTypeOption` should have a snake case name
[INFO] [stdout]    --> src/parse_function.rs:560:25
[INFO] [stdout]     |
[INFO] [stdout] 560 |                     let vTypeOption = self
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: convert the identifier to snake case: `v_type_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vType` should have a snake case name
[INFO] [stdout]    --> src/parse_function.rs:565:33
[INFO] [stdout]     |
[INFO] [stdout] 565 |                     if let Some(vType) = vTypeOption {
[INFO] [stdout]     |                                 ^^^^^ help: convert the identifier to snake case: `v_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vType` should have a snake case name
[INFO] [stdout]    --> src/parse_function.rs:598:33
[INFO] [stdout]     |
[INFO] [stdout] 598 | ...                   let vType = format_ident!("{}", self
[INFO] [stdout]     |                           ^^^^^ help: convert the identifier to snake case: `v_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.14s
[INFO] running `Command { std: "docker" "inspect" "c538cd58dc6d3e752422c7719bc7aa799a90a97ca0fb8a81443bc1c79c34fe35", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c538cd58dc6d3e752422c7719bc7aa799a90a97ca0fb8a81443bc1c79c34fe35", kill_on_drop: false }`
[INFO] [stdout] c538cd58dc6d3e752422c7719bc7aa799a90a97ca0fb8a81443bc1c79c34fe35
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eacc17277d1f0fa35865d034d139bbf4dcaa12291b3573c6cb06767319d28deb
[INFO] running `Command { std: "docker" "start" "-a" "eacc17277d1f0fa35865d034d139bbf4dcaa12291b3573c6cb06767319d28deb", kill_on_drop: false }`
[INFO] [stderr]    Compiling chandra-kernel v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Ident` and `TokenStream`
[INFO] [stdout]  --> src/parse_cpu_function.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use proc_macro2::{Ident, TokenStream};
[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 imports: `format_ident` and `quote`
[INFO] [stdout]  --> src/parse_cpu_function.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use quote::{format_ident, quote};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BinOp`, `Pat`, and `Stmt`
[INFO] [stdout]  --> src/parse_cpu_function.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::{parse_quote, BinOp, Expr,Pat, Stmt, Path, PathArguments};
[INFO] [stdout]   |                        ^^^^^       ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parseatt::Structure`
[INFO] [stdout]  --> src/parse_cpu_function.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::parseatt::Structure;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ident` and `TokenStream`
[INFO] [stdout]  --> src/parse_cpu_function.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use proc_macro2::{Ident, TokenStream};
[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 imports: `format_ident` and `quote`
[INFO] [stdout]  --> src/parse_cpu_function.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use quote::{format_ident, quote};
[INFO] [stdout]   |             ^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BinOp`, `Pat`, and `Stmt`
[INFO] [stdout]  --> src/parse_cpu_function.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use syn::{parse_quote, BinOp, Expr,Pat, Stmt, Path, PathArguments};
[INFO] [stdout]   |                        ^^^^^       ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parseatt::Structure`
[INFO] [stdout]  --> src/parse_cpu_function.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::parseatt::Structure;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/function.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let mut position_counter: u8 = 0;
[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/function.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let mut final_output_type = TokenStream2::new();
[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/function.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |             let mut final_output_name = TokenStream2::new();
[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/function.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut final_output_name_str = String::new();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_counter`
[INFO] [stdout]   --> src/function.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let mut position_counter: u8 = 0;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_counter`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_output_type`
[INFO] [stdout]   --> src/function.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let mut final_output_type = TokenStream2::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_output_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_output_name`
[INFO] [stdout]   --> src/function.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |             let mut final_output_name = TokenStream2::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_output_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_output_name_str`
[INFO] [stdout]   --> src/function.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut final_output_name_str = String::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_output_name_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mem_bounds`
[INFO] [stdout]    --> src/function.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let mem_bounds = get_memmappable_bounds(types.clone(), parse_quote!(S), crate_root.clone());
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mem_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `processor_mem_bounds`
[INFO] [stdout]    --> src/function.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 |             let processor_mem_bounds = get_memmappable_bounds(types.clone(), parse_quote!(P::Storage), crate_root.clone());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processor_mem_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu_fn_ident`
[INFO] [stdout]    --> src/function.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let cpu_fn_ident = format_ident!("{}CPUFn", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cpu_fn_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `executable_inputs_ident`
[INFO] [stdout]    --> src/function.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |             let executable_inputs_ident = format_ident!("{}Inputs", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_executable_inputs_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_struct_ident`
[INFO] [stdout]    --> src/function.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let function_struct_ident = format_ident!("{}", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_struct_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_type_ident`
[INFO] [stdout]    --> src/function.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 |             let return_type_ident = format_ident!("{}Programm", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phantom_data_idents`
[INFO] [stdout]    --> src/function.rs:207:17
[INFO] [stdout]     |
[INFO] [stdout] 207 |             let phantom_data_idents: Vec<Ident> = inner_generics.iter().enumerate().map(|(i, _)| format_ident!("_{}", i)).collect();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_phantom_data_idents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/function.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let mut position_counter: u8 = 0;
[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/function.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let mut final_output_type = TokenStream2::new();
[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/function.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |             let mut final_output_name = TokenStream2::new();
[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/function.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut final_output_name_str = String::new();
[INFO] [stdout]    |                 ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position_counter`
[INFO] [stdout]   --> src/function.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |             let mut position_counter: u8 = 0;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_counter`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_output_type`
[INFO] [stdout]   --> src/function.rs:73:17
[INFO] [stdout]    |
[INFO] [stdout] 73 |             let mut final_output_type = TokenStream2::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_output_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_output_name`
[INFO] [stdout]   --> src/function.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |             let mut final_output_name = TokenStream2::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_output_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_output_name_str`
[INFO] [stdout]   --> src/function.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let mut final_output_name_str = String::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_output_name_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mem_bounds`
[INFO] [stdout]    --> src/function.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let mem_bounds = get_memmappable_bounds(types.clone(), parse_quote!(S), crate_root.clone());
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mem_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `processor_mem_bounds`
[INFO] [stdout]    --> src/function.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 |             let processor_mem_bounds = get_memmappable_bounds(types.clone(), parse_quote!(P::Storage), crate_root.clone());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processor_mem_bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu_fn_ident`
[INFO] [stdout]    --> src/function.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let cpu_fn_ident = format_ident!("{}CPUFn", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cpu_fn_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `executable_inputs_ident`
[INFO] [stdout]    --> src/function.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |             let executable_inputs_ident = format_ident!("{}Inputs", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_executable_inputs_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_struct_ident`
[INFO] [stdout]    --> src/function.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let function_struct_ident = format_ident!("{}", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_struct_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_type_ident`
[INFO] [stdout]    --> src/function.rs:203:17
[INFO] [stdout]     |
[INFO] [stdout] 203 |             let return_type_ident = format_ident!("{}Programm", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type_ident`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phantom_data_idents`
[INFO] [stdout]    --> src/function.rs:207:17
[INFO] [stdout]     |
[INFO] [stdout] 207 |             let phantom_data_idents: Vec<Ident> = inner_generics.iter().enumerate().map(|(i, _)| format_ident!("_{}", i)).collect();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_phantom_data_idents`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parseatt.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let mut valid = true;
[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/parseatt.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let mut last = Token::None;
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `valid`
[INFO] [stdout]    --> src/parseatt.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let mut valid = true;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_valid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]    --> src/parseatt.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let mut last = Token::None;
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev`
[INFO] [stdout]   --> src/parse_function.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let prev = self.return_type.clone();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_prev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parseatt.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let mut valid = true;
[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/parseatt.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let mut last = Token::None;
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `valid`
[INFO] [stdout]    --> src/parseatt.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |             let mut valid = true;
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_valid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]    --> src/parseatt.rs:117:17
[INFO] [stdout]     |
[INFO] [stdout] 117 |             let mut last = Token::None;
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev`
[INFO] [stdout]   --> src/parse_function.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let prev = self.return_type.clone();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_prev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/parse_function.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 let op = e.eq_token;
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/parse_function.rs:126:32
[INFO] [stdout]     |
[INFO] [stdout] 126 |                     BinOp::Add(a) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/parse_function.rs:142:32
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     BinOp::Sub(a) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/parse_function.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |                     BinOp::Mul(m) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/parse_function.rs:166:32
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     BinOp::Div(a) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:178:31
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     BinOp::Ge(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:192:31
[INFO] [stdout]     |
[INFO] [stdout] 192 |                     BinOp::Gt(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:206:31
[INFO] [stdout]     |
[INFO] [stdout] 206 |                     BinOp::Le(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:220:31
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     BinOp::Lt(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:234:31
[INFO] [stdout]     |
[INFO] [stdout] 234 |                     BinOp::Eq(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:248:31
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     BinOp::Ne(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:262:32
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     BinOp::And(g) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:275:31
[INFO] [stdout]     |
[INFO] [stdout] 275 |                     BinOp::Or(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/parse_function.rs:333:21
[INFO] [stdout]     |
[INFO] [stdout] 333 |                 let ty = self.return_type.clone();
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `els_expr`
[INFO] [stdout]    --> src/parse_function.rs:459:25
[INFO] [stdout]     |
[INFO] [stdout] 459 |                     let els_expr = self.expr_type.clone();
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_els_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_expr`
[INFO] [stdout]    --> src/parse_function.rs:691:25
[INFO] [stdout]     |
[INFO] [stdout] 691 |                     let prev_expr = self.expr_type.clone();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]    --> src/parse_function.rs:747:29
[INFO] [stdout]     |
[INFO] [stdout] 747 |                         let op = a.eq_token;
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `els_expr`
[INFO] [stdout]    --> src/parse_function.rs:895:33
[INFO] [stdout]     |
[INFO] [stdout] 895 | ...                   let els_expr = self.expr_type.clone();
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_els_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res_ty`
[INFO] [stdout]     --> src/parse_function.rs:1056:29
[INFO] [stdout]      |
[INFO] [stdout] 1056 |                         let res_ty = self.expr_type.clone();
[INFO] [stdout]      |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_res_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]   --> src/parse_function.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 let op = e.eq_token;
[INFO] [stdout]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/parse_function.rs:126:32
[INFO] [stdout]     |
[INFO] [stdout] 126 |                     BinOp::Add(a) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/parse_function.rs:142:32
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     BinOp::Sub(a) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/parse_function.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |                     BinOp::Mul(m) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/parse_function.rs:166:32
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     BinOp::Div(a) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:178:31
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     BinOp::Ge(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:192:31
[INFO] [stdout]     |
[INFO] [stdout] 192 |                     BinOp::Gt(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:206:31
[INFO] [stdout]     |
[INFO] [stdout] 206 |                     BinOp::Le(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:220:31
[INFO] [stdout]     |
[INFO] [stdout] 220 |                     BinOp::Lt(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:234:31
[INFO] [stdout]     |
[INFO] [stdout] 234 |                     BinOp::Eq(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parse_cpu_function.rs:34:33
[INFO] [stdout]    |
[INFO] [stdout] 34 | ...                   let mut arguments: Vec<Expr> = e.args.into_iter().map(|a| self.fold_expr(a)).collect();
[INFO] [stdout]    |                           ----^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:248:31
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     BinOp::Ne(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:262:32
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     BinOp::And(g) => {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parse_cpu_function.rs:42:33
[INFO] [stdout]    |
[INFO] [stdout] 42 | ...                   let mut arguments: Vec<Expr> = e.args.into_iter().map(|a| self.fold_expr(a)).collect();
[INFO] [stdout]    |                           ----^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]   --> src/parse_cpu_function.rs:42:33
[INFO] [stdout]    |
[INFO] [stdout] 42 | ...                   let mut arguments: Vec<Expr> = e.args.into_iter().map(|a| self.fold_expr(a)).collect();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arguments`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/parse_function.rs:275:31
[INFO] [stdout]     |
[INFO] [stdout] 275 |                     BinOp::Or(g) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/parse_function.rs:333:21
[INFO] [stdout]     |
[INFO] [stdout] 333 |                 let ty = self.return_type.clone();
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `els_expr`
[INFO] [stdout]    --> src/parse_function.rs:459:25
[INFO] [stdout]     |
[INFO] [stdout] 459 |                     let els_expr = self.expr_type.clone();
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_els_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attrs`
[INFO] [stdout]   --> src/lib.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let attrs = &input.attrs;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]   --> src/lib.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         for field in s.fields {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mem_generics_and_types` is never used
[INFO] [stdout]    --> src/function.rs:359:4
[INFO] [stdout]     |
[INFO] [stdout] 359 | fn get_mem_generics_and_types(types: Vec<Type>, crate_root: TokenStream2) -> (TokenStream2, TokenStream2) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mem_generics_and_types` is never used
[INFO] [stdout]    --> src/kernel.rs:420:4
[INFO] [stdout]     |
[INFO] [stdout] 420 | fn get_mem_generics_and_types(types: Vec<Type>, crate_root: TokenStream2) -> (TokenStream2, TokenStream2) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ChandraFunction` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn ChandraFunction(attr: TokenStream, tokens: TokenStream) -> TokenStream {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `chandra_function`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ChandraExtension` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn ChandraExtension(attr: TokenStream, tokens: TokenStream) -> TokenStream {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `chandra_extension`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vTypeOption` should have a snake case name
[INFO] [stdout]    --> src/parse_function.rs:560:25
[INFO] [stdout]     |
[INFO] [stdout] 560 |                     let vTypeOption = self
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: convert the identifier to snake case: `v_type_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vType` should have a snake case name
[INFO] [stdout]    --> src/parse_function.rs:565:33
[INFO] [stdout]     |
[INFO] [stdout] 565 |                     if let Some(vType) = vTypeOption {
[INFO] [stdout]     |                                 ^^^^^ help: convert the identifier to snake case: `v_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vType` should have a snake case name
[INFO] [stdout]    --> src/parse_function.rs:598:33
[INFO] [stdout]     |
[INFO] [stdout] 598 | ...                   let vType = format_ident!("{}", self
[INFO] [stdout]     |                           ^^^^^ help: convert the identifier to snake case: `v_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_expr`
[INFO] [stdout]    --> src/parse_function.rs:691:25
[INFO] [stdout]     |
[INFO] [stdout] 691 |                     let prev_expr = self.expr_type.clone();
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op`
[INFO] [stdout]    --> src/parse_function.rs:747:29
[INFO] [stdout]     |
[INFO] [stdout] 747 |                         let op = a.eq_token;
[INFO] [stdout]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `els_expr`
[INFO] [stdout]    --> src/parse_function.rs:895:33
[INFO] [stdout]     |
[INFO] [stdout] 895 | ...                   let els_expr = self.expr_type.clone();
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_els_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res_ty`
[INFO] [stdout]     --> src/parse_function.rs:1056:29
[INFO] [stdout]      |
[INFO] [stdout] 1056 |                         let res_ty = self.expr_type.clone();
[INFO] [stdout]      |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_res_ty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parse_cpu_function.rs:34:33
[INFO] [stdout]    |
[INFO] [stdout] 34 | ...                   let mut arguments: Vec<Expr> = e.args.into_iter().map(|a| self.fold_expr(a)).collect();
[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/parse_cpu_function.rs:42:33
[INFO] [stdout]    |
[INFO] [stdout] 42 | ...                   let mut arguments: Vec<Expr> = e.args.into_iter().map(|a| self.fold_expr(a)).collect();
[INFO] [stdout]    |                           ----^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arguments`
[INFO] [stdout]   --> src/parse_cpu_function.rs:42:33
[INFO] [stdout]    |
[INFO] [stdout] 42 | ...                   let mut arguments: Vec<Expr> = e.args.into_iter().map(|a| self.fold_expr(a)).collect();
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arguments`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attrs`
[INFO] [stdout]   --> src/lib.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let attrs = &input.attrs;
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field`
[INFO] [stdout]   --> src/lib.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         for field in s.fields {
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mem_generics_and_types` is never used
[INFO] [stdout]    --> src/function.rs:359:4
[INFO] [stdout]     |
[INFO] [stdout] 359 | fn get_mem_generics_and_types(types: Vec<Type>, crate_root: TokenStream2) -> (TokenStream2, TokenStream2) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mem_generics_and_types` is never used
[INFO] [stdout]    --> src/kernel.rs:420:4
[INFO] [stdout]     |
[INFO] [stdout] 420 | fn get_mem_generics_and_types(types: Vec<Type>, crate_root: TokenStream2) -> (TokenStream2, TokenStream2) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ChandraFunction` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn ChandraFunction(attr: TokenStream, tokens: TokenStream) -> TokenStream {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `chandra_function`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ChandraExtension` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn ChandraExtension(attr: TokenStream, tokens: TokenStream) -> TokenStream {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `chandra_extension`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vTypeOption` should have a snake case name
[INFO] [stdout]    --> src/parse_function.rs:560:25
[INFO] [stdout]     |
[INFO] [stdout] 560 |                     let vTypeOption = self
[INFO] [stdout]     |                         ^^^^^^^^^^^ help: convert the identifier to snake case: `v_type_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vType` should have a snake case name
[INFO] [stdout]    --> src/parse_function.rs:565:33
[INFO] [stdout]     |
[INFO] [stdout] 565 |                     if let Some(vType) = vTypeOption {
[INFO] [stdout]     |                                 ^^^^^ help: convert the identifier to snake case: `v_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vType` should have a snake case name
[INFO] [stdout]    --> src/parse_function.rs:598:33
[INFO] [stdout]     |
[INFO] [stdout] 598 | ...                   let vType = format_ident!("{}", self
[INFO] [stdout]     |                           ^^^^^ help: convert the identifier to snake case: `v_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.30s
[INFO] running `Command { std: "docker" "inspect" "eacc17277d1f0fa35865d034d139bbf4dcaa12291b3573c6cb06767319d28deb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eacc17277d1f0fa35865d034d139bbf4dcaa12291b3573c6cb06767319d28deb", kill_on_drop: false }`
[INFO] [stdout] eacc17277d1f0fa35865d034d139bbf4dcaa12291b3573c6cb06767319d28deb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 385333f089c655befc6f1e76d46828d1a974af0f1f4d60b04b27784a0bd7e1af
[INFO] running `Command { std: "docker" "start" "-a" "385333f089c655befc6f1e76d46828d1a974af0f1f4d60b04b27784a0bd7e1af", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Ident` and `TokenStream`
[INFO] [stderr]  --> src/parse_cpu_function.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 | use proc_macro2::{Ident, TokenStream};
[INFO] [stderr]   |                   ^^^^^  ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `format_ident` and `quote`
[INFO] [stderr]  --> src/parse_cpu_function.rs:5:13
[INFO] [stderr]   |
[INFO] [stderr] 5 | use quote::{format_ident, quote};
[INFO] [stderr]   |             ^^^^^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BinOp`, `Pat`, and `Stmt`
[INFO] [stderr]  --> src/parse_cpu_function.rs:7:24
[INFO] [stderr]   |
[INFO] [stderr] 7 | use syn::{parse_quote, BinOp, Expr,Pat, Stmt, Path, PathArguments};
[INFO] [stderr]   |                        ^^^^^       ^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::parseatt::Structure`
[INFO] [stderr]  --> src/parse_cpu_function.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::parseatt::Structure;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/function.rs:71:17
[INFO] [stderr]    |
[INFO] [stderr] 71 |             let mut position_counter: u8 = 0;
[INFO] [stderr]    |                 ----^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/function.rs:73:17
[INFO] [stderr]    |
[INFO] [stderr] 73 |             let mut final_output_type = TokenStream2::new();
[INFO] [stderr]    |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/function.rs:74:17
[INFO] [stderr]    |
[INFO] [stderr] 74 |             let mut final_output_name = TokenStream2::new();
[INFO] [stderr]    |                 ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/function.rs:75:17
[INFO] [stderr]    |
[INFO] [stderr] 75 |             let mut final_output_name_str = String::new();
[INFO] [stderr]    |                 ----^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `position_counter`
[INFO] [stderr]   --> src/function.rs:71:17
[INFO] [stderr]    |
[INFO] [stderr] 71 |             let mut position_counter: u8 = 0;
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position_counter`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `final_output_type`
[INFO] [stderr]   --> src/function.rs:73:17
[INFO] [stderr]    |
[INFO] [stderr] 73 |             let mut final_output_type = TokenStream2::new();
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_output_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `final_output_name`
[INFO] [stderr]   --> src/function.rs:74:17
[INFO] [stderr]    |
[INFO] [stderr] 74 |             let mut final_output_name = TokenStream2::new();
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_output_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `final_output_name_str`
[INFO] [stderr]   --> src/function.rs:75:17
[INFO] [stderr]    |
[INFO] [stderr] 75 |             let mut final_output_name_str = String::new();
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_output_name_str`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mem_bounds`
[INFO] [stderr]    --> src/function.rs:189:17
[INFO] [stderr]     |
[INFO] [stderr] 189 |             let mem_bounds = get_memmappable_bounds(types.clone(), parse_quote!(S), crate_root.clone());
[INFO] [stderr]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mem_bounds`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `processor_mem_bounds`
[INFO] [stderr]    --> src/function.rs:190:17
[INFO] [stderr]     |
[INFO] [stderr] 190 |             let processor_mem_bounds = get_memmappable_bounds(types.clone(), parse_quote!(P::Storage), crate_root.clone());
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_processor_mem_bounds`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cpu_fn_ident`
[INFO] [stderr]    --> src/function.rs:200:17
[INFO] [stderr]     |
[INFO] [stderr] 200 |             let cpu_fn_ident = format_ident!("{}CPUFn", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stderr]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cpu_fn_ident`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `executable_inputs_ident`
[INFO] [stderr]    --> src/function.rs:201:17
[INFO] [stderr]     |
[INFO] [stderr] 201 |             let executable_inputs_ident = format_ident!("{}Inputs", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_executable_inputs_ident`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `function_struct_ident`
[INFO] [stderr]    --> src/function.rs:202:17
[INFO] [stderr]     |
[INFO] [stderr] 202 |             let function_struct_ident = format_ident!("{}", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_struct_ident`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `return_type_ident`
[INFO] [stderr]    --> src/function.rs:203:17
[INFO] [stderr]     |
[INFO] [stderr] 203 |             let return_type_ident = format_ident!("{}Programm", ident.to_string().to_case(Case::UpperCamel));
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type_ident`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `phantom_data_idents`
[INFO] [stderr]    --> src/function.rs:207:17
[INFO] [stderr]     |
[INFO] [stderr] 207 |             let phantom_data_idents: Vec<Ident> = inner_generics.iter().enumerate().map(|(i, _)| format_ident!("_{}", i)).collect();
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_phantom_data_idents`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parseatt.rs:116:17
[INFO] [stderr]     |
[INFO] [stderr] 116 |             let mut valid = true;
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parseatt.rs:117:17
[INFO] [stderr]     |
[INFO] [stderr] 117 |             let mut last = Token::None;
[INFO] [stderr]     |                 ----^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `valid`
[INFO] [stderr]    --> src/parseatt.rs:116:17
[INFO] [stderr]     |
[INFO] [stderr] 116 |             let mut valid = true;
[INFO] [stderr]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_valid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `last`
[INFO] [stderr]    --> src/parseatt.rs:117:17
[INFO] [stderr]     |
[INFO] [stderr] 117 |             let mut last = Token::None;
[INFO] [stderr]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prev`
[INFO] [stderr]   --> src/parse_function.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let prev = self.return_type.clone();
[INFO] [stderr]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_prev`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `op`
[INFO] [stderr]   --> src/parse_function.rs:65:21
[INFO] [stderr]    |
[INFO] [stderr] 65 |                 let op = e.eq_token;
[INFO] [stderr]    |                     ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]    --> src/parse_function.rs:126:32
[INFO] [stderr]     |
[INFO] [stderr] 126 |                     BinOp::Add(a) => {
[INFO] [stderr]     |                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]    --> src/parse_function.rs:142:32
[INFO] [stderr]     |
[INFO] [stderr] 142 |                     BinOp::Sub(a) => {
[INFO] [stderr]     |                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `m`
[INFO] [stderr]    --> src/parse_function.rs:154:32
[INFO] [stderr]     |
[INFO] [stderr] 154 |                     BinOp::Mul(m) => {
[INFO] [stderr]     |                                ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]    --> src/parse_function.rs:166:32
[INFO] [stderr]     |
[INFO] [stderr] 166 |                     BinOp::Div(a) => {
[INFO] [stderr]     |                                ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `g`
[INFO] [stderr]    --> src/parse_function.rs:178:31
[INFO] [stderr]     |
[INFO] [stderr] 178 |                     BinOp::Ge(g) => {
[INFO] [stderr]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `g`
[INFO] [stderr]    --> src/parse_function.rs:192:31
[INFO] [stderr]     |
[INFO] [stderr] 192 |                     BinOp::Gt(g) => {
[INFO] [stderr]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `g`
[INFO] [stderr]    --> src/parse_function.rs:206:31
[INFO] [stderr]     |
[INFO] [stderr] 206 |                     BinOp::Le(g) => {
[INFO] [stderr]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `g`
[INFO] [stderr]    --> src/parse_function.rs:220:31
[INFO] [stderr]     |
[INFO] [stderr] 220 |                     BinOp::Lt(g) => {
[INFO] [stderr]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `g`
[INFO] [stderr]    --> src/parse_function.rs:234:31
[INFO] [stderr]     |
[INFO] [stderr] 234 |                     BinOp::Eq(g) => {
[INFO] [stderr]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `g`
[INFO] [stderr]    --> src/parse_function.rs:248:31
[INFO] [stderr]     |
[INFO] [stderr] 248 |                     BinOp::Ne(g) => {
[INFO] [stderr]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `g`
[INFO] [stderr]    --> src/parse_function.rs:262:32
[INFO] [stderr]     |
[INFO] [stderr] 262 |                     BinOp::And(g) => {
[INFO] [stderr]     |                                ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `g`
[INFO] [stderr]    --> src/parse_function.rs:275:31
[INFO] [stderr]     |
[INFO] [stderr] 275 |                     BinOp::Or(g) => {
[INFO] [stderr]     |                               ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ty`
[INFO] [stderr]    --> src/parse_function.rs:333:21
[INFO] [stderr]     |
[INFO] [stderr] 333 |                 let ty = self.return_type.clone();
[INFO] [stderr]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_ty`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `els_expr`
[INFO] [stderr]    --> src/parse_function.rs:459:25
[INFO] [stderr]     |
[INFO] [stderr] 459 |                     let els_expr = self.expr_type.clone();
[INFO] [stderr]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_els_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prev_expr`
[INFO] [stderr]    --> src/parse_function.rs:691:25
[INFO] [stderr]     |
[INFO] [stderr] 691 |                     let prev_expr = self.expr_type.clone();
[INFO] [stderr]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `op`
[INFO] [stderr]    --> src/parse_function.rs:747:29
[INFO] [stderr]     |
[INFO] [stderr] 747 |                         let op = a.eq_token;
[INFO] [stderr]     |                             ^^ help: if this is intentional, prefix it with an underscore: `_op`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `els_expr`
[INFO] [stderr]    --> src/parse_function.rs:895:33
[INFO] [stderr]     |
[INFO] [stderr] 895 | ...                   let els_expr = self.expr_type.clone();
[INFO] [stderr]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_els_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `res_ty`
[INFO] [stderr]     --> src/parse_function.rs:1056:29
[INFO] [stderr]      |
[INFO] [stderr] 1056 |                         let res_ty = self.expr_type.clone();
[INFO] [stderr]      |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_res_ty`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/parse_cpu_function.rs:34:33
[INFO] [stderr]    |
[INFO] [stderr] 34 | ...                   let mut arguments: Vec<Expr> = e.args.into_iter().map(|a| self.fold_expr(a)).collect();
[INFO] [stderr]    |                           ----^^^^^^^^^
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/parse_cpu_function.rs:42:33
[INFO] [stderr]    |
[INFO] [stderr] 42 | ...                   let mut arguments: Vec<Expr> = e.args.into_iter().map(|a| self.fold_expr(a)).collect();
[INFO] [stderr]    |                           ----^^^^^^^^^
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `arguments`
[INFO] [stderr]   --> src/parse_cpu_function.rs:42:33
[INFO] [stderr]    |
[INFO] [stderr] 42 | ...                   let mut arguments: Vec<Expr> = e.args.into_iter().map(|a| self.fold_expr(a)).collect();
[INFO] [stderr]    |                           ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arguments`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `attrs`
[INFO] [stderr]   --> src/lib.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |     let attrs = &input.attrs;
[INFO] [stderr]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_attrs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `field`
[INFO] [stderr]   --> src/lib.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 |         for field in s.fields {
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_field`
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_mem_generics_and_types` is never used
[INFO] [stderr]    --> src/function.rs:359:4
[INFO] [stderr]     |
[INFO] [stderr] 359 | fn get_mem_generics_and_types(types: Vec<Type>, crate_root: TokenStream2) -> (TokenStream2, TokenStream2) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_mem_generics_and_types` is never used
[INFO] [stderr]    --> src/kernel.rs:420:4
[INFO] [stderr]     |
[INFO] [stderr] 420 | fn get_mem_generics_and_types(types: Vec<Type>, crate_root: TokenStream2) -> (TokenStream2, TokenStream2) {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ChandraFunction` should have a snake case name
[INFO] [stderr]   --> src/lib.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn ChandraFunction(attr: TokenStream, tokens: TokenStream) -> TokenStream {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `chandra_function`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `ChandraExtension` should have a snake case name
[INFO] [stderr]   --> src/lib.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub fn ChandraExtension(attr: TokenStream, tokens: TokenStream) -> TokenStream {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `chandra_extension`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `vTypeOption` should have a snake case name
[INFO] [stderr]    --> src/parse_function.rs:560:25
[INFO] [stderr]     |
[INFO] [stderr] 560 |                     let vTypeOption = self
[INFO] [stderr]     |                         ^^^^^^^^^^^ help: convert the identifier to snake case: `v_type_option`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `vType` should have a snake case name
[INFO] [stderr]    --> src/parse_function.rs:565:33
[INFO] [stderr]     |
[INFO] [stderr] 565 |                     if let Some(vType) = vTypeOption {
[INFO] [stderr]     |                                 ^^^^^ help: convert the identifier to snake case: `v_type`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `vType` should have a snake case name
[INFO] [stderr]    --> src/parse_function.rs:598:33
[INFO] [stderr]     |
[INFO] [stderr] 598 | ...                   let vType = format_ident!("{}", self
[INFO] [stderr]     |                           ^^^^^ help: convert the identifier to snake case: `v_type`
[INFO] [stderr] 
[INFO] [stderr] warning: `chandra-kernel` (lib) generated 55 warnings (run `cargo fix --lib -p chandra-kernel` to apply 48 suggestions)
[INFO] [stderr] warning: `chandra-kernel` (lib test) generated 55 warnings (55 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/chandra_kernel-42cf31a663374dce)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests chandra_kernel
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "385333f089c655befc6f1e76d46828d1a974af0f1f4d60b04b27784a0bd7e1af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "385333f089c655befc6f1e76d46828d1a974af0f1f4d60b04b27784a0bd7e1af", kill_on_drop: false }`
[INFO] [stdout] 385333f089c655befc6f1e76d46828d1a974af0f1f4d60b04b27784a0bd7e1af
