[INFO] cloning repository hgzimmerman/HLWNPA [INFO] running `"git" "clone" "--bare" "git://github.com/hgzimmerman/HLWNPA.git" "work/cache/sources/gh/hgzimmerman/HLWNPA"` [INFO] [stderr] Cloning into bare repository 'work/cache/sources/gh/hgzimmerman/HLWNPA'... [INFO] running `"git" "clone" "work/cache/sources/gh/hgzimmerman/HLWNPA" "work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/gh/hgzimmerman/HLWNPA"` [INFO] [stderr] Cloning into 'work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/gh/hgzimmerman/HLWNPA'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/hgzimmerman/HLWNPA" "work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/gh/hgzimmerman/HLWNPA"` [INFO] [stderr] Cloning into 'work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/gh/hgzimmerman/HLWNPA'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 5fd0648e66968a0a625d1bc107791795e035eb88 [INFO] sha for GitHub repo hgzimmerman/HLWNPA: 5fd0648e66968a0a625d1bc107791795e035eb88 [INFO] validating manifest of hgzimmerman/HLWNPA on toolchain master#c8865d8e195813ade6b84434ac9f8850e7112d1a [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c8865d8e195813ade6b84434ac9f8850e7112d1a-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of hgzimmerman/HLWNPA on toolchain try#e212b7d492c96d3837691ba29d32d5f468933fb8 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing hgzimmerman/HLWNPA [INFO] finished frobbing hgzimmerman/HLWNPA [INFO] frobbed toml for hgzimmerman/HLWNPA written to work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/gh/hgzimmerman/HLWNPA/Cargo.toml [INFO] started frobbing hgzimmerman/HLWNPA [INFO] finished frobbing hgzimmerman/HLWNPA [INFO] frobbed toml for hgzimmerman/HLWNPA written to work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/gh/hgzimmerman/HLWNPA/Cargo.toml [INFO] crate hgzimmerman/HLWNPA already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c8865d8e195813ade6b84434ac9f8850e7112d1a-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing hgzimmerman/HLWNPA against try#e212b7d492c96d3837691ba29d32d5f468933fb8 for pr-61629 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61629/worker-4/try#e212b7d492c96d3837691ba29d32d5f468933fb8:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/gh/hgzimmerman/HLWNPA:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "build" "--frozen"` [INFO] [stdout] e74b12534593d2ce7bafde94266bfc6435ec6213d0df191df5ac58b61a77539a [INFO] running `"docker" "start" "-a" "e74b12534593d2ce7bafde94266bfc6435ec6213d0df191df5ac58b61a77539a"` [INFO] [stderr] Compiling libc v0.2.30 [INFO] [stderr] Compiling unicode-segmentation v1.2.0 [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/crater/workdir) [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 25 | / named!(op_and_rhs<(Operator, Option)>, [INFO] [stderr] 26 | | alt_complete!( [INFO] [stderr] 27 | | do_parse!( [INFO] [stderr] 28 | | op: arithmetic_binary_operator >> [INFO] [stderr] ... | [INFO] [stderr] 36 | | ) [INFO] [stderr] 37 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 56 | / named!( array_index<(Operator, Option)>, [INFO] [stderr] 57 | | do_parse!( [INFO] [stderr] 58 | | index: delimited!( [INFO] [stderr] 59 | | ws!(char!('[')), [INFO] [stderr] ... | [INFO] [stderr] 64 | | ) [INFO] [stderr] 65 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 68 | / named!( struct_field<(Operator, Option)>, [INFO] [stderr] 69 | | do_parse!( [INFO] [stderr] 70 | | tag!(".") >> [INFO] [stderr] 71 | | field: identifier >> [INFO] [stderr] 72 | | ( (Operator::StructAccess, Some(field)) ) [INFO] [stderr] 73 | | ) [INFO] [stderr] 74 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 13 | / named!(pub array_literal, [INFO] [stderr] 14 | | do_parse!( [INFO] [stderr] 15 | | array: delimited!( [INFO] [stderr] 16 | | ws!(char!('[')), [INFO] [stderr] ... | [INFO] [stderr] 48 | | ) [INFO] [stderr] 49 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 59 | / named!(pub array_range, [INFO] [stderr] 60 | | delimited!( [INFO] [stderr] 61 | | char!('['), [INFO] [stderr] 62 | | do_parse!( [INFO] [stderr] ... | [INFO] [stderr] 69 | | ) [INFO] [stderr] 70 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 21 | / named!(pub literal, [INFO] [stderr] 22 | | alt_complete!( [INFO] [stderr] 23 | | array_literal | [INFO] [stderr] 24 | | array_range | [INFO] [stderr] ... | [INFO] [stderr] 29 | | ) [INFO] [stderr] 30 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] 12 | | /// nor contains a keyword. [INFO] [stderr] 13 | | /// [INFO] [stderr] 14 | | /// This is used in the sexpr parser, as anything that could parse an expression could blow up the [INFO] [stderr] 15 | | /// stack, and that parser isn't interested in evaluating assignments, function definitions, etc... [INFO] [stderr] | |___________________________________________________________________________________________________^ [INFO] [stderr] 16 | / named!(pub no_keyword_token_group , [INFO] [stderr] 17 | | alt_complete!( [INFO] [stderr] 18 | | literal | [INFO] [stderr] 19 | | identifier | [INFO] [stderr] ... | [INFO] [stderr] 23 | | ) [INFO] [stderr] 24 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 35 | / named!(pub type_assignment, [INFO] [stderr] 36 | | do_parse!( [INFO] [stderr] 37 | | id: identifier >> [INFO] [stderr] 38 | | tag!(":") >> [INFO] [stderr] ... | [INFO] [stderr] 41 | | ) [INFO] [stderr] 42 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 45 | / named!(pub struct_value_assignment, [INFO] [stderr] 46 | | do_parse!( [INFO] [stderr] 47 | | id: identifier >> [INFO] [stderr] 48 | | tag!(":") >> [INFO] [stderr] ... | [INFO] [stderr] 51 | | ) [INFO] [stderr] 52 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | / named!(pub type_signature, [INFO] [stderr] 8 | | ws!(alt!(number_ts | string_ts | bool_ts | array_ts | custom_ts )) [INFO] [stderr] 9 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 13 | / named!(function_return_type, [INFO] [stderr] 14 | | do_parse!( [INFO] [stderr] 15 | | ws!(tag!("->")) >> [INFO] [stderr] 16 | | return_type: complete!(type_signature) >> [INFO] [stderr] ... | [INFO] [stderr] 19 | | ) [INFO] [stderr] 20 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 23 | / named!(pub function, [INFO] [stderr] 24 | | do_parse!( [INFO] [stderr] 25 | | ws!(tag!("fn")) >> [INFO] [stderr] 26 | | function_name: identifier >> [INFO] [stderr] ... | [INFO] [stderr] 47 | | ) [INFO] [stderr] 48 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 36 | / named!(pub type_assignment_body, [INFO] [stderr] 37 | | do_parse!( [INFO] [stderr] 38 | | statements : delimited!( [INFO] [stderr] 39 | | ws!(char!('{')), [INFO] [stderr] ... | [INFO] [stderr] 44 | | ) [INFO] [stderr] 45 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] 48 | | /// Used for creating a struct's type. [INFO] [stderr] | |______________________________________^ [INFO] [stderr] 49 | / named!(pub struct_init_body, [INFO] [stderr] 50 | | do_parse!( [INFO] [stderr] 51 | | statements : delimited!( [INFO] [stderr] 52 | | ws!(char!('{')), [INFO] [stderr] ... | [INFO] [stderr] 57 | | ) [INFO] [stderr] 58 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 38 | / named!(any_ast, [INFO] [stderr] 39 | | alt_complete!( [INFO] [stderr] 40 | | sexpr | // works as a stand in for tokens groups captured no_keyword_token_group [INFO] [stderr] 41 | | include | [INFO] [stderr] ... | [INFO] [stderr] 47 | | ) // Order is very important here [INFO] [stderr] 48 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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: `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] = note: #[warn(unused_imports)] on by default [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: unused variable: `identifier` [INFO] [stderr] --> src/ast/abstract_syntax_tree.rs:559:36 [INFO] [stderr] | [INFO] [stderr] 559 | Datatype::StructType { ref identifier, ref type_information } => { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [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:49 [INFO] [stderr] | [INFO] [stderr] 685 | ref type_info [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [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:71 [INFO] [stderr] | [INFO] [stderr] 753 | if let &Datatype::StructType{ ref identifier, ref type_information } = datatype { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `identifier: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `identifier` [INFO] [stderr] --> src/ast/type_info.rs:54:75 [INFO] [stderr] | [INFO] [stderr] 54 | if let SExpression::TypeAssignment{ref identifier, ref type_info} = *s_expression { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [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:36 [INFO] [stderr] | [INFO] [stderr] 129 | TypeInfo::Function{ref parameters, ref return_type} => { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [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:52 [INFO] [stderr] | [INFO] [stderr] 129 | TypeInfo::Function{ref parameters, ref return_type} => { [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `return_type: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ast` [INFO] [stderr] --> src/ast/mutability.rs:54:65 [INFO] [stderr] | [INFO] [stderr] 54 | SExpression::Assignment{ref identifier, ref ast} => { // a := 5 [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `ast: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ast` [INFO] [stderr] --> src/ast/mutability.rs:68:72 [INFO] [stderr] | [INFO] [stderr] 68 | SExpression::ConstDeclaration {ref identifier, ref ast} => { // const a := 5 [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `ast: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ast` [INFO] [stderr] --> src/ast/mutability.rs:80:76 [INFO] [stderr] | [INFO] [stderr] 80 | SExpression::VariableDeclaration { ref identifier, ref ast } => { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `ast: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `function_datatype` [INFO] [stderr] --> src/ast/mutability.rs:97:72 [INFO] [stderr] | [INFO] [stderr] 97 | SExpression::DeclareFunction { ref identifier, ref function_datatype } => { [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [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:74 [INFO] [stderr] | [INFO] [stderr] 109 | SExpression::StructDeclaration { ref identifier, ref struct_type_info} => { [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [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:65 [INFO] [stderr] | [INFO] [stderr] 130 | Mutability::Mutable(ref lhs_type) => { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing 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: consider prefixing 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: consider prefixing 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: consider prefixing with an underscore: `_lhs_mutability` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/ast/type_checking.rs:308:29 [INFO] [stderr] | [INFO] [stderr] 308 | ref index [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [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:29 [INFO] [stderr] | [INFO] [stderr] 386 | ref struct_datatype [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [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:62 [INFO] [stderr] | [INFO] [stderr] 390 | if let TypeInfo::Struct{ ref map } = existing_struct_type.clone().get_type() { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `map: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `field_identifier` [INFO] [stderr] --> src/ast/type_checking.rs:400:29 [INFO] [stderr] | [INFO] [stderr] 400 | ref field_identifier [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `field_identifier: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `identifier` [INFO] [stderr] --> src/ast/type_checking.rs:399:29 [INFO] [stderr] | [INFO] [stderr] 399 | ref identifier, [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the 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:1 [INFO] [stderr] | [INFO] [stderr] 57 | fn get_type_from_ast(ast: Ast) -> TypeInfo { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 23.96s [INFO] running `"docker" "inspect" "e74b12534593d2ce7bafde94266bfc6435ec6213d0df191df5ac58b61a77539a"` [INFO] running `"docker" "rm" "-f" "e74b12534593d2ce7bafde94266bfc6435ec6213d0df191df5ac58b61a77539a"` [INFO] [stdout] e74b12534593d2ce7bafde94266bfc6435ec6213d0df191df5ac58b61a77539a [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61629/worker-4/try#e212b7d492c96d3837691ba29d32d5f468933fb8:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/gh/hgzimmerman/HLWNPA:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "test" "--frozen" "--no-run"` [INFO] [stdout] af824a9f40240a4229bbb4916903ab0897ee94e214782f7be0146f7af8ce05d9 [INFO] running `"docker" "start" "-a" "af824a9f40240a4229bbb4916903ab0897ee94e214782f7be0146f7af8ce05d9"` [INFO] [stderr] Compiling hlwnpa v0.1.1 (/opt/crater/workdir) [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 25 | / named!(op_and_rhs<(Operator, Option)>, [INFO] [stderr] 26 | | alt_complete!( [INFO] [stderr] 27 | | do_parse!( [INFO] [stderr] 28 | | op: arithmetic_binary_operator >> [INFO] [stderr] ... | [INFO] [stderr] 36 | | ) [INFO] [stderr] 37 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 56 | / named!( array_index<(Operator, Option)>, [INFO] [stderr] 57 | | do_parse!( [INFO] [stderr] 58 | | index: delimited!( [INFO] [stderr] 59 | | ws!(char!('[')), [INFO] [stderr] ... | [INFO] [stderr] 64 | | ) [INFO] [stderr] 65 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 68 | / named!( struct_field<(Operator, Option)>, [INFO] [stderr] 69 | | do_parse!( [INFO] [stderr] 70 | | tag!(".") >> [INFO] [stderr] 71 | | field: identifier >> [INFO] [stderr] 72 | | ( (Operator::StructAccess, Some(field)) ) [INFO] [stderr] 73 | | ) [INFO] [stderr] 74 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 13 | / named!(pub array_literal, [INFO] [stderr] 14 | | do_parse!( [INFO] [stderr] 15 | | array: delimited!( [INFO] [stderr] 16 | | ws!(char!('[')), [INFO] [stderr] ... | [INFO] [stderr] 48 | | ) [INFO] [stderr] 49 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 59 | / named!(pub array_range, [INFO] [stderr] 60 | | delimited!( [INFO] [stderr] 61 | | char!('['), [INFO] [stderr] 62 | | do_parse!( [INFO] [stderr] ... | [INFO] [stderr] 69 | | ) [INFO] [stderr] 70 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 21 | / named!(pub literal, [INFO] [stderr] 22 | | alt_complete!( [INFO] [stderr] 23 | | array_literal | [INFO] [stderr] 24 | | array_range | [INFO] [stderr] ... | [INFO] [stderr] 29 | | ) [INFO] [stderr] 30 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] 12 | | /// nor contains a keyword. [INFO] [stderr] 13 | | /// [INFO] [stderr] 14 | | /// This is used in the sexpr parser, as anything that could parse an expression could blow up the [INFO] [stderr] 15 | | /// stack, and that parser isn't interested in evaluating assignments, function definitions, etc... [INFO] [stderr] | |___________________________________________________________________________________________________^ [INFO] [stderr] 16 | / named!(pub no_keyword_token_group , [INFO] [stderr] 17 | | alt_complete!( [INFO] [stderr] 18 | | literal | [INFO] [stderr] 19 | | identifier | [INFO] [stderr] ... | [INFO] [stderr] 23 | | ) [INFO] [stderr] 24 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 35 | / named!(pub type_assignment, [INFO] [stderr] 36 | | do_parse!( [INFO] [stderr] 37 | | id: identifier >> [INFO] [stderr] 38 | | tag!(":") >> [INFO] [stderr] ... | [INFO] [stderr] 41 | | ) [INFO] [stderr] 42 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 45 | / named!(pub struct_value_assignment, [INFO] [stderr] 46 | | do_parse!( [INFO] [stderr] 47 | | id: identifier >> [INFO] [stderr] 48 | | tag!(":") >> [INFO] [stderr] ... | [INFO] [stderr] 51 | | ) [INFO] [stderr] 52 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | / named!(pub type_signature, [INFO] [stderr] 8 | | ws!(alt!(number_ts | string_ts | bool_ts | array_ts | custom_ts )) [INFO] [stderr] 9 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 13 | / named!(function_return_type, [INFO] [stderr] 14 | | do_parse!( [INFO] [stderr] 15 | | ws!(tag!("->")) >> [INFO] [stderr] 16 | | return_type: complete!(type_signature) >> [INFO] [stderr] ... | [INFO] [stderr] 19 | | ) [INFO] [stderr] 20 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 23 | / named!(pub function, [INFO] [stderr] 24 | | do_parse!( [INFO] [stderr] 25 | | ws!(tag!("fn")) >> [INFO] [stderr] 26 | | function_name: identifier >> [INFO] [stderr] ... | [INFO] [stderr] 47 | | ) [INFO] [stderr] 48 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 36 | / named!(pub type_assignment_body, [INFO] [stderr] 37 | | do_parse!( [INFO] [stderr] 38 | | statements : delimited!( [INFO] [stderr] 39 | | ws!(char!('{')), [INFO] [stderr] ... | [INFO] [stderr] 44 | | ) [INFO] [stderr] 45 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] 48 | | /// Used for creating a struct's type. [INFO] [stderr] | |______________________________________^ [INFO] [stderr] 49 | / named!(pub struct_init_body, [INFO] [stderr] 50 | | do_parse!( [INFO] [stderr] 51 | | statements : delimited!( [INFO] [stderr] 52 | | ws!(char!('{')), [INFO] [stderr] ... | [INFO] [stderr] 57 | | ) [INFO] [stderr] 58 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 38 | / named!(any_ast, [INFO] [stderr] 39 | | alt_complete!( [INFO] [stderr] 40 | | sexpr | // works as a stand in for tokens groups captured no_keyword_token_group [INFO] [stderr] 41 | | include | [INFO] [stderr] ... | [INFO] [stderr] 47 | | ) // Order is very important here [INFO] [stderr] 48 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [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: 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: unused variable: `identifier` [INFO] [stderr] --> src/ast/abstract_syntax_tree.rs:559:36 [INFO] [stderr] | [INFO] [stderr] 559 | Datatype::StructType { ref identifier, ref type_information } => { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [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:49 [INFO] [stderr] | [INFO] [stderr] 685 | ref type_info [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [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:71 [INFO] [stderr] | [INFO] [stderr] 753 | if let &Datatype::StructType{ ref identifier, ref type_information } = datatype { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `identifier: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `identifier` [INFO] [stderr] --> src/ast/type_info.rs:54:75 [INFO] [stderr] | [INFO] [stderr] 54 | if let SExpression::TypeAssignment{ref identifier, ref type_info} = *s_expression { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [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:36 [INFO] [stderr] | [INFO] [stderr] 129 | TypeInfo::Function{ref parameters, ref return_type} => { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [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:52 [INFO] [stderr] | [INFO] [stderr] 129 | TypeInfo::Function{ref parameters, ref return_type} => { [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `return_type: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ast` [INFO] [stderr] --> src/ast/mutability.rs:54:65 [INFO] [stderr] | [INFO] [stderr] 54 | SExpression::Assignment{ref identifier, ref ast} => { // a := 5 [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `ast: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ast` [INFO] [stderr] --> src/ast/mutability.rs:68:72 [INFO] [stderr] | [INFO] [stderr] 68 | SExpression::ConstDeclaration {ref identifier, ref ast} => { // const a := 5 [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `ast: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ast` [INFO] [stderr] --> src/ast/mutability.rs:80:76 [INFO] [stderr] | [INFO] [stderr] 80 | SExpression::VariableDeclaration { ref identifier, ref ast } => { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `ast: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `function_datatype` [INFO] [stderr] --> src/ast/mutability.rs:97:72 [INFO] [stderr] | [INFO] [stderr] 97 | SExpression::DeclareFunction { ref identifier, ref function_datatype } => { [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [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:74 [INFO] [stderr] | [INFO] [stderr] 109 | SExpression::StructDeclaration { ref identifier, ref struct_type_info} => { [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [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:65 [INFO] [stderr] | [INFO] [stderr] 130 | Mutability::Mutable(ref lhs_type) => { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing 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: consider prefixing 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: consider prefixing 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: consider prefixing with an underscore: `_lhs_mutability` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/ast/type_checking.rs:308:29 [INFO] [stderr] | [INFO] [stderr] 308 | ref index [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [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:29 [INFO] [stderr] | [INFO] [stderr] 386 | ref struct_datatype [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [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:62 [INFO] [stderr] | [INFO] [stderr] 390 | if let TypeInfo::Struct{ ref map } = existing_struct_type.clone().get_type() { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `map: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `field_identifier` [INFO] [stderr] --> src/ast/type_checking.rs:400:29 [INFO] [stderr] | [INFO] [stderr] 400 | ref field_identifier [INFO] [stderr] | ----^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `field_identifier: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `identifier` [INFO] [stderr] --> src/ast/type_checking.rs:399:29 [INFO] [stderr] | [INFO] [stderr] 399 | ref identifier, [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the 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:1 [INFO] [stderr] | [INFO] [stderr] 57 | fn get_type_from_ast(ast: Ast) -> TypeInfo { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 8.94s [INFO] running `"docker" "inspect" "af824a9f40240a4229bbb4916903ab0897ee94e214782f7be0146f7af8ce05d9"` [INFO] running `"docker" "rm" "-f" "af824a9f40240a4229bbb4916903ab0897ee94e214782f7be0146f7af8ce05d9"` [INFO] [stdout] af824a9f40240a4229bbb4916903ab0897ee94e214782f7be0146f7af8ce05d9 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61629/worker-4/try#e212b7d492c96d3837691ba29d32d5f468933fb8:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/gh/hgzimmerman/HLWNPA:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "test" "--frozen"` [INFO] [stdout] 5e7b65824e6fff21bb04a7c9a5ec1eac7020871f8ade8566cd3c6d8c97634014 [INFO] running `"docker" "start" "-a" "5e7b65824e6fff21bb04a7c9a5ec1eac7020871f8ade8566cd3c6d8c97634014"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running /opt/crater/target/debug/deps/hlwnpa-24fef7f374e657f7 [INFO] [stdout] [INFO] [stdout] running 179 tests [INFO] [stdout] test ast::abstract_syntax_tree::test::array_access_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::equality_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::array_incorrect_access_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::function_hoisting_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::assignment_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::function_with_parameter_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::division_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::conditional_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::division_by_zero_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::function_with_two_parameters_addition_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::greater_than_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::modulo_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::minus_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::minus_negative_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::less_than_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::less_than_or_equal_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::integer_division_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::multiplication_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::plus_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::reassignment_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::string_plus_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::struct_creation_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::struct_declaration_test ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::variable_copy_test ... ok [INFO] [stdout] test ast::datatype::datatype_equality_tests ... ok [INFO] [stdout] test ast::type_checking::test::array_is_array ... ok [INFO] [stdout] test ast::type_checking::test::array_type_mismatch ... ok [INFO] [stdout] test ast::type_checking::test::assignment_is_of_type_string ... ok [INFO] [stdout] test ast::type_checking::test::different_type_reassignment ... ok [INFO] [stdout] test ast::type_checking::test::mutability_const_reassignment_throws_error ... ok [INFO] [stdout] test ast::type_checking::test::mutability_const_redeclaration_throws_error ... ok [INFO] [stdout] test ast::type_checking::test::mutability_function_reassignment_throws_error ... ok [INFO] [stdout] test ast::type_checking::test::number_is_number ... ok [INFO] [stdout] test ast::type_checking::test::number_plus_float_plus_number_is_a_float ... ok [INFO] [stdout] test ast::abstract_syntax_tree::test::greater_than_or_equal_test ... ok [INFO] [stdout] test ast::type_checking::test::string_is_string ... ok [INFO] [stdout] test ast::type_checking::test::throw_error_on_function_execution ... 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_type_mismatch_assignment ... ok [INFO] [stdout] test ast::type_checking::test::throw_error_on_unsupported_division ... ok [INFO] [stdout] test ast::type_checking::test::throw_error_on_type_mismatch_self_addition_assignment ... ok [INFO] [stdout] test ast::type_checking::test::type_check_function_execution ... ok [INFO] [stdout] test ast::type_info::test::comparison_type_info ... ok [INFO] [stdout] test parser::body::parse_body_nocheck_test ... ok [INFO] [stdout] test parser::assignment::test::parse_type_assignment_of_number_test ... ok [INFO] [stdout] test ast::type_info::test::convert_parameter_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::convert_fn_to_type ... ok [INFO] [stdout] test ast::type_info::test::comparison_type_info_with_operations ... ok [INFO] [stdout] test parser::body::parse_simple_body_assignment_test ... ok [INFO] [stdout] test parser::body::parse_simple_body_test ... ok [INFO] [stdout] test parser::control_flow::for_loop::test::for_loop_parse ... ok [INFO] [stdout] test parser::control_flow::if_expression::test::parse_if_else_statement_test ... ok [INFO] [stdout] test parser::control_flow::if_expression::test::parse_if_statement_test ... ok [INFO] [stdout] test parser::control_flow::if_expression::test::parse_if_statement_with_expression_test ... ok [INFO] [stdout] test parser::control_flow::while_loop::test::parse_while_loop_2 ... ok [INFO] [stdout] test parser::control_flow::while_loop::test::parse_while_loop_test ... ok [INFO] [stdout] test parser::expressions::test::expr_precedence_mult_before_add ... ok [INFO] [stdout] test parser::expressions::test::multiple_dimensional_array_access ... ok [INFO] [stdout] test parser::expressions::test::new_sexpr_precedence_parse ... ok [INFO] [stdout] test parser::expressions::test::new_sexpr_single_literal ... ok [INFO] [stdout] test parser::expressions::test::parse_array_access_on_new_array_test ... ok [INFO] [stdout] test parser::expressions::test::parse_array_access_test ... ok [INFO] [stdout] test parser::expressions::test::parse_struct_access_name ... ok [INFO] [stdout] test parser::expressions::test::sexpr_add_mult_add ... ok [INFO] [stdout] test parser::expressions::test::sexpr_add_with_increment ... ok [INFO] [stdout] test parser::expressions::test::sexpr_add_with_increment_first ... ok [INFO] [stdout] test parser::expressions::test::sexpr_eq_and_ineq_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_identifier_addition ... ok [INFO] [stdout] test parser::assignment::test::parse_assignment_of_literal_test ... ok [INFO] [stdout] test parser::expressions::test::sexpr_multi_mult ... ok [INFO] [stdout] test parser::expressions::test::sexpr_multi_mult_four_terms ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parens_negate_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parens_negate_parse_1 ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parens_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parens_rhs_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parens_triple_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_increment ... 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_parse_logical_or ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parse_negate ... ok [INFO] [stdout] test parser::expressions::test::sexpr_parse_negate_then_add ... ok [INFO] [stdout] test parser::expressions::test::sexpr_precedence_1_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_4_parse ... 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_precedence_8_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_precedence_9_parse ... ok [INFO] [stdout] test parser::expressions::test::sexpr_precedence_mult_then_divide_parse ... ok [INFO] [stdout] test parser::function::test::parse_whole_function_identifier_input_returns_array_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_fail_new_id_contains_reserved_character ... ok [INFO] [stdout] test parser::identifier::test::parse_fail_new_id_reserved_character ... ok [INFO] [stdout] test parser::identifier::test::parse_fail_new_id_reserved_word ... ok [INFO] [stdout] test parser::identifier::test::parse_identifier_alphanumeric_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_new_id ... ok [INFO] [stdout] test parser::identifier::test::parse_succeed_new_id_reserved_word ... ok [INFO] [stdout] test parser::literal::array::fail_parse_array_mismatched_literal_test ... ok [INFO] [stdout] test parser::literal::array::parse_array_bool_literal_test ... ok [INFO] [stdout] test parser::literal::array::parse_array_bool_test ... ok [INFO] [stdout] test parser::literal::array::parse_array_multiple_bool_literal_test ... ok [INFO] [stdout] test parser::literal::array::parse_array_multiple_number_literal_test ... ok [INFO] [stdout] test parser::literal::array::parse_array_range ... ok [INFO] [stdout] test parser::literal::boolean::parse_bool_literal_test ... ok [INFO] [stdout] test parser::literal::float::parse_float_test ... ok [INFO] [stdout] test parser::literal::number::parse_number_literal_test ... ok [INFO] [stdout] test parser::literal::number::parse_number_test ... ok [INFO] [stdout] test parser::literal::string::parse_string_literal_test ... ok [INFO] [stdout] test parser::literal::string::parse_string_literal_with_escape_sequences ... ok [INFO] [stdout] test parser::literal::string::parse_string_literal_with_escape_sequences_2 ... 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::space_in_float_causes_number_parse_instead ... 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::test::parse_simple_program_and_validate_ast_test ... ok [INFO] [stdout] test parser::test::parse_simple_program_bench ... ok [INFO] [stdout] test parser::test::preprocess_and_parse_simple_program_bench ... ok [INFO] [stdout] test preprocessor::test::preprocess_simple_program_bench ... ok [INFO] [stdout] test parser::test::verify_program_with_escapes_in_strings ... ok [INFO] [stdout] test preprocessor::test::escape_escapes ... ok [INFO] [stdout] test std_functions::expect_print_function_to_be_added_to_global_map ... ok [INFO] [stdout] test testing::integration_tests::test::benches::array_range_parse_and_execute_program_bench ... ok [INFO] [stdout] test testing::integration_tests::test::benches::array_range_then_access_parse_and_execute_program_bench ... 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 testing::integration_tests::test::benches::simple_program_execute_bench ... ok [INFO] [stdout] test testing::integration_tests::test::benches::simple_program_parse_and_execute_bench ... ok [INFO] [stdout] test testing::integration_tests::test::for_loop_eval ... 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_if_test ... ok [INFO] [stdout] test testing::integration_tests::test::program_multiple_parameter_function_integration_test ... 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_1 ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_and_execute_integration_test_2 ... 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_execute_integration_test_4 ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_and_verify_array_test ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_struct_and_access_field ... ok [INFO] [stdout] test testing::integration_tests::test::program_parse_literal_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_and_access_field_via_assignment ... 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_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_return_struct_from_function ... 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_string_coercion_integration_test ... 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::program_verify_that_struct_maps_dont_interfere_with_function_maps ... 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_while_loop_test ... 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::program_with_a_conditional_in_a_function_2_integration_test ... ok [INFO] [stdout] test testing::integration_tests::test::program_while_loop_false_test ... ok [INFO] [stdout] test testing::integration_tests::test::program_with_struct_functions_integration_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::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::benches::for_loop_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_alt_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 `"docker" "inspect" "5e7b65824e6fff21bb04a7c9a5ec1eac7020871f8ade8566cd3c6d8c97634014"` [INFO] running `"docker" "rm" "-f" "5e7b65824e6fff21bb04a7c9a5ec1eac7020871f8ade8566cd3c6d8c97634014"` [INFO] [stdout] 5e7b65824e6fff21bb04a7c9a5ec1eac7020871f8ade8566cd3c6d8c97634014