[INFO] cloning repository https://github.com/Fihtangolz/bigfoot [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Fihtangolz/bigfoot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFihtangolz%2Fbigfoot", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFihtangolz%2Fbigfoot'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7e4e7c26d7ebb4effa6815efef8590035aca43cd [INFO] checking Fihtangolz/bigfoot against try#f47dd4da3ae8c32c9e65d307bfe640b143e674df for pr-77526 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFihtangolz%2Fbigfoot" "/workspace/builds/worker-11/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-11/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Fihtangolz/bigfoot on toolchain f47dd4da3ae8c32c9e65d307bfe640b143e674df [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Fihtangolz/bigfoot [INFO] finished tweaking git repo https://github.com/Fihtangolz/bigfoot [INFO] tweaked toml for git repo https://github.com/Fihtangolz/bigfoot written to /workspace/builds/worker-11/source/Cargo.toml [INFO] crate git repo https://github.com/Fihtangolz/bigfoot already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 51233547c0a1a719a28e2b9c204927ae1559668156939fe3369b2390871f371b [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" "51233547c0a1a719a28e2b9c204927ae1559668156939fe3369b2390871f371b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "51233547c0a1a719a28e2b9c204927ae1559668156939fe3369b2390871f371b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "51233547c0a1a719a28e2b9c204927ae1559668156939fe3369b2390871f371b", kill_on_drop: false }` [INFO] [stdout] 51233547c0a1a719a28e2b9c204927ae1559668156939fe3369b2390871f371b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-11/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+f47dd4da3ae8c32c9e65d307bfe640b143e674df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a155d55502a863d9b004312bc1febd82f700149e3c5a5383d5eace744ed9b777 [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" "a155d55502a863d9b004312bc1febd82f700149e3c5a5383d5eace744ed9b777", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.6 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.11 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling pest_generator v2.1.1 [INFO] [stderr] Compiling pest_derive v2.1.0 [INFO] [stderr] Checking bigfoot v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: proc-macro derive panicked [INFO] [stdout] --> tests/return_statement.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Parser)] [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: message: grammar error [INFO] [stdout] [INFO] [stdout] --> 491:7 [INFO] [stdout] | [INFO] [stdout] 491 | | collection_type␊ [INFO] [stdout] | ^-------------^ [INFO] [stdout] | [INFO] [stdout] = rule collection_type is left-recursive (collection_type -> array_type -> data_type -> collection_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 628:5 [INFO] [stdout] | [INFO] [stdout] 628 | array_type␊ [INFO] [stdout] | ^--------^ [INFO] [stdout] | [INFO] [stdout] = rule array_type is left-recursive (array_type -> data_type -> collection_type -> array_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 629:7 [INFO] [stdout] | [INFO] [stdout] 629 | | multiset_type␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule multiset_type is left-recursive (multiset_type -> data_type -> collection_type -> multiset_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 632:5 [INFO] [stdout] | [INFO] [stdout] 632 | data_type ~ "ARRAY"␊ [INFO] [stdout] | ^-------^ [INFO] [stdout] | [INFO] [stdout] = rule data_type is left-recursive (data_type -> collection_type -> array_type -> data_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 650:7 [INFO] [stdout] | [INFO] [stdout] 650 | | nonparenthesized_value_expression_primary␊ [INFO] [stdout] | ^---------------------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule nonparenthesized_value_expression_primary is left-recursive (nonparenthesized_value_expression_primary -> field_reference -> value_expression_primary -> nonparenthesized_value_expression_primary); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 664:7 [INFO] [stdout] | [INFO] [stdout] 664 | | field_reference ␊ [INFO] [stdout] | ^-------------^ [INFO] [stdout] | [INFO] [stdout] = rule field_reference is left-recursive (field_reference -> value_expression_primary -> nonparenthesized_value_expression_primary -> field_reference); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 666:7 [INFO] [stdout] | [INFO] [stdout] 666 | | method_invocation ␊ [INFO] [stdout] | ^---------------^ [INFO] [stdout] | [INFO] [stdout] = rule method_invocation is left-recursive (method_invocation -> direct_invocation -> value_expression_primary -> nonparenthesized_value_expression_primary -> method_invocation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 669:7 [INFO] [stdout] | [INFO] [stdout] 669 | | attribute_or_method_reference ␊ [INFO] [stdout] | ^---------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule attribute_or_method_reference is left-recursive (attribute_or_method_reference -> value_expression_primary -> nonparenthesized_value_expression_primary -> attribute_or_method_reference); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 672:7 [INFO] [stdout] | [INFO] [stdout] 672 | | array_element_reference ␊ [INFO] [stdout] | ^---------------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_element_reference is left-recursive (array_element_reference -> array_value_expression -> array_primary -> value_expression_primary -> nonparenthesized_value_expression_primary -> array_element_reference); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1006:5 [INFO] [stdout] | [INFO] [stdout] 1006 | value_expression_primary ~ period ~ field_name ␊ [INFO] [stdout] | ^----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule value_expression_primary is left-recursive (value_expression_primary -> nonparenthesized_value_expression_primary -> field_reference -> value_expression_primary); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1023:5 [INFO] [stdout] | [INFO] [stdout] 1023 | direct_invocation ␊ [INFO] [stdout] | ^---------------^ [INFO] [stdout] | [INFO] [stdout] = rule direct_invocation is left-recursive (direct_invocation -> value_expression_primary -> nonparenthesized_value_expression_primary -> method_invocation -> direct_invocation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1184:7 [INFO] [stdout] | [INFO] [stdout] 1184 | | term ~ asterisk ~ factor ␊ [INFO] [stdout] | ^--^ [INFO] [stdout] | [INFO] [stdout] = rule term is left-recursive (term -> term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1357:5 [INFO] [stdout] | [INFO] [stdout] 1357 | concatenation␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule concatenation is left-recursive (concatenation -> character_value_expression -> concatenation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1361:5 [INFO] [stdout] | [INFO] [stdout] 1361 | character_value_expression ~ concatenation_operator ~ character_factor ␊ [INFO] [stdout] | ^------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule character_value_expression is left-recursive (character_value_expression -> concatenation -> character_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1371:5 [INFO] [stdout] | [INFO] [stdout] 1371 | binary_concatenation ␊ [INFO] [stdout] | ^------------------^ [INFO] [stdout] | [INFO] [stdout] = rule binary_concatenation is left-recursive (binary_concatenation -> binary_value_expression -> binary_concatenation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1382:5 [INFO] [stdout] | [INFO] [stdout] 1382 | binary_value_expression ~ concatenation_operator ~ binary_factor ␊ [INFO] [stdout] | ^---------------------^ [INFO] [stdout] | [INFO] [stdout] = rule binary_value_expression is left-recursive (binary_value_expression -> binary_concatenation -> binary_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1398:7 [INFO] [stdout] | [INFO] [stdout] 1398 | | datetime_value_expression ~ plus_sign ~ interval_term ␊ [INFO] [stdout] | ^-----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule datetime_value_expression is left-recursive (datetime_value_expression -> datetime_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1422:7 [INFO] [stdout] | [INFO] [stdout] 1422 | | boolean_value_expression ~ "OR" ~ boolean_term␊ [INFO] [stdout] | ^----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule boolean_value_expression is left-recursive (boolean_value_expression -> boolean_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1426:7 [INFO] [stdout] | [INFO] [stdout] 1426 | | boolean_term ~ "AND" ~ boolean_factor␊ [INFO] [stdout] | ^----------^ [INFO] [stdout] | [INFO] [stdout] = rule boolean_term is left-recursive (boolean_term -> boolean_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1453:5 [INFO] [stdout] | [INFO] [stdout] 1453 | array_concatenation ␊ [INFO] [stdout] | ^-----------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_concatenation is left-recursive (array_concatenation -> array_value_expression_1 -> array_value_expression -> array_concatenation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1454:7 [INFO] [stdout] | [INFO] [stdout] 1454 | | array_primary ␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule array_primary is left-recursive (array_primary -> value_expression_primary -> nonparenthesized_value_expression_primary -> array_element_reference -> array_value_expression -> array_primary); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1457:5 [INFO] [stdout] | [INFO] [stdout] 1457 | array_value_expression_1 ~ concatenation_operator ~ array_primary␊ [INFO] [stdout] | ^----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_value_expression_1 is left-recursive (array_value_expression_1 -> array_value_expression -> array_concatenation -> array_value_expression_1); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1460:5 [INFO] [stdout] | [INFO] [stdout] 1460 | array_value_expression ␊ [INFO] [stdout] | ^--------------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_value_expression is left-recursive (array_value_expression -> array_concatenation -> array_value_expression_1 -> array_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1496:7 [INFO] [stdout] | [INFO] [stdout] 1496 | | multiset_value_expression ~ "MULTISET" ~ "UNION" ~ ("ALL" | "DISTINCT") ~ multiset_term ␊ [INFO] [stdout] | ^-----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule multiset_value_expression is left-recursive (multiset_value_expression -> multiset_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1501:7 [INFO] [stdout] | [INFO] [stdout] 1501 | | multiset_term ~ "MULTISET" ~ "INTERSECT" ~ ("ALL" | "DISTINCT") ~ multiset_primary ␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule multiset_term is left-recursive (multiset_term -> multiset_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2052:7 [INFO] [stdout] | [INFO] [stdout] 2052 | | regular_expression ~ vertical_bar ~ regular_term␊ [INFO] [stdout] | ^----------------^ [INFO] [stdout] | [INFO] [stdout] = rule regular_expression is left-recursive (regular_expression -> regular_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2056:7 [INFO] [stdout] | [INFO] [stdout] 2056 | | regular_term ~ regular_factor␊ [INFO] [stdout] | ^----------^ [INFO] [stdout] | [INFO] [stdout] = rule regular_term is left-recursive (regular_term -> regular_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2982:7 [INFO] [stdout] | [INFO] [stdout] 2982 | | interval_value_expression_1 ~ plus_sign ~ interval_term_1 ␊ [INFO] [stdout] | ^-------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_value_expression_1 is left-recursive (interval_value_expression_1 -> interval_value_expression -> interval_value_expression_1); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2989:7 [INFO] [stdout] | [INFO] [stdout] 2989 | | interval_term_2 ~ asterisk ~ factor ␊ [INFO] [stdout] | ^-------------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_term_2 is left-recursive (interval_term_2 -> interval_term -> interval_term_2); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 3001:5 [INFO] [stdout] | [INFO] [stdout] 3001 | interval_value_expression ␊ [INFO] [stdout] | ^-----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_value_expression is left-recursive (interval_value_expression -> interval_value_expression_1 -> interval_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 3007:5 [INFO] [stdout] | [INFO] [stdout] 3007 | interval_term␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_term is left-recursive (interval_term -> interval_term_2 -> interval_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> tests/return_statement.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | rule: Rule::return_statement, [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> tests/return_statement.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | rule: Rule::return_statement, [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `SQLParser` in the current scope [INFO] [stdout] --> tests/return_statement.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct SQLParser; [INFO] [stdout] | ----------------- function or associated item `parse` not found for this [INFO] [stdout] ... [INFO] [stdout] 12 | / parses_to! { [INFO] [stdout] 13 | | parser: SQLParser, [INFO] [stdout] 14 | | input: "RETURN NULL", [INFO] [stdout] 15 | | rule: Rule::return_statement, [INFO] [stdout] ... | [INFO] [stdout] 20 | | ] [INFO] [stdout] 21 | | }; [INFO] [stdout] | |______^ function or associated item not found in `SQLParser` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `parse`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Parser` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `SQLParser` in the current scope [INFO] [stdout] --> tests/return_statement.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct SQLParser; [INFO] [stdout] | ----------------- function or associated item `parse` not found for this [INFO] [stdout] ... [INFO] [stdout] 26 | / parses_to! { [INFO] [stdout] 27 | | parser: SQLParser, [INFO] [stdout] 28 | | input: "RETURN TRUE", [INFO] [stdout] 29 | | rule: Rule::return_statement, [INFO] [stdout] ... | [INFO] [stdout] 34 | | ] [INFO] [stdout] 35 | | }; [INFO] [stdout] | |______^ function or associated item not found in `SQLParser` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `parse`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Parser` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0433, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stderr] error: could not compile `bigfoot` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: proc-macro derive panicked [INFO] [stdout] --> tests/datetime_value_function.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Parser)] [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: message: grammar error [INFO] [stdout] [INFO] [stdout] --> 491:7 [INFO] [stdout] | [INFO] [stdout] 491 | | collection_type␊ [INFO] [stdout] | ^-------------^ [INFO] [stdout] | [INFO] [stdout] = rule collection_type is left-recursive (collection_type -> array_type -> data_type -> collection_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 628:5 [INFO] [stdout] | [INFO] [stdout] 628 | array_type␊ [INFO] [stdout] | ^--------^ [INFO] [stdout] | [INFO] [stdout] = rule array_type is left-recursive (array_type -> data_type -> collection_type -> array_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 629:7 [INFO] [stdout] | [INFO] [stdout] 629 | | multiset_type␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule multiset_type is left-recursive (multiset_type -> data_type -> collection_type -> multiset_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 632:5 [INFO] [stdout] | [INFO] [stdout] 632 | data_type ~ "ARRAY"␊ [INFO] [stdout] | ^-------^ [INFO] [stdout] | [INFO] [stdout] = rule data_type is left-recursive (data_type -> collection_type -> array_type -> data_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 650:7 [INFO] [stdout] | [INFO] [stdout] 650 | | nonparenthesized_value_expression_primary␊ [INFO] [stdout] | ^---------------------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule nonparenthesized_value_expression_primary is left-recursive (nonparenthesized_value_expression_primary -> field_reference -> value_expression_primary -> nonparenthesized_value_expression_primary); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 664:7 [INFO] [stdout] | [INFO] [stdout] 664 | | field_reference ␊ [INFO] [stdout] | ^-------------^ [INFO] [stdout] | [INFO] [stdout] = rule field_reference is left-recursive (field_reference -> value_expression_primary -> nonparenthesized_value_expression_primary -> field_reference); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 666:7 [INFO] [stdout] | [INFO] [stdout] 666 | | method_invocation ␊ [INFO] [stdout] | ^---------------^ [INFO] [stdout] | [INFO] [stdout] = rule method_invocation is left-recursive (method_invocation -> direct_invocation -> value_expression_primary -> nonparenthesized_value_expression_primary -> method_invocation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 669:7 [INFO] [stdout] | [INFO] [stdout] 669 | | attribute_or_method_reference ␊ [INFO] [stdout] | ^---------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule attribute_or_method_reference is left-recursive (attribute_or_method_reference -> value_expression_primary -> nonparenthesized_value_expression_primary -> attribute_or_method_reference); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 672:7 [INFO] [stdout] | [INFO] [stdout] 672 | | array_element_reference ␊ [INFO] [stdout] | ^---------------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_element_reference is left-recursive (array_element_reference -> array_value_expression -> array_primary -> value_expression_primary -> nonparenthesized_value_expression_primary -> array_element_reference); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1006:5 [INFO] [stdout] | [INFO] [stdout] 1006 | value_expression_primary ~ period ~ field_name ␊ [INFO] [stdout] | ^----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule value_expression_primary is left-recursive (value_expression_primary -> nonparenthesized_value_expression_primary -> field_reference -> value_expression_primary); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1023:5 [INFO] [stdout] | [INFO] [stdout] 1023 | direct_invocation ␊ [INFO] [stdout] | ^---------------^ [INFO] [stdout] | [INFO] [stdout] = rule direct_invocation is left-recursive (direct_invocation -> value_expression_primary -> nonparenthesized_value_expression_primary -> method_invocation -> direct_invocation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1184:7 [INFO] [stdout] | [INFO] [stdout] 1184 | | term ~ asterisk ~ factor ␊ [INFO] [stdout] | ^--^ [INFO] [stdout] | [INFO] [stdout] = rule term is left-recursive (term -> term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1357:5 [INFO] [stdout] | [INFO] [stdout] 1357 | concatenation␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule concatenation is left-recursive (concatenation -> character_value_expression -> concatenation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1361:5 [INFO] [stdout] | [INFO] [stdout] 1361 | character_value_expression ~ concatenation_operator ~ character_factor ␊ [INFO] [stdout] | ^------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule character_value_expression is left-recursive (character_value_expression -> concatenation -> character_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1371:5 [INFO] [stdout] | [INFO] [stdout] 1371 | binary_concatenation ␊ [INFO] [stdout] | ^------------------^ [INFO] [stdout] | [INFO] [stdout] = rule binary_concatenation is left-recursive (binary_concatenation -> binary_value_expression -> binary_concatenation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1382:5 [INFO] [stdout] | [INFO] [stdout] 1382 | binary_value_expression ~ concatenation_operator ~ binary_factor ␊ [INFO] [stdout] | ^---------------------^ [INFO] [stdout] | [INFO] [stdout] = rule binary_value_expression is left-recursive (binary_value_expression -> binary_concatenation -> binary_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1398:7 [INFO] [stdout] | [INFO] [stdout] 1398 | | datetime_value_expression ~ plus_sign ~ interval_term ␊ [INFO] [stdout] | ^-----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule datetime_value_expression is left-recursive (datetime_value_expression -> datetime_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1422:7 [INFO] [stdout] | [INFO] [stdout] 1422 | | boolean_value_expression ~ "OR" ~ boolean_term␊ [INFO] [stdout] | ^----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule boolean_value_expression is left-recursive (boolean_value_expression -> boolean_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1426:7 [INFO] [stdout] | [INFO] [stdout] 1426 | | boolean_term ~ "AND" ~ boolean_factor␊ [INFO] [stdout] | ^----------^ [INFO] [stdout] | [INFO] [stdout] = rule boolean_term is left-recursive (boolean_term -> boolean_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1453:5 [INFO] [stdout] | [INFO] [stdout] 1453 | array_concatenation ␊ [INFO] [stdout] | ^-----------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_concatenation is left-recursive (array_concatenation -> array_value_expression_1 -> array_value_expression -> array_concatenation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1454:7 [INFO] [stdout] | [INFO] [stdout] 1454 | | array_primary ␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule array_primary is left-recursive (array_primary -> value_expression_primary -> nonparenthesized_value_expression_primary -> array_element_reference -> array_value_expression -> array_primary); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1457:5 [INFO] [stdout] | [INFO] [stdout] 1457 | array_value_expression_1 ~ concatenation_operator ~ array_primary␊ [INFO] [stdout] | ^----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_value_expression_1 is left-recursive (array_value_expression_1 -> array_value_expression -> array_concatenation -> array_value_expression_1); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1460:5 [INFO] [stdout] | [INFO] [stdout] 1460 | array_value_expression ␊ [INFO] [stdout] | ^--------------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_value_expression is left-recursive (array_value_expression -> array_concatenation -> array_value_expression_1 -> array_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1496:7 [INFO] [stdout] | [INFO] [stdout] 1496 | | multiset_value_expression ~ "MULTISET" ~ "UNION" ~ ("ALL" | "DISTINCT") ~ multiset_term ␊ [INFO] [stdout] | ^-----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule multiset_value_expression is left-recursive (multiset_value_expression -> multiset_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1501:7 [INFO] [stdout] | [INFO] [stdout] 1501 | | multiset_term ~ "MULTISET" ~ "INTERSECT" ~ ("ALL" | "DISTINCT") ~ multiset_primary ␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule multiset_term is left-recursive (multiset_term -> multiset_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2052:7 [INFO] [stdout] | [INFO] [stdout] 2052 | | regular_expression ~ vertical_bar ~ regular_term␊ [INFO] [stdout] | ^----------------^ [INFO] [stdout] | [INFO] [stdout] = rule regular_expression is left-recursive (regular_expression -> regular_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2056:7 [INFO] [stdout] | [INFO] [stdout] 2056 | | regular_term ~ regular_factor␊ [INFO] [stdout] | ^----------^ [INFO] [stdout] | [INFO] [stdout] = rule regular_term is left-recursive (regular_term -> regular_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2982:7 [INFO] [stdout] | [INFO] [stdout] 2982 | | interval_value_expression_1 ~ plus_sign ~ interval_term_1 ␊ [INFO] [stdout] | ^-------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_value_expression_1 is left-recursive (interval_value_expression_1 -> interval_value_expression -> interval_value_expression_1); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2989:7 [INFO] [stdout] | [INFO] [stdout] 2989 | | interval_term_2 ~ asterisk ~ factor ␊ [INFO] [stdout] | ^-------------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_term_2 is left-recursive (interval_term_2 -> interval_term -> interval_term_2); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 3001:5 [INFO] [stdout] | [INFO] [stdout] 3001 | interval_value_expression ␊ [INFO] [stdout] | ^-----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_value_expression is left-recursive (interval_value_expression -> interval_value_expression_1 -> interval_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 3007:5 [INFO] [stdout] | [INFO] [stdout] 3007 | interval_term␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_term is left-recursive (interval_term -> interval_term_2 -> interval_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> tests/datetime_value_function.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 15 | rule: Rule::current_date_value_function, [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> tests/datetime_value_function.rs:27:15 [INFO] [stdout] | [INFO] [stdout] 27 | rule: Rule::current_time_value_function, [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> tests/datetime_value_function.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | rule: Rule::current_time_value_function, [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> tests/datetime_value_function.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | rule: Rule::current_local_time_value_function, [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> tests/datetime_value_function.rs:65:15 [INFO] [stdout] | [INFO] [stdout] 65 | rule: Rule::current_local_time_value_function, [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> tests/datetime_value_function.rs:79:15 [INFO] [stdout] | [INFO] [stdout] 79 | rule: Rule::current_timestamp_value_function, [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> tests/datetime_value_function.rs:91:15 [INFO] [stdout] | [INFO] [stdout] 91 | rule: Rule::current_timestamp_value_function, [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> tests/datetime_value_function.rs:105:15 [INFO] [stdout] | [INFO] [stdout] 105 | rule: Rule::current_local_timestamp_value_function, [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> tests/datetime_value_function.rs:117:15 [INFO] [stdout] | [INFO] [stdout] 117 | rule: Rule::current_local_timestamp_value_function, [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `SQLParser` in the current scope [INFO] [stdout] --> tests/datetime_value_function.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct SQLParser; [INFO] [stdout] | ----------------- function or associated item `parse` not found for this [INFO] [stdout] ... [INFO] [stdout] 12 | / parses_to! { [INFO] [stdout] 13 | | parser: SQLParser, [INFO] [stdout] 14 | | input: "CURRENT_DATE", [INFO] [stdout] 15 | | rule: Rule::current_date_value_function, [INFO] [stdout] ... | [INFO] [stdout] 18 | | ] [INFO] [stdout] 19 | | }; [INFO] [stdout] | |______^ function or associated item not found in `SQLParser` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `parse`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Parser` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `SQLParser` in the current scope [INFO] [stdout] --> tests/datetime_value_function.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct SQLParser; [INFO] [stdout] | ----------------- function or associated item `parse` not found for this [INFO] [stdout] ... [INFO] [stdout] 24 | / parses_to! { [INFO] [stdout] 25 | | parser: SQLParser, [INFO] [stdout] 26 | | input: "CURRENT_TIME", [INFO] [stdout] 27 | | rule: Rule::current_time_value_function, [INFO] [stdout] ... | [INFO] [stdout] 30 | | ] [INFO] [stdout] 31 | | }; [INFO] [stdout] | |______^ function or associated item not found in `SQLParser` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `parse`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Parser` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `SQLParser` in the current scope [INFO] [stdout] --> tests/datetime_value_function.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct SQLParser; [INFO] [stdout] | ----------------- function or associated item `parse` not found for this [INFO] [stdout] ... [INFO] [stdout] 36 | / parses_to! { [INFO] [stdout] 37 | | parser: SQLParser, [INFO] [stdout] 38 | | input: "CURRENT_TIME(123)", [INFO] [stdout] 39 | | rule: Rule::current_time_value_function, [INFO] [stdout] ... | [INFO] [stdout] 44 | | ] [INFO] [stdout] 45 | | }; [INFO] [stdout] | |______^ function or associated item not found in `SQLParser` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `parse`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Parser` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `SQLParser` in the current scope [INFO] [stdout] --> tests/datetime_value_function.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct SQLParser; [INFO] [stdout] | ----------------- function or associated item `parse` not found for this [INFO] [stdout] ... [INFO] [stdout] 50 | / parses_to! { [INFO] [stdout] 51 | | parser: SQLParser, [INFO] [stdout] 52 | | input: "LOCALTIME", [INFO] [stdout] 53 | | rule: Rule::current_local_time_value_function, [INFO] [stdout] ... | [INFO] [stdout] 56 | | ] [INFO] [stdout] 57 | | }; [INFO] [stdout] | |______^ function or associated item not found in `SQLParser` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `parse`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Parser` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `SQLParser` in the current scope [INFO] [stdout] --> tests/datetime_value_function.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct SQLParser; [INFO] [stdout] | ----------------- function or associated item `parse` not found for this [INFO] [stdout] ... [INFO] [stdout] 62 | / parses_to! { [INFO] [stdout] 63 | | parser: SQLParser, [INFO] [stdout] 64 | | input: "LOCALTIME(123)", [INFO] [stdout] 65 | | rule: Rule::current_local_time_value_function, [INFO] [stdout] ... | [INFO] [stdout] 70 | | ] [INFO] [stdout] 71 | | }; [INFO] [stdout] | |______^ function or associated item not found in `SQLParser` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `parse`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Parser` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `SQLParser` in the current scope [INFO] [stdout] --> tests/datetime_value_function.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct SQLParser; [INFO] [stdout] | ----------------- function or associated item `parse` not found for this [INFO] [stdout] ... [INFO] [stdout] 76 | / parses_to! { [INFO] [stdout] 77 | | parser: SQLParser, [INFO] [stdout] 78 | | input: "CURRENT_TIMESTAMP", [INFO] [stdout] 79 | | rule: Rule::current_timestamp_value_function, [INFO] [stdout] ... | [INFO] [stdout] 82 | | ] [INFO] [stdout] 83 | | }; [INFO] [stdout] | |______^ function or associated item not found in `SQLParser` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `parse`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Parser` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `SQLParser` in the current scope [INFO] [stdout] --> tests/datetime_value_function.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct SQLParser; [INFO] [stdout] | ----------------- function or associated item `parse` not found for this [INFO] [stdout] ... [INFO] [stdout] 88 | / parses_to! { [INFO] [stdout] 89 | | parser: SQLParser, [INFO] [stdout] 90 | | input: "CURRENT_TIMESTAMP(123)", [INFO] [stdout] 91 | | rule: Rule::current_timestamp_value_function, [INFO] [stdout] ... | [INFO] [stdout] 96 | | ] [INFO] [stdout] 97 | | }; [INFO] [stdout] | |______^ function or associated item not found in `SQLParser` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `parse`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Parser` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `SQLParser` in the current scope [INFO] [stdout] --> tests/datetime_value_function.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct SQLParser; [INFO] [stdout] | ----------------- function or associated item `parse` not found for this [INFO] [stdout] ... [INFO] [stdout] 102 | / parses_to! { [INFO] [stdout] 103 | | parser: SQLParser, [INFO] [stdout] 104 | | input: "LOCALTIMESTAMP", [INFO] [stdout] 105 | | rule: Rule::current_local_timestamp_value_function, [INFO] [stdout] ... | [INFO] [stdout] 108 | | ] [INFO] [stdout] 109 | | }; [INFO] [stdout] | |______^ function or associated item not found in `SQLParser` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `parse`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Parser` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `parse` found for struct `SQLParser` in the current scope [INFO] [stdout] --> tests/datetime_value_function.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct SQLParser; [INFO] [stdout] | ----------------- function or associated item `parse` not found for this [INFO] [stdout] ... [INFO] [stdout] 114 | / parses_to! { [INFO] [stdout] 115 | | parser: SQLParser, [INFO] [stdout] 116 | | input: "LOCALTIMESTAMP(123)", [INFO] [stdout] 117 | | rule: Rule::current_local_timestamp_value_function, [INFO] [stdout] ... | [INFO] [stdout] 122 | | ] [INFO] [stdout] 123 | | }; [INFO] [stdout] | |______^ function or associated item not found in `SQLParser` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `parse`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Parser` [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 19 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0433, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stdout] error: proc-macro derive panicked [INFO] [stdout] --> src/parser/mod.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Parser)] [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: message: grammar error [INFO] [stdout] [INFO] [stdout] --> 491:7 [INFO] [stdout] | [INFO] [stdout] 491 | | collection_type␊ [INFO] [stdout] | ^-------------^ [INFO] [stdout] | [INFO] [stdout] = rule collection_type is left-recursive (collection_type -> array_type -> data_type -> collection_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 628:5 [INFO] [stdout] | [INFO] [stdout] 628 | array_type␊ [INFO] [stdout] | ^--------^ [INFO] [stdout] | [INFO] [stdout] = rule array_type is left-recursive (array_type -> data_type -> collection_type -> array_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 629:7 [INFO] [stdout] | [INFO] [stdout] 629 | | multiset_type␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule multiset_type is left-recursive (multiset_type -> data_type -> collection_type -> multiset_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 632:5 [INFO] [stdout] | [INFO] [stdout] 632 | data_type ~ "ARRAY"␊ [INFO] [stdout] | ^-------^ [INFO] [stdout] | [INFO] [stdout] = rule data_type is left-recursive (data_type -> collection_type -> array_type -> data_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 650:7 [INFO] [stdout] | [INFO] [stdout] 650 | | nonparenthesized_value_expression_primary␊ [INFO] [stdout] | ^---------------------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule nonparenthesized_value_expression_primary is left-recursive (nonparenthesized_value_expression_primary -> field_reference -> value_expression_primary -> nonparenthesized_value_expression_primary); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 664:7 [INFO] [stdout] | [INFO] [stdout] 664 | | field_reference ␊ [INFO] [stdout] | ^-------------^ [INFO] [stdout] | [INFO] [stdout] = rule field_reference is left-recursive (field_reference -> value_expression_primary -> nonparenthesized_value_expression_primary -> field_reference); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 666:7 [INFO] [stdout] | [INFO] [stdout] 666 | | method_invocation ␊ [INFO] [stdout] | ^---------------^ [INFO] [stdout] | [INFO] [stdout] = rule method_invocation is left-recursive (method_invocation -> direct_invocation -> value_expression_primary -> nonparenthesized_value_expression_primary -> method_invocation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 669:7 [INFO] [stdout] | [INFO] [stdout] 669 | | attribute_or_method_reference ␊ [INFO] [stdout] | ^---------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule attribute_or_method_reference is left-recursive (attribute_or_method_reference -> value_expression_primary -> nonparenthesized_value_expression_primary -> attribute_or_method_reference); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 672:7 [INFO] [stdout] | [INFO] [stdout] 672 | | array_element_reference ␊ [INFO] [stdout] | ^---------------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_element_reference is left-recursive (array_element_reference -> array_value_expression -> array_primary -> value_expression_primary -> nonparenthesized_value_expression_primary -> array_element_reference); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1006:5 [INFO] [stdout] | [INFO] [stdout] 1006 | value_expression_primary ~ period ~ field_name ␊ [INFO] [stdout] | ^----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule value_expression_primary is left-recursive (value_expression_primary -> nonparenthesized_value_expression_primary -> field_reference -> value_expression_primary); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1023:5 [INFO] [stdout] | [INFO] [stdout] 1023 | direct_invocation ␊ [INFO] [stdout] | ^---------------^ [INFO] [stdout] | [INFO] [stdout] = rule direct_invocation is left-recursive (direct_invocation -> value_expression_primary -> nonparenthesized_value_expression_primary -> method_invocation -> direct_invocation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1184:7 [INFO] [stdout] | [INFO] [stdout] 1184 | | term ~ asterisk ~ factor ␊ [INFO] [stdout] | ^--^ [INFO] [stdout] | [INFO] [stdout] = rule term is left-recursive (term -> term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1357:5 [INFO] [stdout] | [INFO] [stdout] 1357 | concatenation␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule concatenation is left-recursive (concatenation -> character_value_expression -> concatenation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1361:5 [INFO] [stdout] | [INFO] [stdout] 1361 | character_value_expression ~ concatenation_operator ~ character_factor ␊ [INFO] [stdout] | ^------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule character_value_expression is left-recursive (character_value_expression -> concatenation -> character_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1371:5 [INFO] [stdout] | [INFO] [stdout] 1371 | binary_concatenation ␊ [INFO] [stdout] | ^------------------^ [INFO] [stdout] | [INFO] [stdout] = rule binary_concatenation is left-recursive (binary_concatenation -> binary_value_expression -> binary_concatenation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1382:5 [INFO] [stdout] | [INFO] [stdout] 1382 | binary_value_expression ~ concatenation_operator ~ binary_factor ␊ [INFO] [stdout] | ^---------------------^ [INFO] [stdout] | [INFO] [stdout] = rule binary_value_expression is left-recursive (binary_value_expression -> binary_concatenation -> binary_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1398:7 [INFO] [stdout] | [INFO] [stdout] 1398 | | datetime_value_expression ~ plus_sign ~ interval_term ␊ [INFO] [stdout] | ^-----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule datetime_value_expression is left-recursive (datetime_value_expression -> datetime_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1422:7 [INFO] [stdout] | [INFO] [stdout] 1422 | | boolean_value_expression ~ "OR" ~ boolean_term␊ [INFO] [stdout] | ^----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule boolean_value_expression is left-recursive (boolean_value_expression -> boolean_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1426:7 [INFO] [stdout] | [INFO] [stdout] 1426 | | boolean_term ~ "AND" ~ boolean_factor␊ [INFO] [stdout] | ^----------^ [INFO] [stdout] | [INFO] [stdout] = rule boolean_term is left-recursive (boolean_term -> boolean_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1453:5 [INFO] [stdout] | [INFO] [stdout] 1453 | array_concatenation ␊ [INFO] [stdout] | ^-----------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_concatenation is left-recursive (array_concatenation -> array_value_expression_1 -> array_value_expression -> array_concatenation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1454:7 [INFO] [stdout] | [INFO] [stdout] 1454 | | array_primary ␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule array_primary is left-recursive (array_primary -> value_expression_primary -> nonparenthesized_value_expression_primary -> array_element_reference -> array_value_expression -> array_primary); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1457:5 [INFO] [stdout] | [INFO] [stdout] 1457 | array_value_expression_1 ~ concatenation_operator ~ array_primary␊ [INFO] [stdout] | ^----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_value_expression_1 is left-recursive (array_value_expression_1 -> array_value_expression -> array_concatenation -> array_value_expression_1); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1460:5 [INFO] [stdout] | [INFO] [stdout] 1460 | array_value_expression ␊ [INFO] [stdout] | ^--------------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_value_expression is left-recursive (array_value_expression -> array_concatenation -> array_value_expression_1 -> array_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1496:7 [INFO] [stdout] | [INFO] [stdout] 1496 | | multiset_value_expression ~ "MULTISET" ~ "UNION" ~ ("ALL" | "DISTINCT") ~ multiset_term ␊ [INFO] [stdout] | ^-----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule multiset_value_expression is left-recursive (multiset_value_expression -> multiset_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1501:7 [INFO] [stdout] | [INFO] [stdout] 1501 | | multiset_term ~ "MULTISET" ~ "INTERSECT" ~ ("ALL" | "DISTINCT") ~ multiset_primary ␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule multiset_term is left-recursive (multiset_term -> multiset_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2052:7 [INFO] [stdout] | [INFO] [stdout] 2052 | | regular_expression ~ vertical_bar ~ regular_term␊ [INFO] [stdout] | ^----------------^ [INFO] [stdout] | [INFO] [stdout] = rule regular_expression is left-recursive (regular_expression -> regular_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2056:7 [INFO] [stdout] | [INFO] [stdout] 2056 | | regular_term ~ regular_factor␊ [INFO] [stdout] | ^----------^ [INFO] [stdout] | [INFO] [stdout] = rule regular_term is left-recursive (regular_term -> regular_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2982:7 [INFO] [stdout] | [INFO] [stdout] 2982 | | interval_value_expression_1 ~ plus_sign ~ interval_term_1 ␊ [INFO] [stdout] | ^-------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_value_expression_1 is left-recursive (interval_value_expression_1 -> interval_value_expression -> interval_value_expression_1); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2989:7 [INFO] [stdout] | [INFO] [stdout] 2989 | | interval_term_2 ~ asterisk ~ factor ␊ [INFO] [stdout] | ^-------------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_term_2 is left-recursive (interval_term_2 -> interval_term -> interval_term_2); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 3001:5 [INFO] [stdout] | [INFO] [stdout] 3001 | interval_value_expression ␊ [INFO] [stdout] | ^-----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_value_expression is left-recursive (interval_value_expression -> interval_value_expression_1 -> interval_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 3007:5 [INFO] [stdout] | [INFO] [stdout] 3007 | interval_term␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_term is left-recursive (interval_term -> interval_term_2 -> interval_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> src/parser/mod.rs:19:33 [INFO] [stdout] | [INFO] [stdout] 19 | let pair = SQLParser::parse(Rule::sql_statements, sql).unwrap().next().unwrap(); [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> src/parser/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | Rule::sql_control_statements => { [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> src/parser/mod.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | Rule::call_statement => SQLStmt::ControlStmt(ControlStmt::CallStmt(RoutineInvocation{})), [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> src/parser/mod.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | Rule::return_statement => SQLStmt::ControlStmt(ControlStmt::ReturnStmt(ReturnStmt::NULL)), [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0573]: expected type, found macro `vec` [INFO] [stdout] --> src/parser/ast.rs:60:14 [INFO] [stdout] | [INFO] [stdout] 60 | ElemList(vec), [INFO] [stdout] | ^^^^^^^^^^^^^^ not a type [INFO] [stdout] | [INFO] [stdout] help: use `!` to invoke the macro [INFO] [stdout] | [INFO] [stdout] 60 | ElemList(vec!), [INFO] [stdout] | ^ [INFO] [stdout] help: a struct with a similar name exists [INFO] [stdout] | [INFO] [stdout] 60 | ElemList(Vec), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pest::error::Error` [INFO] [stdout] --> src/parser/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use pest::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: proc-macro derive panicked [INFO] [stdout] --> src/parser/mod.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Parser)] [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: message: grammar error [INFO] [stdout] [INFO] [stdout] --> 491:7 [INFO] [stdout] | [INFO] [stdout] 491 | | collection_type␊ [INFO] [stdout] | ^-------------^ [INFO] [stdout] | [INFO] [stdout] = rule collection_type is left-recursive (collection_type -> array_type -> data_type -> collection_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 628:5 [INFO] [stdout] | [INFO] [stdout] 628 | array_type␊ [INFO] [stdout] | ^--------^ [INFO] [stdout] | [INFO] [stdout] = rule array_type is left-recursive (array_type -> data_type -> collection_type -> array_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 629:7 [INFO] [stdout] | [INFO] [stdout] 629 | | multiset_type␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule multiset_type is left-recursive (multiset_type -> data_type -> collection_type -> multiset_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 632:5 [INFO] [stdout] | [INFO] [stdout] 632 | data_type ~ "ARRAY"␊ [INFO] [stdout] | ^-------^ [INFO] [stdout] | [INFO] [stdout] = rule data_type is left-recursive (data_type -> collection_type -> array_type -> data_type); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 650:7 [INFO] [stdout] | [INFO] [stdout] 650 | | nonparenthesized_value_expression_primary␊ [INFO] [stdout] | ^---------------------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule nonparenthesized_value_expression_primary is left-recursive (nonparenthesized_value_expression_primary -> field_reference -> value_expression_primary -> nonparenthesized_value_expression_primary); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 664:7 [INFO] [stdout] | [INFO] [stdout] 664 | | field_reference ␊ [INFO] [stdout] | ^-------------^ [INFO] [stdout] | [INFO] [stdout] = rule field_reference is left-recursive (field_reference -> value_expression_primary -> nonparenthesized_value_expression_primary -> field_reference); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 666:7 [INFO] [stdout] | [INFO] [stdout] 666 | | method_invocation ␊ [INFO] [stdout] | ^---------------^ [INFO] [stdout] | [INFO] [stdout] = rule method_invocation is left-recursive (method_invocation -> direct_invocation -> value_expression_primary -> nonparenthesized_value_expression_primary -> method_invocation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 669:7 [INFO] [stdout] | [INFO] [stdout] 669 | | attribute_or_method_reference ␊ [INFO] [stdout] | ^---------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule attribute_or_method_reference is left-recursive (attribute_or_method_reference -> value_expression_primary -> nonparenthesized_value_expression_primary -> attribute_or_method_reference); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 672:7 [INFO] [stdout] | [INFO] [stdout] 672 | | array_element_reference ␊ [INFO] [stdout] | ^---------------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_element_reference is left-recursive (array_element_reference -> array_value_expression -> array_primary -> value_expression_primary -> nonparenthesized_value_expression_primary -> array_element_reference); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1006:5 [INFO] [stdout] | [INFO] [stdout] 1006 | value_expression_primary ~ period ~ field_name ␊ [INFO] [stdout] | ^----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule value_expression_primary is left-recursive (value_expression_primary -> nonparenthesized_value_expression_primary -> field_reference -> value_expression_primary); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1023:5 [INFO] [stdout] | [INFO] [stdout] 1023 | direct_invocation ␊ [INFO] [stdout] | ^---------------^ [INFO] [stdout] | [INFO] [stdout] = rule direct_invocation is left-recursive (direct_invocation -> value_expression_primary -> nonparenthesized_value_expression_primary -> method_invocation -> direct_invocation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1184:7 [INFO] [stdout] | [INFO] [stdout] 1184 | | term ~ asterisk ~ factor ␊ [INFO] [stdout] | ^--^ [INFO] [stdout] | [INFO] [stdout] = rule term is left-recursive (term -> term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1357:5 [INFO] [stdout] | [INFO] [stdout] 1357 | concatenation␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule concatenation is left-recursive (concatenation -> character_value_expression -> concatenation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1361:5 [INFO] [stdout] | [INFO] [stdout] 1361 | character_value_expression ~ concatenation_operator ~ character_factor ␊ [INFO] [stdout] | ^------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule character_value_expression is left-recursive (character_value_expression -> concatenation -> character_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1371:5 [INFO] [stdout] | [INFO] [stdout] 1371 | binary_concatenation ␊ [INFO] [stdout] | ^------------------^ [INFO] [stdout] | [INFO] [stdout] = rule binary_concatenation is left-recursive (binary_concatenation -> binary_value_expression -> binary_concatenation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1382:5 [INFO] [stdout] | [INFO] [stdout] 1382 | binary_value_expression ~ concatenation_operator ~ binary_factor ␊ [INFO] [stdout] | ^---------------------^ [INFO] [stdout] | [INFO] [stdout] = rule binary_value_expression is left-recursive (binary_value_expression -> binary_concatenation -> binary_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1398:7 [INFO] [stdout] | [INFO] [stdout] 1398 | | datetime_value_expression ~ plus_sign ~ interval_term ␊ [INFO] [stdout] | ^-----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule datetime_value_expression is left-recursive (datetime_value_expression -> datetime_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1422:7 [INFO] [stdout] | [INFO] [stdout] 1422 | | boolean_value_expression ~ "OR" ~ boolean_term␊ [INFO] [stdout] | ^----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule boolean_value_expression is left-recursive (boolean_value_expression -> boolean_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1426:7 [INFO] [stdout] | [INFO] [stdout] 1426 | | boolean_term ~ "AND" ~ boolean_factor␊ [INFO] [stdout] | ^----------^ [INFO] [stdout] | [INFO] [stdout] = rule boolean_term is left-recursive (boolean_term -> boolean_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1453:5 [INFO] [stdout] | [INFO] [stdout] 1453 | array_concatenation ␊ [INFO] [stdout] | ^-----------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_concatenation is left-recursive (array_concatenation -> array_value_expression_1 -> array_value_expression -> array_concatenation); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1454:7 [INFO] [stdout] | [INFO] [stdout] 1454 | | array_primary ␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule array_primary is left-recursive (array_primary -> value_expression_primary -> nonparenthesized_value_expression_primary -> array_element_reference -> array_value_expression -> array_primary); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1457:5 [INFO] [stdout] | [INFO] [stdout] 1457 | array_value_expression_1 ~ concatenation_operator ~ array_primary␊ [INFO] [stdout] | ^----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_value_expression_1 is left-recursive (array_value_expression_1 -> array_value_expression -> array_concatenation -> array_value_expression_1); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1460:5 [INFO] [stdout] | [INFO] [stdout] 1460 | array_value_expression ␊ [INFO] [stdout] | ^--------------------^ [INFO] [stdout] | [INFO] [stdout] = rule array_value_expression is left-recursive (array_value_expression -> array_concatenation -> array_value_expression_1 -> array_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1496:7 [INFO] [stdout] | [INFO] [stdout] 1496 | | multiset_value_expression ~ "MULTISET" ~ "UNION" ~ ("ALL" | "DISTINCT") ~ multiset_term ␊ [INFO] [stdout] | ^-----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule multiset_value_expression is left-recursive (multiset_value_expression -> multiset_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 1501:7 [INFO] [stdout] | [INFO] [stdout] 1501 | | multiset_term ~ "MULTISET" ~ "INTERSECT" ~ ("ALL" | "DISTINCT") ~ multiset_primary ␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule multiset_term is left-recursive (multiset_term -> multiset_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2052:7 [INFO] [stdout] | [INFO] [stdout] 2052 | | regular_expression ~ vertical_bar ~ regular_term␊ [INFO] [stdout] | ^----------------^ [INFO] [stdout] | [INFO] [stdout] = rule regular_expression is left-recursive (regular_expression -> regular_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2056:7 [INFO] [stdout] | [INFO] [stdout] 2056 | | regular_term ~ regular_factor␊ [INFO] [stdout] | ^----------^ [INFO] [stdout] | [INFO] [stdout] = rule regular_term is left-recursive (regular_term -> regular_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2982:7 [INFO] [stdout] | [INFO] [stdout] 2982 | | interval_value_expression_1 ~ plus_sign ~ interval_term_1 ␊ [INFO] [stdout] | ^-------------------------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_value_expression_1 is left-recursive (interval_value_expression_1 -> interval_value_expression -> interval_value_expression_1); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 2989:7 [INFO] [stdout] | [INFO] [stdout] 2989 | | interval_term_2 ~ asterisk ~ factor ␊ [INFO] [stdout] | ^-------------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_term_2 is left-recursive (interval_term_2 -> interval_term -> interval_term_2); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 3001:5 [INFO] [stdout] | [INFO] [stdout] 3001 | interval_value_expression ␊ [INFO] [stdout] | ^-----------------------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_value_expression is left-recursive (interval_value_expression -> interval_value_expression_1 -> interval_value_expression); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] --> 3007:5 [INFO] [stdout] | [INFO] [stdout] 3007 | interval_term␊ [INFO] [stdout] | ^-----------^ [INFO] [stdout] | [INFO] [stdout] = rule interval_term is left-recursive (interval_term -> interval_term_2 -> interval_term); pest::prec_climber might be useful in this case [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> src/parser/mod.rs:19:33 [INFO] [stdout] | [INFO] [stdout] 19 | let pair = SQLParser::parse(Rule::sql_statements, sql).unwrap().next().unwrap(); [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> src/parser/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | Rule::sql_control_statements => { [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> src/parser/mod.rs:26:17 [INFO] [stdout] | [INFO] [stdout] 26 | Rule::call_statement => SQLStmt::ControlStmt(ControlStmt::CallStmt(RoutineInvocation{})), [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule` [INFO] [stdout] --> src/parser/mod.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 27 | Rule::return_statement => SQLStmt::ControlStmt(ControlStmt::ReturnStmt(ReturnStmt::NULL)), [INFO] [stdout] | ^^^^ use of undeclared type `Rule` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0573]: expected type, found macro `vec` [INFO] [stdout] --> src/parser/ast.rs:60:14 [INFO] [stdout] | [INFO] [stdout] 60 | ElemList(vec), [INFO] [stdout] | ^^^^^^^^^^^^^^ not a type [INFO] [stdout] | [INFO] [stdout] help: use `!` to invoke the macro [INFO] [stdout] | [INFO] [stdout] 60 | ElemList(vec!), [INFO] [stdout] | ^ [INFO] [stdout] help: a struct with a similar name exists [INFO] [stdout] | [INFO] [stdout] 60 | ElemList(Vec), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `pest::error::Error` [INFO] [stdout] --> src/parser/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use pest::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `str` cannot be known at compilation time [INFO] [stdout] --> src/parser/ast.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | Name: str, [INFO] [stdout] | ^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `str` [INFO] [stdout] = note: only the last field of a struct may have a dynamically sized type [INFO] [stdout] = help: change the field's type to have a statically known size [INFO] [stdout] help: borrowed types always have a statically known size [INFO] [stdout] | [INFO] [stdout] 67 | Name: &str, [INFO] [stdout] | ^ [INFO] [stdout] help: the `Box` type always has a statically known size and allocates its contents in the heap [INFO] [stdout] | [INFO] [stdout] 67 | Name: Box, [INFO] [stdout] | ^^^^ ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 7 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0433, E0573. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `str` cannot be known at compilation time [INFO] [stdout] --> src/parser/ast.rs:67:11 [INFO] [stdout] | [INFO] [stdout] 67 | Name: str, [INFO] [stdout] | ^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `str` [INFO] [stdout] = note: only the last field of a struct may have a dynamically sized type [INFO] [stdout] = help: change the field's type to have a statically known size [INFO] [stdout] help: borrowed types always have a statically known size [INFO] [stdout] | [INFO] [stdout] 67 | Name: &str, [INFO] [stdout] | ^ [INFO] [stdout] help: the `Box` type always has a statically known size and allocates its contents in the heap [INFO] [stdout] | [INFO] [stdout] 67 | Name: Box, [INFO] [stdout] | ^^^^ ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 7 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0433, E0573. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "a155d55502a863d9b004312bc1febd82f700149e3c5a5383d5eace744ed9b777", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a155d55502a863d9b004312bc1febd82f700149e3c5a5383d5eace744ed9b777", kill_on_drop: false }` [INFO] [stdout] a155d55502a863d9b004312bc1febd82f700149e3c5a5383d5eace744ed9b777