[INFO] updating cached repository https://github.com/hgzimmerman/HLWNPA [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5fd0648e66968a0a625d1bc107791795e035eb88 [INFO] testing hgzimmerman/HLWNPA against try#03a1ea71b075ab964b5278bc6e74cd6c52c36ee0 for pr-74409 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhgzimmerman%2FHLWNPA" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/hgzimmerman/HLWNPA on toolchain 03a1ea71b075ab964b5278bc6e74cd6c52c36ee0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+03a1ea71b075ab964b5278bc6e74cd6c52c36ee0" "read-manifest" "--manifest-path" "Cargo.toml", 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-4/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: "/workspace/cargo-home/bin/cargo" "+03a1ea71b075ab964b5278bc6e74cd6c52c36ee0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env@sha256:38e1b949b06cde1964af550a6e548bd9b2b2ea170003ae122f8fc0886596cc07" "/opt/rustwide/cargo-home/bin/cargo" "+03a1ea71b075ab964b5278bc6e74cd6c52c36ee0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] c3bda94b0ad35100b32817500650e6b9954be51d677af7e73eac25846eda0541 [INFO] running `Command { std: "docker" "start" "-a" "c3bda94b0ad35100b32817500650e6b9954be51d677af7e73eac25846eda0541", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c3bda94b0ad35100b32817500650e6b9954be51d677af7e73eac25846eda0541", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3bda94b0ad35100b32817500650e6b9954be51d677af7e73eac25846eda0541", kill_on_drop: false }` [INFO] [stdout] c3bda94b0ad35100b32817500650e6b9954be51d677af7e73eac25846eda0541 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env@sha256:38e1b949b06cde1964af550a6e548bd9b2b2ea170003ae122f8fc0886596cc07" "/opt/rustwide/cargo-home/bin/cargo" "+03a1ea71b075ab964b5278bc6e74cd6c52c36ee0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 8d570b631619721ceecd68b890b5f5193a9097457f87805c148ea04fcc0da1e0 [INFO] running `Command { std: "docker" "start" "-a" "8d570b631619721ceecd68b890b5f5193a9097457f87805c148ea04fcc0da1e0", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.30 [INFO] [stderr] Compiling unicode-width v0.1.4 [INFO] [stderr] Compiling unicode-segmentation v1.2.0 [INFO] [stderr] Compiling ansi_term v0.9.0 [INFO] [stderr] Compiling strsim v0.6.0 [INFO] [stderr] Compiling vec_map v0.8.0 [INFO] [stderr] Compiling bitflags v0.9.1 [INFO] [stderr] Compiling term_size v0.3.0 [INFO] [stderr] Compiling atty v0.2.2 [INFO] [stderr] Compiling rand v0.3.16 [INFO] [stderr] Compiling memchr v1.0.1 [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 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] = note: `#[warn(unused_doc_comments)]` on by default [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: 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/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/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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | /// nor contains a keyword. [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:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | /// [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:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | /// This is used in the sexpr parser, as anything that could parse an expression could blow up the [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:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | /// stack, and that parser isn't interested in evaluating assignments, function definitions, etc... [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | /// Used for creating 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/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] [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] = note: `#[warn(unused_imports)]` on by default [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [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] 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: 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: the item `io` is imported redundantly [INFO] [stdout] --> src/repl.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io; [INFO] [stdout] | ------- the item `io` is already imported here [INFO] [stdout] ... [INFO] [stdout] 79 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item '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 item '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: `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: `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: `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: `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: `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:61 [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: variant is never constructed: `ExpectedDataTypeInfo` [INFO] [stdout] --> src/ast/lang_result.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | ExpectedDataTypeInfo, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `InvalidSyntax` [INFO] [stdout] --> src/ast/lang_result.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | InvalidSyntax, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `InvalidSyntaxFailedToParse` [INFO] [stdout] --> src/ast/lang_result.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | InvalidSyntaxFailedToParse, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `MutabilityResult` [INFO] [stdout] --> src/ast/mutability.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub type MutabilityResult = Result<(), MutabilityError>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `VariableDoesNotExist` [INFO] [stdout] --> src/ast/type_checking.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | VariableDoesNotExist, // Remove? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_type_from_ast` [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] [stdout] warning: 60 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 24.12s [INFO] running `Command { std: "docker" "inspect" "8d570b631619721ceecd68b890b5f5193a9097457f87805c148ea04fcc0da1e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8d570b631619721ceecd68b890b5f5193a9097457f87805c148ea04fcc0da1e0", kill_on_drop: false }` [INFO] [stdout] 8d570b631619721ceecd68b890b5f5193a9097457f87805c148ea04fcc0da1e0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env@sha256:38e1b949b06cde1964af550a6e548bd9b2b2ea170003ae122f8fc0886596cc07" "/opt/rustwide/cargo-home/bin/cargo" "+03a1ea71b075ab964b5278bc6e74cd6c52c36ee0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b2fc023b2ed6c34cc5917850e2831efc8d1744fa1f5215d42202ad4ab1fc66f2 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "b2fc023b2ed6c34cc5917850e2831efc8d1744fa1f5215d42202ad4ab1fc66f2", kill_on_drop: false }` [INFO] [stderr] Compiling hlwnpa v0.1.1 (/opt/rustwide/workdir) [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] = note: `#[warn(unused_doc_comments)]` on by default [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: 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/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/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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | /// nor contains a keyword. [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:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | /// [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:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | /// This is used in the sexpr parser, as anything that could parse an expression could blow up the [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:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | /// stack, and that parser isn't interested in evaluating assignments, function definitions, etc... [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | /// Used for creating 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/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] [INFO] [stdout] [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: 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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [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] 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: 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: the item `io` is imported redundantly [INFO] [stdout] --> src/repl.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io; [INFO] [stdout] | ------- the item `io` is already imported here [INFO] [stdout] ... [INFO] [stdout] 79 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item '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 item '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: `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: `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: `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: `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: `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:61 [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: variant is never constructed: `ExpectedDataTypeInfo` [INFO] [stdout] --> src/ast/lang_result.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | ExpectedDataTypeInfo, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `InvalidSyntax` [INFO] [stdout] --> src/ast/lang_result.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | InvalidSyntax, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `InvalidSyntaxFailedToParse` [INFO] [stdout] --> src/ast/lang_result.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | InvalidSyntaxFailedToParse, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias is never used: `MutabilityResult` [INFO] [stdout] --> src/ast/mutability.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub type MutabilityResult = Result<(), MutabilityError>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `VariableDoesNotExist` [INFO] [stdout] --> src/ast/type_checking.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | VariableDoesNotExist, // Remove? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_type_from_ast` [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] [stdout] warning: 61 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 8.14s [INFO] running `Command { std: "docker" "inspect" "b2fc023b2ed6c34cc5917850e2831efc8d1744fa1f5215d42202ad4ab1fc66f2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b2fc023b2ed6c34cc5917850e2831efc8d1744fa1f5215d42202ad4ab1fc66f2", kill_on_drop: false }` [INFO] [stdout] b2fc023b2ed6c34cc5917850e2831efc8d1744fa1f5215d42202ad4ab1fc66f2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env@sha256:38e1b949b06cde1964af550a6e548bd9b2b2ea170003ae122f8fc0886596cc07" "/opt/rustwide/cargo-home/bin/cargo" "+03a1ea71b075ab964b5278bc6e74cd6c52c36ee0" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 4afd517ce9cfb28aa9ec9c17d0425f8e21ee15f6240c04e94965a2a55a6c1351 [INFO] running `Command { std: "docker" "start" "-a" "4afd517ce9cfb28aa9ec9c17d0425f8e21ee15f6240c04e94965a2a55a6c1351", kill_on_drop: false }` [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/expressions/mod.rs:24:1 [INFO] [stderr] | [INFO] [stderr] 24 | /// Grab the righthand side [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/expressions/mod.rs:55:1 [INFO] [stderr] | [INFO] [stderr] 55 | /// Get an index into an array. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/expressions/mod.rs:67:1 [INFO] [stderr] | [INFO] [stderr] 67 | /// Get a field belonging to a struct [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/literal/array.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | /// Grab a list of literals delimited by [ ] and then check if their datatypes are the same [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/literal/array.rs:58:1 [INFO] [stderr] | [INFO] [stderr] 58 | /// Matches syntax like [0..10] to create an array with the first value of 0, and the last value of 10. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/literal/mod.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | /// put all literal types here [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/utilities.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | /// Any token that cannot directly recurse into itself (ie contain an expression as its first token) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/utilities.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | /// nor contains a keyword. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/utilities.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | /// [INFO] [stderr] | ^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/utilities.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | /// This is used in the sexpr parser, as anything that could parse an expression could blow up the [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/utilities.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | /// stack, and that parser isn't interested in evaluating assignments, function definitions, etc... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/assignment.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | /// Used for assigning identifiers to types [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/assignment.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | /// Used for assigning identifiers to types [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/type_signature.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | /// _ts indicates that the parser combinator is a getting a type signature [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/function.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | /// Either a Type or an identifier that can be resolved to a Struct's Type [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/function.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | /// The function definition syntax should look like: fn fn_name(id: datatype, ...) -> return_type { expressions ...} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/body.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | ///Body that only accepts assignments in the form: a : 4 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/body.rs:47:1 [INFO] [stderr] | [INFO] [stderr] 47 | ///Body that only accepts assignments in the form: a : [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/body.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | /// Used for creating a struct's type. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/parser/mod.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | ///Anything that generates an AST node. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused import: `ast` [INFO] [stderr] --> src/ast/type_info.rs:346:13 [INFO] [stderr] | [INFO] [stderr] 346 | use ast; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `lang_result::LangError` [INFO] [stderr] --> src/ast/mutability.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use lang_result::LangError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/parser/expressions/mod.rs:268:21 [INFO] [stderr] | [INFO] [stderr] 268 | (Ok((Some(Operator::Invert), *lhs.clone(), None))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/parser/expressions/mod.rs:271:21 [INFO] [stderr] | [INFO] [stderr] 271 | (Ok((Some(Operator::Negate), *lhs.clone(), None))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/parser/expressions/mod.rs:274:21 [INFO] [stderr] | [INFO] [stderr] 274 | (Ok((Some(Operator::Increment), *lhs.clone(), None))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stdout] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stdout] running 179 tests [INFO] [stderr] --> src/parser/expressions/mod.rs:277:21 [INFO] [stdout] test ast::abstract_syntax_tree::test::greater_than_test ... ok [INFO] [stderr] | [INFO] [stdout] test ast::abstract_syntax_tree::test::array_access_test ... ok [INFO] [stderr] 277 | (Ok((Some(Operator::Decrement), *lhs.clone(), None))) [INFO] [stdout] test ast::abstract_syntax_tree::test::greater_than_or_equal_test ... ok [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] test ast::abstract_syntax_tree::test::function_with_two_parameters_addition_test ... ok [INFO] [stderr] [INFO] [stdout] test ast::abstract_syntax_tree::test::less_than_or_equal_test ... ok [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stdout] test ast::abstract_syntax_tree::test::minus_negative_test ... ok [INFO] [stderr] --> src/parser/expressions/mod.rs:287:13 [INFO] [stdout] test ast::abstract_syntax_tree::test::modulo_test ... ok [INFO] [stderr] | [INFO] [stdout] test ast::abstract_syntax_tree::test::minus_test ... ok [INFO] [stderr] 287 | / (Err( [INFO] [stdout] test ast::abstract_syntax_tree::test::division_by_zero_test ... ok [INFO] [stderr] 288 | | "Ast isn't an supported when assigning precedence".to_string(), [INFO] [stdout] test ast::abstract_syntax_tree::test::plus_test ... ok [INFO] [stderr] 289 | | )) [INFO] [stdout] test ast::abstract_syntax_tree::test::multiplication_test ... ok [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 287 | Err( [INFO] [stderr] 288 | "Ast isn't an supported when assigning precedence".to_string(), [INFO] [stderr] 289 | ) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/repl.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/repl.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the item `io` is imported redundantly [INFO] [stderr] --> src/repl.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 8 | use std::io; [INFO] [stderr] | ------- the item `io` is already imported here [INFO] [stderr] ... [INFO] [stderr] 79 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/include.rs:20:35 [INFO] [stderr] | [INFO] [stderr] 20 | reason: e.description().to_string(), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/include.rs:40:27 [INFO] [stderr] | [INFO] [stderr] 40 | reason: e.description().to_string(), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `identifier` [INFO] [stderr] --> src/ast/abstract_syntax_tree.rs:559:32 [INFO] [stderr] | [INFO] [stderr] 559 | Datatype::StructType { ref identifier, ref type_information } => { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `type_info` [INFO] [stderr] --> src/ast/abstract_syntax_tree.rs:685:45 [INFO] [stderr] | [INFO] [stderr] 685 | ... ref type_info [INFO] [stderr] | ^^^^^^^^^^^^^ help: try ignoring the field: `type_info: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `identifier` [INFO] [stderr] --> src/ast/abstract_syntax_tree.rs:753:67 [INFO] [stderr] | [INFO] [stderr] 753 | ... if let &Datatype::StructType{ ref identifier, ref type_information } = datatype { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `identifier` [INFO] [stderr] --> src/ast/type_info.rs:54:71 [INFO] [stderr] | [INFO] [stderr] 54 | ... if let SExpression::TypeAssignment{ref identifier, ref type_info} = *s_expression { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `type_information` [INFO] [stderr] --> src/ast/type_info.rs:77:47 [INFO] [stderr] | [INFO] [stderr] 77 | Datatype::StructType{ identifier, type_information} => TypeInfo::StructType{ identifier: identifier }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try ignoring the field: `type_information: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `parameters` [INFO] [stderr] --> src/ast/type_info.rs:129:32 [INFO] [stderr] | [INFO] [stderr] 129 | TypeInfo::Function{ref parameters, ref return_type} => { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try ignoring the field: `parameters: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `return_type` [INFO] [stderr] --> src/ast/type_info.rs:129:48 [INFO] [stderr] | [INFO] [stderr] 129 | TypeInfo::Function{ref parameters, ref return_type} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try ignoring the field: `return_type: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ast` [INFO] [stderr] --> src/ast/mutability.rs:54:61 [INFO] [stderr] | [INFO] [stderr] 54 | SExpression::Assignment{ref identifier, ref ast} => { // a := 5 [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `ast: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ast` [INFO] [stderr] --> src/ast/mutability.rs:68:68 [INFO] [stderr] | [INFO] [stderr] 68 | SExpression::ConstDeclaration {ref identifier, ref ast} => { // const a := 5 [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `ast: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ast` [INFO] [stderr] --> src/ast/mutability.rs:80:72 [INFO] [stderr] | [INFO] [stderr] 80 | SExpression::VariableDeclaration { ref identifier, ref ast } => { [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `ast: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `function_datatype` [INFO] [stderr] --> src/ast/mutability.rs:97:68 [INFO] [stderr] | [INFO] [stderr] 97 | SExpression::DeclareFunction { ref identifier, ref function_datatype } => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `function_datatype: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `struct_type_info` [INFO] [stderr] --> src/ast/mutability.rs:109:70 [INFO] [stderr] | [INFO] [stderr] 109 | SExpression::StructDeclaration { ref identifier, ref struct_type_info} => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `struct_type_info: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lhs_type` [INFO] [stderr] --> src/ast/type_checking.rs:130:61 [INFO] [stderr] | [INFO] [stderr] 130 | ... Mutability::Mutable(ref lhs_type) => { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_type` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lhs_mutability` [INFO] [stderr] --> src/ast/type_checking.rs:166:38 [INFO] [stderr] | [INFO] [stderr] 166 | ... Some(lhs_mutability) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_mutability` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lhs_mutability` [INFO] [stderr] --> src/ast/type_checking.rs:197:38 [INFO] [stderr] | [INFO] [stderr] 197 | ... Some(lhs_mutability) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_mutability` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lhs_mutability` [INFO] [stderr] --> src/ast/type_checking.rs:226:38 [INFO] [stderr] | [INFO] [stderr] 226 | ... Some(lhs_mutability) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lhs_mutability` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/ast/type_checking.rs:308:25 [INFO] [stderr] | [INFO] [stderr] 308 | ref index [INFO] [stderr] | ^^^^^^^^^ help: try ignoring the field: `index: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `struct_datatype` [INFO] [stderr] --> src/ast/type_checking.rs:386:25 [INFO] [stderr] | [INFO] [stderr] 386 | ref struct_datatype [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `struct_datatype: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `map` [INFO] [stderr] --> src/ast/type_checking.rs:390:58 [INFO] [stderr] | [INFO] [stderr] 390 | ... if let TypeInfo::Struct{ ref map } = existing_struct_type.clone().get_type() { [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `map: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `identifier` [INFO] [stderr] --> src/ast/type_checking.rs:399:25 [INFO] [stderr] | [INFO] [stderr] 399 | ref identifier, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try ignoring the field: `identifier: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `field_identifier` [INFO] [stderr] --> src/ast/type_checking.rs:400:25 [INFO] [stderr] | [INFO] [stderr] 400 | ref field_identifier [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try ignoring the field: `field_identifier: _` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/ast/type_checking.rs:58:32 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn check_types( &self, mut type_store: &mut TypeStore ) -> MutabilityResult { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/repl.rs:78:82 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn repl(mut map: &mut VariableStore, mut mutability_map: &mut MutabilityMap, mut type_store: &mut TypeStore) { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ExpectedDataTypeInfo` [INFO] [stderr] --> src/ast/lang_result.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | ExpectedDataTypeInfo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InvalidSyntax` [INFO] [stderr] --> src/ast/lang_result.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | InvalidSyntax, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InvalidSyntaxFailedToParse` [INFO] [stderr] --> src/ast/lang_result.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | InvalidSyntaxFailedToParse, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `MutabilityResult` [INFO] [stderr] --> src/ast/mutability.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub type MutabilityResult = Result<(), MutabilityError>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `VariableDoesNotExist` [INFO] [stderr] --> src/ast/type_checking.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | VariableDoesNotExist, // Remove? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_type_from_ast` [INFO] [stderr] --> src/parser/type_signature.rs:57:4 [INFO] [stderr] | [INFO] [stderr] 57 | fn get_type_from_ast(ast: Ast) -> TypeInfo { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 61 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/hlwnpa-11d0632c43e1f502 [INFO] [stdout] test ast::abstract_syntax_tree::test::equality_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::less_than_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::function_with_parameter_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::division_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::integer_division_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::basic_function_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::conditional_with_else_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::reassignment_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::assignment_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::string_plus_test ... ok [INFO] [stdout] test ast::type_checking::test::assignment_is_of_type_string ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::variable_copy_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::struct_creation_test ... ok [INFO] [stdout] test ast::type_checking::test::array_type_mismatch ... ok [INFO] [stdout] test ast::datatype::datatype_equality_tests ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::struct_declaration_test ... ok [INFO] [stdout] test ast::type_checking::test::array_is_array ... ok [INFO] [stdout] test ast::type_checking::test::throw_error_on_type_mismatch_addition_assignment ... ok [INFO] [stdout] test ast::type_checking::test::throw_error_on_function_execution ... ok [INFO] [stdout] test ast::type_checking::test::mutability_function_reassignment_throws_error ... ok [INFO] [stdout] test ast::type_info::test::comparison_type_info ... ok [INFO] [stdout] test ast::type_checking::test::throw_error_on_unsupported_division ... ok [INFO] [stdout] test ast::type_info::test::convert_fn_to_type ... ok [INFO] [stdout] test ast::type_info::test::convert_from_datatype_and_perform_operation_and_compare ... ok [INFO] [stdout] test ast::type_info::test::comparison_type_info_with_operations ... ok [INFO] [stdout] test ast::type_info::test::convert_parameter_fn_to_type ... ok [INFO] [stdout] test ast::type_checking::test::number_is_number ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::array_incorrect_access_test ... ok [INFO] [stdout] test ast::type_checking::test::different_type_reassignment ... ok [INFO] [stdout] test ast::type_checking::test::string_is_string ... ok [INFO] [stdout] test ast::type_checking::test::mutability_const_redeclaration_throws_error ... ok [INFO] [stdout] test parser::control_flow::if_expression::test::parse_if_else_statement_test ... ok [INFO] [stdout] test parser::body::parse_simple_body_test ... ok [INFO] [stdout] test parser::control_flow::if_expression::test::parse_if_statement_test ... ok [INFO] [stdout] test ast::type_checking::test::number_plus_float_plus_number_is_a_float ... ok [INFO] [stdout] test ast::type_checking::test::throw_error_on_type_mismatch_self_addition_assignment ... ok [INFO] [stdout] test parser::body::parse_simple_body_assignment_test ... ok [INFO] [stdout] test parser::assignment::test::parse_type_assignment_of_number_test ... ok [INFO] [stdout] test parser::control_flow::for_loop::test::for_loop_parse ... ok [INFO] [stdout] test parser::expressions::test::new_sexpr_single_literal ... ok [INFO] [stdout] test ast::type_checking::test::type_check_function_execution ... ok [INFO] [stdout] test parser::assignment::test::parse_assignment_of_literal_test ... ok [INFO] [stdout] test parser::expressions::test::parse_struct_access_name ... ok [INFO] [stdout] test parser::expressions::test::multiple_dimensional_array_access ... ok [INFO] [stdout] test parser::expressions::test::sexpr_add_mult_add ... ok [INFO] [stdout] test parser::expressions::test::sexpr_add_with_increment_first ... ok [INFO] [stdout] test parser::expressions::test::sexpr_add_with_increment ... ok [INFO] [stdout] test parser::expressions::test::sexpr_identifier_addition ... ok [INFO] [stdout] test parser::expressions::test::parse_array_access_test ... ok [INFO] [stdout] test parser::expressions::test::sexpr_multi_mult_four_terms ... ok [INFO] [stdout] test parser::control_flow::while_loop::test::parse_while_loop_2 ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parens_negate_parse_1 ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parens_negate_parse ... ok [INFO] [stdout] test parser::expressions::test::expr_precedence_mult_before_add ... ok [INFO] [stdout] test parser::expressions::test::sexpr_multi_mult ... ok [INFO] [stdout] test parser::control_flow::while_loop::test::parse_while_loop_test ... ok [INFO] [stdout] test parser::expressions::test::new_sexpr_precedence_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parse_addition ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parse_addition_multiple ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parse_invert ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parse_logical_and ... ok [INFO] [stdout] test parser::expressions::test::sexpr_eq_and_ineq_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parens_triple_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parse_increment ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parse_logical_or ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parens_rhs_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parse_negate_then_add ... ok [INFO] [stdout] test parser::expressions::test::sexpr_precedence_5_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_precedence_6_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parens_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parse_negate ... ok [INFO] [stdout] test parser::expressions::test::sexpr_precedence_mult_then_divide_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_precedence_4_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_precedence_2_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_precedence_3_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_precedence_8_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_precedence_1_parse ... ok [INFO] [stdout] test parser::identifier::test::parse_fail_new_id_contains_reserved_character ... ok [INFO] [stdout] test parser::expressions::test::sexpr_precedence_9_parse ... ok [INFO] [stdout] test parser::control_flow::if_expression::test::parse_if_statement_with_expression_test ... ok [INFO] [stdout] test parser::identifier::test::parse_identifier_characters_test ... ok [INFO] [stdout] test parser::identifier::test::parse_identifier_underscore_test ... ok [INFO] [stdout] test parser::identifier::test::parse_identifier_alphanumeric_test ... ok [INFO] [stdout] test parser::literal::array::fail_parse_array_mismatched_literal_test ... ok [INFO] [stdout] test parser::identifier::test::parse_fail_new_id_reserved_word ... ok [INFO] [stdout] test parser::identifier::test::parse_fail_new_id_reserved_character ... ok [INFO] [stdout] test parser::literal::array::parse_array_bool_test ... ok [INFO] [stdout] test parser::function::test::parse_whole_function_identifier_input_returns_number_test ... ok [INFO] [stdout] test parser::function::test::parse_whole_function_number_input_returns_number_test ... ok [INFO] [stdout] test parser::identifier::test::parse_succeed_new_id_reserved_word ... ok [INFO] [stdout] test parser::literal::array::parse_array_bool_literal_test ... ok [INFO] [stdout] test parser::literal::array::parse_array_multiple_bool_literal_test ... ok [INFO] [stdout] test parser::literal::array::parse_array_range ... ok [INFO] [stdout] test parser::literal::array::parse_array_multiple_number_literal_test ... ok [INFO] [stdout] test parser::literal::number::parse_number_literal_test ... ok [INFO] [stdout] test parser::literal::string::parse_string_literal_test ... ok [INFO] [stdout] test parser::literal::float::parse_float_test ... ok [INFO] [stdout] test parser::literal::string::parse_string_test ... ok [INFO] [stdout] test parser::literal::test::literal_can_capture_number ... ok [INFO] [stdout] test parser::literal::test::literal_captures_float_before_number ... ok [INFO] [stdout] test parser::literal::test::verify_literal_with_escapes_in_strings ... ok [INFO] [stdout] test parser::structure::test::parse_new_struct ... ok [INFO] [stdout] test parser::structure::test::parse_struct_definition ... ok [INFO] [stdout] test parser::test::parse_program_with_array_access ... ok [INFO] [stdout] test parser::test::parse_program_with_array_assignment ... ok [INFO] [stdout] test parser::test::parse_program_with_if_test ... ok [INFO] [stdout] test parser::test::parse_program_with_only_identifier_test ... ok [INFO] [stdout] test parser::test::parse_program_with_struct_access_and_assignment ... ok [INFO] [stdout] test parser::test::parse_program_with_struct_creation ... ok [INFO] [stdout] test parser::test::parse_program_with_struct_definition ... ok [INFO] [stdout] test parser::test::parse_program_with_struct_instance_creation_and_assignment ... ok [INFO] [stdout] test parser::body::parse_body_nocheck_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::conditional_test ... ok [INFO] [stdout] test parser::literal::number::parse_number_test ... ok [INFO] [stdout] test parser::identifier::test::parse_new_id ... ok [INFO] [stdout] test preprocessor::test::escape_escapes ... ok [INFO] [stdout] test parser::test::verify_program_with_escapes_in_strings ... ok [INFO] [stdout] test preprocessor::test::preprocess_simple_program_bench ... ok [INFO] [stdout] test parser::test::parse_simple_program_bench ... ok [INFO] [stdout] test testing::integration_tests::test::benches::array_range_parse_and_execute_program_bench ... ok [INFO] [stdout] test parser::literal::string::parse_string_literal_with_escape_sequences ... ok [INFO] [stdout] test parser::expressions::test::parse_array_access_on_new_array_test ... ok [INFO] [stdout] test parser::literal::boolean::parse_bool_literal_test ... ok [INFO] [stdout] test parser::literal::string::parse_string_literal_with_escape_sequences_2 ... ok [INFO] [stdout] test parser::literal::test::space_in_float_causes_number_parse_instead ... ok [INFO] [stdout] test testing::integration_tests::test::benches::simple_program_execute_bench ... ok [INFO] [stdout] test parser::test::parse_simple_program_and_validate_ast_test ... ok [INFO] [stdout] test testing::integration_tests::test::benches::array_range_then_access_parse_and_execute_program_bench ... ok [INFO] [stdout] test parser::function::test::parse_whole_function_identifier_input_returns_array_test ... ok [INFO] [stdout] test testing::integration_tests::test::benches::similar_to_for_no_array_access_without_while_loop_parse_and_execute_program_bench ... ok [INFO] [stdout] test std_functions::expect_print_function_to_be_added_to_global_map ... ok [INFO] [stdout] test testing::integration_tests::test::benches::while_loop_similar_to_for_no_array_access_with_id_conditional_parse_and_execute_program_bench ... ok [INFO] [stdout] test testing::integration_tests::test::for_loop_eval ... ok [INFO] [stdout] test parser::test::preprocess_and_parse_simple_program_bench ... ok [INFO] [stdout] test ast::type_checking::test::mutability_const_reassignment_throws_error ... ok [INFO] [stdout] test testing::integration_tests::test::benches::simple_program_parse_and_execute_bench ... ok [INFO] [stdout] test testing::integration_tests::test::program_function_internals_does_not_clobber_outer_stack_integration_test ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_and_execute_integration_test_2 ... ok [INFO] [stdout] test testing::integration_tests::test::program_if_test ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_and_execute_integration_test_1 ... ok [INFO] [stdout] test testing::integration_tests::test::benches::while_loop_parse_and_execute_program_bench ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_and_execute_integration_test_3 ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_and_verify_array_test ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_literal_test ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_struct_and_access_field ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::function_hoisting_test ... ok [INFO] [stdout] test ast::type_checking::test::throw_error_on_type_mismatch_assignment ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_struct_and_access_field_via_assignment ... ok [INFO] [stdout] test testing::integration_tests::test::program_string_coercion_integration_test ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_struct_and_something_after_it ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_struct_with_multiple_fields_and_return_struct_from_function_with_internal_assignment ... ok [INFO] [stdout] test testing::integration_tests::test::program_verify_that_struct_maps_dont_interfere_with_global_stack_map ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_struct_with_multiple_fields_and_return_struct_from_function ... ok [INFO] [stdout] test testing::integration_tests::test::program_while_loop_false_test ... ok [INFO] [stdout] test testing::integration_tests::test::benches::while_loop_with_useless_conditionals_parse_and_execute_program_bench ... ok [INFO] [stdout] test testing::integration_tests::test::program_with_a_conditional_in_a_function_2_integration_test ... ok [INFO] [stdout] test testing::integration_tests::test::program_with_struct_functions_integration_test ... ok [INFO] [stdout] test testing::integration_tests::test::program_while_loop_test ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_and_execute_integration_test_4 ... ok [INFO] [stdout] test testing::integration_tests::test::program_multiple_parameter_function_integration_test ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_struct_with_multiple_fields_and_access_fields_in_expression ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_struct_with_multiple_fields_and_access_fields_in_function ... ok [INFO] [stdout] test testing::integration_tests::test::program_verify_that_struct_maps_dont_interfere_with_function_maps ... ok [INFO] [stdout] test testing::integration_tests::test::program_with_a_conditional_in_a_function_integration_test ... ok [INFO] [stdout] test testing::integration_tests::test::benches::for_loop_alt_parse_and_execute_program_bench ... ok [INFO] [stdout] test testing::integration_tests::test::benches::while_loop_similar_to_for_no_array_access_parse_and_execute_program_bench ... ok [INFO] [stdout] test testing::integration_tests::test::benches::while_loop_similar_to_for_parse_and_execute_program_bench ... ok [INFO] [stdout] test testing::integration_tests::test::benches::for_loop_parse_and_execute_program_bench ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 179 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4afd517ce9cfb28aa9ec9c17d0425f8e21ee15f6240c04e94965a2a55a6c1351", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4afd517ce9cfb28aa9ec9c17d0425f8e21ee15f6240c04e94965a2a55a6c1351", kill_on_drop: false }` [INFO] [stdout] 4afd517ce9cfb28aa9ec9c17d0425f8e21ee15f6240c04e94965a2a55a6c1351