[INFO] cloning repository https://github.com/hgzimmerman/HLWNPA [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hgzimmerman/HLWNPA" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhgzimmerman%2FHLWNPA", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhgzimmerman%2FHLWNPA'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5fd0648e66968a0a625d1bc107791795e035eb88 [INFO] building hgzimmerman/HLWNPA against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhgzimmerman%2FHLWNPA" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/hgzimmerman/HLWNPA on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/hgzimmerman/HLWNPA [INFO] finished tweaking git repo https://github.com/hgzimmerman/HLWNPA [INFO] tweaked toml for git repo https://github.com/hgzimmerman/HLWNPA written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/hgzimmerman/HLWNPA 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded uuid v0.4.0 [INFO] [stderr] Downloaded textwrap v0.7.0 [INFO] [stderr] Downloaded clap v2.26.0 [INFO] [stderr] Downloaded unicode-segmentation v1.2.0 [INFO] [stderr] Downloaded bitflags v0.7.1 [INFO] [stderr] Downloaded nom v3.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fe4f9755ff58c6ed2e40742504b6de3d5d96eaa1041d7c31fbf22eac74188ecd [INFO] running `Command { std: "docker" "start" "-a" "fe4f9755ff58c6ed2e40742504b6de3d5d96eaa1041d7c31fbf22eac74188ecd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fe4f9755ff58c6ed2e40742504b6de3d5d96eaa1041d7c31fbf22eac74188ecd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fe4f9755ff58c6ed2e40742504b6de3d5d96eaa1041d7c31fbf22eac74188ecd", kill_on_drop: false }` [INFO] [stdout] fe4f9755ff58c6ed2e40742504b6de3d5d96eaa1041d7c31fbf22eac74188ecd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9a15c31dd4536ad9b5edca98f51a07ccc2c51faffcfdf3c08c203b06898d28c3 [INFO] running `Command { std: "docker" "start" "-a" "9a15c31dd4536ad9b5edca98f51a07ccc2c51faffcfdf3c08c203b06898d28c3", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling libc v0.2.30 [INFO] [stderr] Compiling unicode-width v0.1.4 [INFO] [stderr] Compiling bitflags v0.9.1 [INFO] [stderr] Compiling strsim v0.6.0 [INFO] [stderr] Compiling ansi_term v0.9.0 [INFO] [stderr] Compiling unicode-segmentation v1.2.0 [INFO] [stderr] Compiling vec_map v0.8.0 [INFO] [stderr] Compiling term_size v0.3.0 [INFO] [stderr] Compiling rand v0.3.16 [INFO] [stderr] Compiling memchr v1.0.1 [INFO] [stderr] Compiling atty v0.2.2 [INFO] [stderr] Compiling textwrap v0.7.0 [INFO] [stderr] Compiling nom v3.2.0 [INFO] [stderr] Compiling clap v2.26.0 [INFO] [stderr] Compiling uuid v0.4.0 [INFO] [stderr] Compiling hlwnpa v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `lang_result::LangError` [INFO] [stdout] --> src/ast/mutability.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use lang_result::LangError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mutability::*` [INFO] [stdout] --> src/ast/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub use mutability::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `operator::*` [INFO] [stdout] --> src/ast/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use operator::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/mod.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | ///Anything that generates an AST node. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/expressions/mod.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | /// Grab the righthand side [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/expressions/mod.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | /// Get an index into an array. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/expressions/mod.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | /// Get a field belonging to a struct [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/parser/expressions/mod.rs:282:22 [INFO] [stdout] | [INFO] [stdout] 282 | _ => (Err("Unsupported SExpression".to_string())), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 282 - _ => (Err("Unsupported SExpression".to_string())), [INFO] [stdout] 282 + _ => Err("Unsupported SExpression".to_string()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parser/expressions/mod.rs:268:21 [INFO] [stdout] | [INFO] [stdout] 268 | (Ok((Some(Operator::Invert), *lhs.clone(), None))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 268 - (Ok((Some(Operator::Invert), *lhs.clone(), None))) [INFO] [stdout] 268 + Ok((Some(Operator::Invert), *lhs.clone(), None)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parser/expressions/mod.rs:271:21 [INFO] [stdout] | [INFO] [stdout] 271 | (Ok((Some(Operator::Negate), *lhs.clone(), None))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 271 - (Ok((Some(Operator::Negate), *lhs.clone(), None))) [INFO] [stdout] 271 + Ok((Some(Operator::Negate), *lhs.clone(), None)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parser/expressions/mod.rs:274:21 [INFO] [stdout] | [INFO] [stdout] 274 | (Ok((Some(Operator::Increment), *lhs.clone(), None))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 274 - (Ok((Some(Operator::Increment), *lhs.clone(), None))) [INFO] [stdout] 274 + Ok((Some(Operator::Increment), *lhs.clone(), None)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parser/expressions/mod.rs:277:21 [INFO] [stdout] | [INFO] [stdout] 277 | (Ok((Some(Operator::Decrement), *lhs.clone(), None))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 277 - (Ok((Some(Operator::Decrement), *lhs.clone(), None))) [INFO] [stdout] 277 + Ok((Some(Operator::Decrement), *lhs.clone(), None)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parser/expressions/mod.rs:287:13 [INFO] [stdout] | [INFO] [stdout] 287 | (Err( [INFO] [stdout] | ^ [INFO] [stdout] 288 | "Ast isn't an supported when assigning precedence".to_string(), [INFO] [stdout] 289 | )) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 287 ~ Err( [INFO] [stdout] 288 | "Ast isn't an supported when assigning precedence".to_string(), [INFO] [stdout] 289 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/parser/identifier.rs:32:39 [INFO] [stdout] | [INFO] [stdout] 32 | named!(accepted_identifier_characters<&str>, [INFO] [stdout] | - ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | _| [INFO] [stdout] | | [INFO] [stdout] 33 | | map_res!( [INFO] [stdout] 34 | | is_not!(" \n\t\r.(){}<>[],:;+-*/%!=\"&|"), [INFO] [stdout] 35 | | str::from_utf8 [INFO] [stdout] 36 | | ) [INFO] [stdout] 37 | | ); [INFO] [stdout] | |_- lifetime `'a` declared here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/literal/mod.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | /// put all literal types here [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/literal/array.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | /// Grab a list of literals delimited by [ ] and then check if their datatypes are the same [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/literal/array.rs:58:1 [INFO] [stdout] | [INFO] [stdout] 58 | /// Matches syntax like [0..10] to create an array with the first value of 0, and the last value of 10. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/utilities.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / /// Any token that cannot directly recurse into itself (ie contain an expression as its first token) [INFO] [stdout] 12 | | /// nor contains a keyword. [INFO] [stdout] 13 | | /// [INFO] [stdout] 14 | | /// This is used in the sexpr parser, as anything that could parse an expression could blow up the [INFO] [stdout] 15 | | /// stack, and that parser isn't interested in evaluating assignments, function definitions, etc... [INFO] [stdout] | |_--------------------------------------------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/assignment.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | /// Used for assigning identifiers to types [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/assignment.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | /// Used for assigning identifiers to types [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/type_signature.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | /// _ts indicates that the parser combinator is a getting a type signature [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/function.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | /// Either a Type or an identifier that can be resolved to a Struct's Type [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/function.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | /// The function definition syntax should look like: fn fn_name(id: datatype, ...) -> return_type { expressions ...} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/body.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | ///Body that only accepts assignments in the form: a : 4 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/body.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | / ///Body that only accepts assignments in the form: a : [INFO] [stdout] 48 | | /// Used for creating a struct's type. [INFO] [stdout] | |_-------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/repl.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/repl.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/include.rs:20:35 [INFO] [stdout] | [INFO] [stdout] 20 | reason: e.description().to_string(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/include.rs:40:27 [INFO] [stdout] | [INFO] [stdout] 40 | reason: e.description().to_string(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/ast/abstract_syntax_tree.rs:559:32 [INFO] [stdout] | [INFO] [stdout] 559 | Datatype::StructType { ref identifier, ref type_information } => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/ast/abstract_syntax_tree.rs:753:67 [INFO] [stdout] | [INFO] [stdout] 753 | ... if let &Datatype::StructType{ ref identifier, ref type_information } = datatype { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_info` [INFO] [stdout] --> src/ast/abstract_syntax_tree.rs:685:45 [INFO] [stdout] | [INFO] [stdout] 685 | ... ref type_info [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `type_info: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_information` [INFO] [stdout] --> src/ast/type_info.rs:77:47 [INFO] [stdout] | [INFO] [stdout] 77 | Datatype::StructType{ identifier, type_information} => TypeInfo::StructType{ identifier: identifier }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try ignoring the field: `type_information: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/ast/type_info.rs:54:71 [INFO] [stdout] | [INFO] [stdout] 54 | ... if let SExpression::TypeAssignment{ref identifier, ref type_info} = *s_expression { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parameters` [INFO] [stdout] --> src/ast/type_info.rs:129:32 [INFO] [stdout] | [INFO] [stdout] 129 | TypeInfo::Function{ref parameters, ref return_type} => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `parameters: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/ast/type_info.rs:129:48 [INFO] [stdout] | [INFO] [stdout] 129 | TypeInfo::Function{ref parameters, ref return_type} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try ignoring the field: `return_type: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ast` [INFO] [stdout] --> src/ast/mutability.rs:54:61 [INFO] [stdout] | [INFO] [stdout] 54 | SExpression::Assignment{ref identifier, ref ast} => { // a := 5 [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `ast: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ast` [INFO] [stdout] --> src/ast/mutability.rs:68:68 [INFO] [stdout] | [INFO] [stdout] 68 | SExpression::ConstDeclaration {ref identifier, ref ast} => { // const a := 5 [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `ast: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ast` [INFO] [stdout] --> src/ast/mutability.rs:80:72 [INFO] [stdout] | [INFO] [stdout] 80 | SExpression::VariableDeclaration { ref identifier, ref ast } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `ast: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function_datatype` [INFO] [stdout] --> src/ast/mutability.rs:97:68 [INFO] [stdout] | [INFO] [stdout] 97 | SExpression::DeclareFunction { ref identifier, ref function_datatype } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `function_datatype: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `struct_type_info` [INFO] [stdout] --> src/ast/mutability.rs:109:70 [INFO] [stdout] | [INFO] [stdout] 109 | SExpression::StructDeclaration { ref identifier, ref struct_type_info} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `struct_type_info: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs_type` [INFO] [stdout] --> src/ast/type_checking.rs:130:65 [INFO] [stdout] | [INFO] [stdout] 130 | ... Mutability::Mutable(ref lhs_type) => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs_mutability` [INFO] [stdout] --> src/ast/type_checking.rs:166:38 [INFO] [stdout] | [INFO] [stdout] 166 | ... Some(lhs_mutability) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_mutability` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs_mutability` [INFO] [stdout] --> src/ast/type_checking.rs:197:38 [INFO] [stdout] | [INFO] [stdout] 197 | ... Some(lhs_mutability) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_mutability` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs_mutability` [INFO] [stdout] --> src/ast/type_checking.rs:226:38 [INFO] [stdout] | [INFO] [stdout] 226 | ... Some(lhs_mutability) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_mutability` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/ast/type_checking.rs:308:25 [INFO] [stdout] | [INFO] [stdout] 308 | ref index [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `index: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `struct_datatype` [INFO] [stdout] --> src/ast/type_checking.rs:386:25 [INFO] [stdout] | [INFO] [stdout] 386 | ref struct_datatype [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `struct_datatype: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/ast/type_checking.rs:390:58 [INFO] [stdout] | [INFO] [stdout] 390 | ... if let TypeInfo::Struct{ ref map } = existing_struct_type.clone().get_type() { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `map: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/ast/type_checking.rs:399:25 [INFO] [stdout] | [INFO] [stdout] 399 | ref identifier, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field_identifier` [INFO] [stdout] --> src/ast/type_checking.rs:400:25 [INFO] [stdout] | [INFO] [stdout] 400 | ref field_identifier [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `field_identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ast/type_checking.rs:58:32 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn check_types( &self, mut type_store: &mut TypeStore ) -> MutabilityResult { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/repl.rs:78:82 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn repl(mut map: &mut VariableStore, mut mutability_map: &mut MutabilityMap, mut type_store: &mut TypeStore) { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ExpectedDataTypeInfo`, `InvalidSyntax`, and `InvalidSyntaxFailedToParse` are never constructed [INFO] [stdout] --> src/ast/lang_result.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum LangError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 23 | ExpectedDataTypeInfo, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | InvalidSyntax, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 25 | InvalidSyntaxFailedToParse, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LangError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MutabilityResult` is never used [INFO] [stdout] --> src/ast/mutability.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub type MutabilityResult = Result<(), MutabilityError>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `VariableDoesNotExist` is never constructed [INFO] [stdout] --> src/ast/type_checking.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum TypeError { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 16 | VariableDoesNotExist, // Remove? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_type_from_ast` is never used [INFO] [stdout] --> src/parser/type_signature.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn get_type_from_ast(ast: Ast) -> TypeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.48s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "9a15c31dd4536ad9b5edca98f51a07ccc2c51faffcfdf3c08c203b06898d28c3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9a15c31dd4536ad9b5edca98f51a07ccc2c51faffcfdf3c08c203b06898d28c3", kill_on_drop: false }` [INFO] [stdout] 9a15c31dd4536ad9b5edca98f51a07ccc2c51faffcfdf3c08c203b06898d28c3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b55124e93c5a7385452fa9070530cd141c1aecec76d8002cb62c6c2de28e117b [INFO] running `Command { std: "docker" "start" "-a" "b55124e93c5a7385452fa9070530cd141c1aecec76d8002cb62c6c2de28e117b", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling hlwnpa v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ast` [INFO] [stdout] --> src/ast/type_info.rs:346:13 [INFO] [stdout] | [INFO] [stdout] 346 | use ast; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lang_result::LangError` [INFO] [stdout] --> src/ast/mutability.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use lang_result::LangError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mutability::*` [INFO] [stdout] --> src/ast/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub use mutability::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `operator::*` [INFO] [stdout] --> src/ast/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use operator::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/mod.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | ///Anything that generates an AST node. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/expressions/mod.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | /// Grab the righthand side [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/expressions/mod.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | /// Get an index into an array. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/expressions/mod.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | /// Get a field belonging to a struct [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/parser/expressions/mod.rs:282:22 [INFO] [stdout] | [INFO] [stdout] 282 | _ => (Err("Unsupported SExpression".to_string())), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 282 - _ => (Err("Unsupported SExpression".to_string())), [INFO] [stdout] 282 + _ => Err("Unsupported SExpression".to_string()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parser/expressions/mod.rs:268:21 [INFO] [stdout] | [INFO] [stdout] 268 | (Ok((Some(Operator::Invert), *lhs.clone(), None))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 268 - (Ok((Some(Operator::Invert), *lhs.clone(), None))) [INFO] [stdout] 268 + Ok((Some(Operator::Invert), *lhs.clone(), None)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parser/expressions/mod.rs:271:21 [INFO] [stdout] | [INFO] [stdout] 271 | (Ok((Some(Operator::Negate), *lhs.clone(), None))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 271 - (Ok((Some(Operator::Negate), *lhs.clone(), None))) [INFO] [stdout] 271 + Ok((Some(Operator::Negate), *lhs.clone(), None)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parser/expressions/mod.rs:274:21 [INFO] [stdout] | [INFO] [stdout] 274 | (Ok((Some(Operator::Increment), *lhs.clone(), None))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 274 - (Ok((Some(Operator::Increment), *lhs.clone(), None))) [INFO] [stdout] 274 + Ok((Some(Operator::Increment), *lhs.clone(), None)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parser/expressions/mod.rs:277:21 [INFO] [stdout] | [INFO] [stdout] 277 | (Ok((Some(Operator::Decrement), *lhs.clone(), None))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 277 - (Ok((Some(Operator::Decrement), *lhs.clone(), None))) [INFO] [stdout] 277 + Ok((Some(Operator::Decrement), *lhs.clone(), None)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/parser/expressions/mod.rs:287:13 [INFO] [stdout] | [INFO] [stdout] 287 | (Err( [INFO] [stdout] | ^ [INFO] [stdout] 288 | "Ast isn't an supported when assigning precedence".to_string(), [INFO] [stdout] 289 | )) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 287 ~ Err( [INFO] [stdout] 288 | "Ast isn't an supported when assigning precedence".to_string(), [INFO] [stdout] 289 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/parser/identifier.rs:32:39 [INFO] [stdout] | [INFO] [stdout] 32 | named!(accepted_identifier_characters<&str>, [INFO] [stdout] | - ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | _| [INFO] [stdout] | | [INFO] [stdout] 33 | | map_res!( [INFO] [stdout] 34 | | is_not!(" \n\t\r.(){}<>[],:;+-*/%!=\"&|"), [INFO] [stdout] 35 | | str::from_utf8 [INFO] [stdout] 36 | | ) [INFO] [stdout] 37 | | ); [INFO] [stdout] | |_- lifetime `'a` declared here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/literal/mod.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | /// put all literal types here [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/literal/array.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | /// Grab a list of literals delimited by [ ] and then check if their datatypes are the same [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/literal/array.rs:58:1 [INFO] [stdout] | [INFO] [stdout] 58 | /// Matches syntax like [0..10] to create an array with the first value of 0, and the last value of 10. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/utilities.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / /// Any token that cannot directly recurse into itself (ie contain an expression as its first token) [INFO] [stdout] 12 | | /// nor contains a keyword. [INFO] [stdout] 13 | | /// [INFO] [stdout] 14 | | /// This is used in the sexpr parser, as anything that could parse an expression could blow up the [INFO] [stdout] 15 | | /// stack, and that parser isn't interested in evaluating assignments, function definitions, etc... [INFO] [stdout] | |_--------------------------------------------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/assignment.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | /// Used for assigning identifiers to types [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/assignment.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | /// Used for assigning identifiers to types [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/type_signature.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | /// _ts indicates that the parser combinator is a getting a type signature [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/function.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | /// Either a Type or an identifier that can be resolved to a Struct's Type [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/function.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | /// The function definition syntax should look like: fn fn_name(id: datatype, ...) -> return_type { expressions ...} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/body.rs:35:1 [INFO] [stdout] | [INFO] [stdout] 35 | ///Body that only accepts assignments in the form: a : 4 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/parser/body.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | / ///Body that only accepts assignments in the form: a : [INFO] [stdout] 48 | | /// Used for creating a struct's type. [INFO] [stdout] | |_-------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/repl.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/repl.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/include.rs:20:35 [INFO] [stdout] | [INFO] [stdout] 20 | reason: e.description().to_string(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/include.rs:40:27 [INFO] [stdout] | [INFO] [stdout] 40 | reason: e.description().to_string(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/ast/abstract_syntax_tree.rs:559:32 [INFO] [stdout] | [INFO] [stdout] 559 | Datatype::StructType { ref identifier, ref type_information } => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/ast/abstract_syntax_tree.rs:753:67 [INFO] [stdout] | [INFO] [stdout] 753 | ... if let &Datatype::StructType{ ref identifier, ref type_information } = datatype { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_info` [INFO] [stdout] --> src/ast/abstract_syntax_tree.rs:685:45 [INFO] [stdout] | [INFO] [stdout] 685 | ... ref type_info [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `type_info: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_information` [INFO] [stdout] --> src/ast/type_info.rs:77:47 [INFO] [stdout] | [INFO] [stdout] 77 | Datatype::StructType{ identifier, type_information} => TypeInfo::StructType{ identifier: identifier }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try ignoring the field: `type_information: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/ast/type_info.rs:54:71 [INFO] [stdout] | [INFO] [stdout] 54 | ... if let SExpression::TypeAssignment{ref identifier, ref type_info} = *s_expression { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parameters` [INFO] [stdout] --> src/ast/type_info.rs:129:32 [INFO] [stdout] | [INFO] [stdout] 129 | TypeInfo::Function{ref parameters, ref return_type} => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `parameters: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/ast/type_info.rs:129:48 [INFO] [stdout] | [INFO] [stdout] 129 | TypeInfo::Function{ref parameters, ref return_type} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try ignoring the field: `return_type: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ast` [INFO] [stdout] --> src/ast/mutability.rs:54:61 [INFO] [stdout] | [INFO] [stdout] 54 | SExpression::Assignment{ref identifier, ref ast} => { // a := 5 [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `ast: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ast` [INFO] [stdout] --> src/ast/mutability.rs:68:68 [INFO] [stdout] | [INFO] [stdout] 68 | SExpression::ConstDeclaration {ref identifier, ref ast} => { // const a := 5 [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `ast: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ast` [INFO] [stdout] --> src/ast/mutability.rs:80:72 [INFO] [stdout] | [INFO] [stdout] 80 | SExpression::VariableDeclaration { ref identifier, ref ast } => { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `ast: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function_datatype` [INFO] [stdout] --> src/ast/mutability.rs:97:68 [INFO] [stdout] | [INFO] [stdout] 97 | SExpression::DeclareFunction { ref identifier, ref function_datatype } => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `function_datatype: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `struct_type_info` [INFO] [stdout] --> src/ast/mutability.rs:109:70 [INFO] [stdout] | [INFO] [stdout] 109 | SExpression::StructDeclaration { ref identifier, ref struct_type_info} => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `struct_type_info: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs_type` [INFO] [stdout] --> src/ast/type_checking.rs:130:65 [INFO] [stdout] | [INFO] [stdout] 130 | ... Mutability::Mutable(ref lhs_type) => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs_mutability` [INFO] [stdout] --> src/ast/type_checking.rs:166:38 [INFO] [stdout] | [INFO] [stdout] 166 | ... Some(lhs_mutability) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_mutability` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs_mutability` [INFO] [stdout] --> src/ast/type_checking.rs:197:38 [INFO] [stdout] | [INFO] [stdout] 197 | ... Some(lhs_mutability) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_mutability` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lhs_mutability` [INFO] [stdout] --> src/ast/type_checking.rs:226:38 [INFO] [stdout] | [INFO] [stdout] 226 | ... Some(lhs_mutability) => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_mutability` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index` [INFO] [stdout] --> src/ast/type_checking.rs:308:25 [INFO] [stdout] | [INFO] [stdout] 308 | ref index [INFO] [stdout] | ^^^^^^^^^ help: try ignoring the field: `index: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `struct_datatype` [INFO] [stdout] --> src/ast/type_checking.rs:386:25 [INFO] [stdout] | [INFO] [stdout] 386 | ref struct_datatype [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `struct_datatype: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `map` [INFO] [stdout] --> src/ast/type_checking.rs:390:58 [INFO] [stdout] | [INFO] [stdout] 390 | ... if let TypeInfo::Struct{ ref map } = existing_struct_type.clone().get_type() { [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `map: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `identifier` [INFO] [stdout] --> src/ast/type_checking.rs:399:25 [INFO] [stdout] | [INFO] [stdout] 399 | ref identifier, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field_identifier` [INFO] [stdout] --> src/ast/type_checking.rs:400:25 [INFO] [stdout] | [INFO] [stdout] 400 | ref field_identifier [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `field_identifier: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ast/type_checking.rs:58:32 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn check_types( &self, mut type_store: &mut TypeStore ) -> MutabilityResult { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/repl.rs:78:82 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn repl(mut map: &mut VariableStore, mut mutability_map: &mut MutabilityMap, mut type_store: &mut TypeStore) { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ExpectedDataTypeInfo`, `InvalidSyntax`, and `InvalidSyntaxFailedToParse` are never constructed [INFO] [stdout] --> src/ast/lang_result.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum LangError { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 23 | ExpectedDataTypeInfo, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | InvalidSyntax, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 25 | InvalidSyntaxFailedToParse, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LangError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MutabilityResult` is never used [INFO] [stdout] --> src/ast/mutability.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub type MutabilityResult = Result<(), MutabilityError>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `VariableDoesNotExist` is never constructed [INFO] [stdout] --> src/ast/type_checking.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum TypeError { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 16 | VariableDoesNotExist, // Remove? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_type_from_ast` is never used [INFO] [stdout] --> src/parser/type_signature.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn get_type_from_ast(ast: Ast) -> TypeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.70s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v3.2.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "b55124e93c5a7385452fa9070530cd141c1aecec76d8002cb62c6c2de28e117b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b55124e93c5a7385452fa9070530cd141c1aecec76d8002cb62c6c2de28e117b", kill_on_drop: false }` [INFO] [stdout] b55124e93c5a7385452fa9070530cd141c1aecec76d8002cb62c6c2de28e117b