[INFO] crate pest_fmt 0.1.1 is already in cache [INFO] testing pest_fmt-0.1.1 against 1.44.0 for beta-1.45-1 [INFO] extracting crate pest_fmt 0.1.1 into /workspace/builds/worker-5/source [INFO] validating manifest of crates.io crate pest_fmt 0.1.1 on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate pest_fmt 0.1.1 [INFO] finished tweaking crates.io crate pest_fmt 0.1.1 [INFO] tweaked toml for crates.io crate pest_fmt 0.1.1 written to /workspace/builds/worker-5/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stdout] 89588ce54642a53c08d3ba14014d602aa1ab5310670dc3c60b1b2a53a6e5a774 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "89588ce54642a53c08d3ba14014d602aa1ab5310670dc3c60b1b2a53a6e5a774"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling pest_fmt v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] warning: function is never used: `format_repeat_exact` [INFO] [stderr] --> src/formatter.rs:165:4 [INFO] [stderr] | [INFO] [stderr] 165 | fn format_repeat_exact(pairs: Pair) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.49s [INFO] running `"docker" "inspect" "89588ce54642a53c08d3ba14014d602aa1ab5310670dc3c60b1b2a53a6e5a774"` [INFO] running `"docker" "rm" "-f" "89588ce54642a53c08d3ba14014d602aa1ab5310670dc3c60b1b2a53a6e5a774"` [INFO] [stdout] 89588ce54642a53c08d3ba14014d602aa1ab5310670dc3c60b1b2a53a6e5a774 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 8ae6bb231b529e77b59888129bb99a9fae60420f3804724bcb09ea7bad6a5fc7 [INFO] running `"docker" "start" "-a" "8ae6bb231b529e77b59888129bb99a9fae60420f3804724bcb09ea7bad6a5fc7"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: function is never used: `format_repeat_exact` [INFO] [stderr] --> src/formatter.rs:165:4 [INFO] [stderr] | [INFO] [stderr] 165 | fn format_repeat_exact(pairs: Pair) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] Compiling pest_fmt v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] warning: function is never used: `format_repeat_exact` [INFO] [stderr] --> src/formatter.rs:165:4 [INFO] [stderr] | [INFO] [stderr] 165 | fn format_repeat_exact(pairs: Pair) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.18s [INFO] running `"docker" "inspect" "8ae6bb231b529e77b59888129bb99a9fae60420f3804724bcb09ea7bad6a5fc7"` [INFO] running `"docker" "rm" "-f" "8ae6bb231b529e77b59888129bb99a9fae60420f3804724bcb09ea7bad6a5fc7"` [INFO] [stdout] 8ae6bb231b529e77b59888129bb99a9fae60420f3804724bcb09ea7bad6a5fc7 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 49a63598b13230a7d4a457d6a80e5a7eb9c46697a382f1dd0d3c3b2efeeea605 [INFO] running `"docker" "start" "-a" "49a63598b13230a7d4a457d6a80e5a7eb9c46697a382f1dd0d3c3b2efeeea605"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: function is never used: `format_repeat_exact` [INFO] [stderr] --> src/formatter.rs:165:4 [INFO] [stderr] | [INFO] [stderr] 165 | fn format_repeat_exact(pairs: Pair) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] warning: function is never used: `format_repeat_exact` [INFO] [stderr] --> src/formatter.rs:165:4 [INFO] [stderr] | [INFO] [stderr] 165 | fn format_repeat_exact(pairs: Pair) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 1 warning emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/pest_fmt-cce85a0a84bb66e7 [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test pre_build::gen_parser ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/test-f45352cae67ba44b [INFO] [stdout] running 5 tests [INFO] [stdout] test pest_b ... FAILED [INFO] [stdout] test pest_a ... FAILED [INFO] [stdout] test arc_a ... FAILED [INFO] [stdout] test valkyrie_a ... FAILED [INFO] [stdout] test valkyrie_b ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- pest_b stdout ---- [INFO] [stdout] // pest. The Elegant Parser [INFO] [stdout] // Copyright (c) 2018 Dragoș Tiselice [INFO] [stdout] // [INFO] [stdout] // Licensed under the Apache License, Version 2.0 [INFO] [stdout] // or the MIT [INFO] [stdout] // license , at your [INFO] [stdout] // option. All files in the project carrying such notice may not be copied, [INFO] [stdout] // modified, or distributed except according to those terms. [INFO] [stdout] [INFO] [stdout] grammar_rules = _{SOI ~ grammar_rule+ ~ EOI} [INFO] [stdout] [INFO] [stdout] grammar_rule = { [INFO] [stdout] identifier ~ assignment_operator ~ modifier? ~ opening_brace ~ expression ~ closing_brace [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] assignment_operator = {"="} [INFO] [stdout] opening_brace = {"{"} [INFO] [stdout] closing_brace = {"}"} [INFO] [stdout] opening_paren = {"("} [INFO] [stdout] closing_paren = {")"} [INFO] [stdout] opening_brack = {"["} [INFO] [stdout] closing_brack = {"]"} [INFO] [stdout] [INFO] [stdout] modifier = _{ [INFO] [stdout] silent_modifier | [INFO] [stdout] atomic_modifier | [INFO] [stdout] compound_atomic_modifier | [INFO] [stdout] non_atomic_modifier [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] silent_modifier = {"_"} [INFO] [stdout] atomic_modifier = {"@"} [INFO] [stdout] compound_atomic_modifier = {"$"} [INFO] [stdout] non_atomic_modifier = {"!"} [INFO] [stdout] [INFO] [stdout] expression = {term ~ (infix_operator ~ term)*} [INFO] [stdout] term = {prefix_operator* ~ node ~ postfix_operator*} [INFO] [stdout] node = _{opening_paren ~ expression ~ closing_paren|terminal} [INFO] [stdout] terminal = _{_push|peek_slice|identifier|string|insensitive_string|range} [INFO] [stdout] [INFO] [stdout] prefix_operator = _{positive_predicate_operator|negative_predicate_operator} [INFO] [stdout] infix_operator = _{sequence_operator|choice_operator} [INFO] [stdout] postfix_operator = _{ [INFO] [stdout] optional_operator | [INFO] [stdout] repeat_operator | [INFO] [stdout] repeat_once_operator | [INFO] [stdout] repeat_exact | [INFO] [stdout] repeat_min | [INFO] [stdout] repeat_max | [INFO] [stdout] repeat_min_max [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] positive_predicate_operator = {"&"} [INFO] [stdout] negative_predicate_operator = {"!"} [INFO] [stdout] sequence_operator = {"~"} [INFO] [stdout] choice_operator = {"|"} [INFO] [stdout] optional_operator = {"?"} [INFO] [stdout] repeat_operator = {"*"} [INFO] [stdout] repeat_once_operator = {"+"} [INFO] [stdout] [INFO] [stdout] repeat_exact = {opening_brace ~ number ~ closing_brace} [INFO] [stdout] repeat_min = {opening_brace ~ number ~ comma ~ closing_brace} [INFO] [stdout] repeat_max = {opening_brace ~ comma ~ number ~ closing_brace} [INFO] [stdout] repeat_min_max = {opening_brace ~ number ~ comma ~ number ~ closing_brace} [INFO] [stdout] [INFO] [stdout] number = @{'0'..'9'+} [INFO] [stdout] integer = @{number|"-" ~ "0"* ~ '1'..'9' ~ number?} [INFO] [stdout] [INFO] [stdout] comma = {","} [INFO] [stdout] [INFO] [stdout] _push = {"PUSH" ~ opening_paren ~ expression ~ closing_paren} [INFO] [stdout] peek_slice = {"PEEK" ~ opening_brack ~ integer? ~ range_operator ~ integer? ~ closing_brack} [INFO] [stdout] [INFO] [stdout] identifier = @{!"PUSH" ~ ("_"|alpha) ~ ("_"|alpha_num)*} [INFO] [stdout] alpha = _{'a'..'z'|'A'..'Z'} [INFO] [stdout] alpha_num = _{alpha|'0'..'9'} [INFO] [stdout] [INFO] [stdout] string = ${quote ~ inner_str ~ quote} [INFO] [stdout] insensitive_string = {"^" ~ string} [INFO] [stdout] range = {character ~ range_operator ~ character} [INFO] [stdout] character = ${single_quote ~ inner_chr ~ single_quote} [INFO] [stdout] [INFO] [stdout] inner_str = @{(!("\""|"\\") ~ ANY)* ~ (escape ~ inner_str)?} [INFO] [stdout] inner_chr = @{escape|ANY} [INFO] [stdout] escape = @{"\\" ~ ("\""|"\\"|"r"|"n"|"t"|"0"|"'"|code|unicode)} [INFO] [stdout] code = @{"x" ~ hex_digit{2}} [INFO] [stdout] unicode = @{"u" ~ opening_brace ~ hex_digit{2, 6} ~ closing_brace} [INFO] [stdout] hex_digit = @{'0'..'9'|'a'..'f'|'A'..'F'} [INFO] [stdout] [INFO] [stdout] quote = {"\""} [INFO] [stdout] single_quote = {"'"} [INFO] [stdout] range_operator = {".."} [INFO] [stdout] [INFO] [stdout] newline = _{"\n"|"\r\n"} [INFO] [stdout] WHITESPACE = _{" "|"\t"|newline} [INFO] [stdout] block_comment = _{"/*" ~ (block_comment|!"*/" ~ ANY)* ~ "*/"} [INFO] [stdout] COMMENT = _{block_comment|("//" ~ (!newline ~ ANY)*)} [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Error: Os { code: 30, kind: Other, message: "Read-only file system" } [INFO] [stdout] thread 'pest_b' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `1`, [INFO] [stdout] right: `0`: the test returned a termination value with a non-zero status code (1) which indicates a failure', /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/macros.rs:16:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x561fabdc1ad4 - backtrace::backtrace::libunwind::trace::hc1c4a1d8ad423b97 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x561fabdc1ad4 - backtrace::backtrace::trace_unsynchronized::h82274781060cb056 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x561fabdc1ad4 - std::sys_common::backtrace::_print_fmt::h2a45d89b653a4da8 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x561fabdc1ad4 - ::fmt::h41a0a93ab85e6aa1 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x561fabdea71c - core::fmt::write::hdaea18585065a96d [INFO] [stdout] at src/libcore/fmt/mod.rs:1069 [INFO] [stdout] 5: 0x561fabd09595 - std::io::Write::write_fmt::h42f0550b6bd39c6e [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/io/mod.rs:1504 [INFO] [stdout] 6: 0x561fabdbbeb1 - std::io::impls::>::write_fmt::h223d7b7033cad46d [INFO] [stdout] at src/libstd/io/impls.rs:156 [INFO] [stdout] 7: 0x561fabdc43a5 - std::sys_common::backtrace::_print::hd95f9978cc145ca4 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x561fabdc43a5 - std::sys_common::backtrace::print::hfb25ca2291be47d0 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x561fabdc43a5 - std::panicking::default_hook::{{closure}}::h44f76cee5dc8591c [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x561fabdc408b - std::panicking::default_hook::h198e1a712910f1e6 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x561fabdc4a02 - std::panicking::rust_panic_with_hook::hc0b4730bb8013f9d [INFO] [stdout] at src/libstd/panicking.rs:511 [INFO] [stdout] 12: 0x561fabdc45eb - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:419 [INFO] [stdout] 13: 0x561fabdc455b - std::panicking::begin_panic_fmt::h3693eb684a4f728c [INFO] [stdout] at src/libstd/panicking.rs:373 [INFO] [stdout] 14: 0x561fabd07816 - test::assert_test_result::hf9d33a1f8903272a [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/macros.rs:16 [INFO] [stdout] 15: 0x561fabd07bd9 - test::pest_b::{{closure}}::h9658297e435790b6 [INFO] [stdout] at tests/test.rs:15 [INFO] [stdout] 16: 0x561fabd074be - core::ops::function::FnOnce::call_once::h454e71218285ade2 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 17: 0x561fabd30a26 - as core::ops::function::FnOnce>::call_once::hc165f65f4331a55c [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 18: 0x561fabd30a26 - as core::ops::function::FnOnce<()>>::call_once::hb89f1f769cad07ce [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 19: 0x561fabd30a26 - std::panicking::try::do_call::h104f7f3dae5a1b29 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 20: 0x561fabd30a26 - std::panicking::try::h0e20f01361cba753 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 21: 0x561fabd30a26 - std::panic::catch_unwind::h0bd0c84b5f4cd121 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 22: 0x561fabd30a26 - test::run_test_in_process::hf34c22adfeb6853d [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 23: 0x561fabd30a26 - test::run_test::run_test_inner::{{closure}}::h40d568b4c10a12f1 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 24: 0x561fabd08a46 - std::sys_common::backtrace::__rust_begin_short_backtrace::hffd9774ad3f2d778 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 25: 0x561fabd0ddd5 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h4594020476cf52d4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:475 [INFO] [stdout] 26: 0x561fabd0ddd5 - as core::ops::function::FnOnce<()>>::call_once::h9d0a6d45b73e29e4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 27: 0x561fabd0ddd5 - std::panicking::try::do_call::h902fd77b30bb3bb7 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 28: 0x561fabd0ddd5 - std::panicking::try::hc17d3a628e65d49d [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 29: 0x561fabd0ddd5 - std::panic::catch_unwind::h9c9d49cbb6b18017 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 30: 0x561fabd0ddd5 - std::thread::Builder::spawn_unchecked::{{closure}}::h6a6f5a333fd631a2 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:474 [INFO] [stdout] 31: 0x561fabd0ddd5 - core::ops::function::FnOnce::call_once{{vtable.shim}}::ha6fb197e0ce57f73 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 32: 0x561fabdcb1ea - as core::ops::function::FnOnce>::call_once::h1f1fac7de7dd9691 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 33: 0x561fabdcb1ea - as core::ops::function::FnOnce>::call_once::ha031f48633a6af54 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 34: 0x561fabdcb1ea - std::sys::unix::thread::Thread::new::thread_start::h241864caf436e182 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 35: 0x7f6efcbee609 - start_thread [INFO] [stdout] 36: 0x7f6efcafa103 - __clone [INFO] [stdout] 37: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- pest_a stdout ---- [INFO] [stdout] // pest. The Elegant Parser [INFO] [stdout] // Copyright (c) 2018 Dragoș Tiselice [INFO] [stdout] // [INFO] [stdout] // Licensed under the Apache License, Version 2.0 [INFO] [stdout] // or the MIT [INFO] [stdout] // license , at your [INFO] [stdout] // option. All files in the project carrying such notice may not be copied, [INFO] [stdout] // modified, or distributed except according to those terms. [INFO] [stdout] [INFO] [stdout] grammar_rules = _{SOI ~ grammar_rule+ ~ EOI} [INFO] [stdout] [INFO] [stdout] grammar_rule = { [INFO] [stdout] identifier ~ assignment_operator ~ modifier? ~ opening_brace ~ expression ~ closing_brace [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] assignment_operator = {"="} [INFO] [stdout] opening_brace = {"{"} [INFO] [stdout] closing_brace = {"}"} [INFO] [stdout] opening_paren = {"("} [INFO] [stdout] closing_paren = {")"} [INFO] [stdout] opening_brack = {"["} [INFO] [stdout] closing_brack = {"]"} [INFO] [stdout] [INFO] [stdout] modifier = _{ [INFO] [stdout] silent_modifier [INFO] [stdout] | atomic_modifier [INFO] [stdout] | compound_atomic_modifier [INFO] [stdout] | non_atomic_modifier [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] silent_modifier = {"_"} [INFO] [stdout] atomic_modifier = {"@"} [INFO] [stdout] compound_atomic_modifier = {"$"} [INFO] [stdout] non_atomic_modifier = {"!"} [INFO] [stdout] [INFO] [stdout] expression = {term ~ (infix_operator ~ term)*} [INFO] [stdout] term = {prefix_operator* ~ node ~ postfix_operator*} [INFO] [stdout] node = _{opening_paren ~ expression ~ closing_paren|terminal} [INFO] [stdout] terminal = _{_push|peek_slice|identifier|string|insensitive_string|range} [INFO] [stdout] [INFO] [stdout] prefix_operator = _{positive_predicate_operator|negative_predicate_operator} [INFO] [stdout] infix_operator = _{sequence_operator|choice_operator} [INFO] [stdout] postfix_operator = _{ [INFO] [stdout] optional_operator [INFO] [stdout] | repeat_operator [INFO] [stdout] | repeat_once_operator [INFO] [stdout] | repeat_exact [INFO] [stdout] | repeat_min [INFO] [stdout] | repeat_max [INFO] [stdout] | repeat_min_max [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] positive_predicate_operator = {"&"} [INFO] [stdout] negative_predicate_operator = {"!"} [INFO] [stdout] sequence_operator = {"~"} [INFO] [stdout] choice_operator = {"|"} [INFO] [stdout] optional_operator = {"?"} [INFO] [stdout] repeat_operator = {"*"} [INFO] [stdout] repeat_once_operator = {"+"} [INFO] [stdout] [INFO] [stdout] repeat_exact = {opening_brace ~ number ~ closing_brace} [INFO] [stdout] repeat_min = {opening_brace ~ number ~ comma ~ closing_brace} [INFO] [stdout] repeat_max = {opening_brace ~ comma ~ number ~ closing_brace} [INFO] [stdout] repeat_min_max = {opening_brace ~ number ~ comma ~ number ~ closing_brace} [INFO] [stdout] [INFO] [stdout] number = @{'0'..'9'+} [INFO] [stdout] integer = @{number|"-" ~ "0"* ~ '1'..'9' ~ number?} [INFO] [stdout] [INFO] [stdout] comma = {","} [INFO] [stdout] [INFO] [stdout] _push = {"PUSH" ~ opening_paren ~ expression ~ closing_paren} [INFO] [stdout] peek_slice = {"PEEK" ~ opening_brack ~ integer? ~ range_operator ~ integer? ~ closing_brack} [INFO] [stdout] [INFO] [stdout] identifier = @{!"PUSH" ~ ("_"|alpha) ~ ("_"|alpha_num)*} [INFO] [stdout] alpha = _{'a'..'z'|'A'..'Z'} [INFO] [stdout] alpha_num = _{alpha|'0'..'9'} [INFO] [stdout] [INFO] [stdout] string = ${quote ~ inner_str ~ quote} [INFO] [stdout] insensitive_string = {"^" ~ string} [INFO] [stdout] range = {character ~ range_operator ~ character} [INFO] [stdout] character = ${single_quote ~ inner_chr ~ single_quote} [INFO] [stdout] [INFO] [stdout] inner_str = @{(!("\""|"\\") ~ ANY)* ~ (escape ~ inner_str)?} [INFO] [stdout] inner_chr = @{escape|ANY} [INFO] [stdout] escape = @{"\\" ~ ("\""|"\\"|"r"|"n"|"t"|"0"|"'"|code|unicode)} [INFO] [stdout] code = @{"x" ~ hex_digit{2}} [INFO] [stdout] unicode = @{"u" ~ opening_brace ~ hex_digit{2, 6} ~ closing_brace} [INFO] [stdout] hex_digit = @{'0'..'9'|'a'..'f'|'A'..'F'} [INFO] [stdout] [INFO] [stdout] quote = {"\""} [INFO] [stdout] single_quote = {"'"} [INFO] [stdout] range_operator = {".."} [INFO] [stdout] [INFO] [stdout] newline = _{"\n"|"\r\n"} [INFO] [stdout] WHITESPACE = _{" "|"\t"|newline} [INFO] [stdout] block_comment = _{"/*" ~ (block_comment|!"*/" ~ ANY)* ~ "*/"} [INFO] [stdout] COMMENT = _{block_comment|("//" ~ (!newline ~ ANY)*)} [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Error: Os { code: 30, kind: Other, message: "Read-only file system" } [INFO] [stdout] thread 'pest_a' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `1`, [INFO] [stdout] right: `0`: the test returned a termination value with a non-zero status code (1) which indicates a failure', /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/macros.rs:16:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x561fabdc1ad4 - backtrace::backtrace::libunwind::trace::hc1c4a1d8ad423b97 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x561fabdc1ad4 - backtrace::backtrace::trace_unsynchronized::h82274781060cb056 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x561fabdc1ad4 - std::sys_common::backtrace::_print_fmt::h2a45d89b653a4da8 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x561fabdc1ad4 - ::fmt::h41a0a93ab85e6aa1 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x561fabdea71c - core::fmt::write::hdaea18585065a96d [INFO] [stdout] at src/libcore/fmt/mod.rs:1069 [INFO] [stdout] 5: 0x561fabd09595 - std::io::Write::write_fmt::h42f0550b6bd39c6e [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/io/mod.rs:1504 [INFO] [stdout] 6: 0x561fabdbbeb1 - std::io::impls::>::write_fmt::h223d7b7033cad46d [INFO] [stdout] at src/libstd/io/impls.rs:156 [INFO] [stdout] 7: 0x561fabdc43a5 - std::sys_common::backtrace::_print::hd95f9978cc145ca4 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x561fabdc43a5 - std::sys_common::backtrace::print::hfb25ca2291be47d0 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x561fabdc43a5 - std::panicking::default_hook::{{closure}}::h44f76cee5dc8591c [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x561fabdc408b - std::panicking::default_hook::h198e1a712910f1e6 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x561fabdc4a02 - std::panicking::rust_panic_with_hook::hc0b4730bb8013f9d [INFO] [stdout] at src/libstd/panicking.rs:511 [INFO] [stdout] 12: 0x561fabdc45eb - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:419 [INFO] [stdout] 13: 0x561fabdc455b - std::panicking::begin_panic_fmt::h3693eb684a4f728c [INFO] [stdout] at src/libstd/panicking.rs:373 [INFO] [stdout] 14: 0x561fabd07816 - test::assert_test_result::hf9d33a1f8903272a [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/macros.rs:16 [INFO] [stdout] 15: 0x561fabd07a39 - test::pest_a::{{closure}}::h92f87e7ab54d21f3 [INFO] [stdout] at tests/test.rs:7 [INFO] [stdout] 16: 0x561fabd0751e - core::ops::function::FnOnce::call_once::hc61c9eaf815a9613 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 17: 0x561fabd30a26 - as core::ops::function::FnOnce>::call_once::hc165f65f4331a55c [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 18: 0x561fabd30a26 - as core::ops::function::FnOnce<()>>::call_once::hb89f1f769cad07ce [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 19: 0x561fabd30a26 - std::panicking::try::do_call::h104f7f3dae5a1b29 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 20: 0x561fabd30a26 - std::panicking::try::h0e20f01361cba753 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 21: 0x561fabd30a26 - std::panic::catch_unwind::h0bd0c84b5f4cd121 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 22: 0x561fabd30a26 - test::run_test_in_process::hf34c22adfeb6853d [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 23: 0x561fabd30a26 - test::run_test::run_test_inner::{{closure}}::h40d568b4c10a12f1 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 24: 0x561fabd08a46 - std::sys_common::backtrace::__rust_begin_short_backtrace::hffd9774ad3f2d778 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 25: 0x561fabd0ddd5 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h4594020476cf52d4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:475 [INFO] [stdout] 26: 0x561fabd0ddd5 - as core::ops::function::FnOnce<()>>::call_once::h9d0a6d45b73e29e4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 27: 0x561fabd0ddd5 - std::panicking::try::do_call::h902fd77b30bb3bb7 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 28: 0x561fabd0ddd5 - std::panicking::try::hc17d3a628e65d49d [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 29: 0x561fabd0ddd5 - std::panic::catch_unwind::h9c9d49cbb6b18017 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 30: 0x561fabd0ddd5 - std::thread::Builder::spawn_unchecked::{{closure}}::h6a6f5a333fd631a2 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:474 [INFO] [stdout] 31: 0x561fabd0ddd5 - core::ops::function::FnOnce::call_once{{vtable.shim}}::ha6fb197e0ce57f73 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 32: 0x561fabdcb1ea - as core::ops::function::FnOnce>::call_once::h1f1fac7de7dd9691 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 33: 0x561fabdcb1ea - as core::ops::function::FnOnce>::call_once::ha031f48633a6af54 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 34: 0x561fabdcb1ea - std::sys::unix::thread::Thread::new::thread_start::h241864caf436e182 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 35: 0x7f6efcbee609 - start_thread [INFO] [stdout] 36: 0x7f6efcafa103 - __clone [INFO] [stdout] 37: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- arc_a stdout ---- [INFO] [stdout] program = _{SOI ~ (dict_literal|list_literal|statement*) ~ EOI} [INFO] [stdout] statement = _{ [INFO] [stdout] SEPARATOR [INFO] [stdout] | empty_line{1, } [INFO] [stdout] | dict_literal [INFO] [stdout] | dict_scope [INFO] [stdout] | dict_pair [INFO] [stdout] | list_scope [INFO] [stdout] } [INFO] [stdout] empty_line = _{WHITESPACE* ~ NEWLINE} [INFO] [stdout] RestOfLine = {(!NEWLINE ~ ANY)*} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] dict_scope = {dict_head ~ (SEPARATOR? ~ dict_pair)*} [INFO] [stdout] dict_empty = {"{" ~ "}"} [INFO] [stdout] dict_head = {"{" ~ (Append|Insert)? ~ NameSpace ~ "}"} [INFO] [stdout] dict_pair = {NameSpace ~ Set ~ Value} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] list_scope = {list_head ~ (SEPARATOR? ~ list_pair)*} [INFO] [stdout] list_empty = {"[" ~ "]"} [INFO] [stdout] list_head = {"[" ~ (Append|Insert)? ~ NameSpace ~ "]"} [INFO] [stdout] list_pair = { [INFO] [stdout] Insert ~ dict_pair+ [INFO] [stdout] | Append ~ Value [INFO] [stdout] } [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] dict_literal = { [INFO] [stdout] dict_empty [INFO] [stdout] | "{" ~ (SEPARATOR? ~ dict_pair)+ ~ SEPARATOR? ~ "}" [INFO] [stdout] } [INFO] [stdout] list_literal = { [INFO] [stdout] list_empty [INFO] [stdout] | "[" ~ (SEPARATOR? ~ Value)+ ~ SEPARATOR? ~ "]" [INFO] [stdout] } [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] Value = {Byte|Number|Boolean|Null|String|cite_value|dict_literal|list_literal} [INFO] [stdout] //!#D19A66: Null|Unit [INFO] [stdout] Null = @{"null"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] ///#D19A66 [INFO] [stdout] Boolean = !{True|False} [INFO] [stdout] True = @{"true"} [INFO] [stdout] False = @{"false"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] ///#56B6C2 [INFO] [stdout] cite_value = {Cite ~ NameSpace} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] ///#D19A66 [INFO] [stdout] Byte = ${Byte_BIN|Byte_OCT|Byte_HEX} [INFO] [stdout] Byte_BIN = ${Zero ~ ("b"|"B") ~ (Underline? ~ ASCII_BIN_DIGIT)+} [INFO] [stdout] Byte_OCT = ${Zero ~ ("o"|"O") ~ (Underline? ~ ASCII_OCT_DIGIT)+} [INFO] [stdout] Byte_HEX = ${Zero ~ ("x"|"X") ~ (Underline? ~ ASCII_HEX_DIGIT)+} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] ///#D19A66 [INFO] [stdout] Number = ${Complex|DecimalBad|SignedNumber} [INFO] [stdout] SignedNumber = ${Sign? ~ (Decimal|Integer)} [INFO] [stdout] Decimal = ${Integer ~ Dot ~ ASCII_DIGIT+} [INFO] [stdout] DecimalBad = ${Integer ~ Dot|Dot ~ ASCII_DIGIT+} [INFO] [stdout] Integer = @{Zero|ASCII_NONZERO_DIGIT ~ (Underline? ~ ASCII_DIGIT)*} [INFO] [stdout] Complex = {SignedNumber ~ SYMBOL} [INFO] [stdout] [INFO] [stdout] Zero = _{"0"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!#3C963C: String [INFO] [stdout] //!#98C379: StringText|StringLiteralText [INFO] [stdout] String = {SYMBOL? ~ (StringNormal|StringLines|StringCharacter)} [INFO] [stdout] StringLines = {(Accent ~ RestOfLine?)+} [INFO] [stdout] StringCharacter = {Apostrophe ~ StringLiteralText ~ Apostrophe} [INFO] [stdout] StringNormal = {Quotation ~ StringText ~ Quotation} [INFO] [stdout] StringLiteralText = {(Escape ~ (Escape|Apostrophe)|!Apostrophe ~ ANY)*} [INFO] [stdout] StringText = {(Escape ~ (Escape|Quotation)|!Quotation ~ ANY)*} [INFO] [stdout] [INFO] [stdout] Accent = @{"`"} [INFO] [stdout] Apostrophe = @{"'"} [INFO] [stdout] Quotation = @{"\""} [INFO] [stdout] Escape = @{"\\"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] ///#61AFEF [INFO] [stdout] NameSpace = @{Key ~ (Dot ~ Key)*} [INFO] [stdout] Key = {String|SYMBOL|Integer} [INFO] [stdout] SYMBOL = @{XID_CONTINUE+} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] // NEWLINE = @{"\r" ~ "\n"|"\r"|"\n"} [INFO] [stdout] [INFO] [stdout] ///Gray [INFO] [stdout] COMMENT = {MultiLineComment|LineComment} [INFO] [stdout] WHITESPACE = {NEWLINE|SPACE_SEPARATOR|"\t"} [INFO] [stdout] LineComment = ${"%" ~ (!NEWLINE ~ ANY)*} [INFO] [stdout] MultiLineComment = ${"%%%" ~ (MultiLineComment|!"%%%" ~ ANY)* ~ "%%%"} [INFO] [stdout] [INFO] [stdout] Cite = @{"$"} [INFO] [stdout] [INFO] [stdout] Dot = @{"."} [INFO] [stdout] Insert = @{"*"} [INFO] [stdout] Append = @{">"} [INFO] [stdout] [INFO] [stdout] Underline = @{"_"} [INFO] [stdout] SEPARATOR = @{","|";"} [INFO] [stdout] [INFO] [stdout] Set = @{"="|":"} [INFO] [stdout] Sign = @{"+"|"-"} [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Error: Os { code: 30, kind: Other, message: "Read-only file system" } [INFO] [stdout] thread 'arc_a' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `1`, [INFO] [stdout] right: `0`: the test returned a termination value with a non-zero status code (1) which indicates a failure', /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/macros.rs:16:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x561fabdc1ad4 - backtrace::backtrace::libunwind::trace::hc1c4a1d8ad423b97 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x561fabdc1ad4 - backtrace::backtrace::trace_unsynchronized::h82274781060cb056 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x561fabdc1ad4 - std::sys_common::backtrace::_print_fmt::h2a45d89b653a4da8 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x561fabdc1ad4 - ::fmt::h41a0a93ab85e6aa1 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x561fabdea71c - core::fmt::write::hdaea18585065a96d [INFO] [stdout] at src/libcore/fmt/mod.rs:1069 [INFO] [stdout] 5: 0x561fabd09595 - std::io::Write::write_fmt::h42f0550b6bd39c6e [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/io/mod.rs:1504 [INFO] [stdout] 6: 0x561fabdbbeb1 - std::io::impls::>::write_fmt::h223d7b7033cad46d [INFO] [stdout] at src/libstd/io/impls.rs:156 [INFO] [stdout] 7: 0x561fabdc43a5 - std::sys_common::backtrace::_print::hd95f9978cc145ca4 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x561fabdc43a5 - std::sys_common::backtrace::print::hfb25ca2291be47d0 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x561fabdc43a5 - std::panicking::default_hook::{{closure}}::h44f76cee5dc8591c [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x561fabdc408b - std::panicking::default_hook::h198e1a712910f1e6 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x561fabdc4a02 - std::panicking::rust_panic_with_hook::hc0b4730bb8013f9d [INFO] [stdout] at src/libstd/panicking.rs:511 [INFO] [stdout] 12: 0x561fabdc45eb - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:419 [INFO] [stdout] 13: 0x561fabdc455b - std::panicking::begin_panic_fmt::h3693eb684a4f728c [INFO] [stdout] at src/libstd/panicking.rs:373 [INFO] [stdout] 14: 0x561fabd07816 - test::assert_test_result::hf9d33a1f8903272a [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/macros.rs:16 [INFO] [stdout] 15: 0x561fabd080d9 - test::arc_a::{{closure}}::h05801b84c6ee66a3 [INFO] [stdout] at tests/test.rs:43 [INFO] [stdout] 16: 0x561fabd0748e - core::ops::function::FnOnce::call_once::h3f51afb9e60887b7 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 17: 0x561fabd30a26 - as core::ops::function::FnOnce>::call_once::hc165f65f4331a55c [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 18: 0x561fabd30a26 - as core::ops::function::FnOnce<()>>::call_once::hb89f1f769cad07ce [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 19: 0x561fabd30a26 - std::panicking::try::do_call::h104f7f3dae5a1b29 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 20: 0x561fabd30a26 - std::panicking::try::h0e20f01361cba753 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 21: 0x561fabd30a26 - std::panic::catch_unwind::h0bd0c84b5f4cd121 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 22: 0x561fabd30a26 - test::run_test_in_process::hf34c22adfeb6853d [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 23: 0x561fabd30a26 - test::run_test::run_test_inner::{{closure}}::h40d568b4c10a12f1 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 24: 0x561fabd08a46 - std::sys_common::backtrace::__rust_begin_short_backtrace::hffd9774ad3f2d778 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 25: 0x561fabd0ddd5 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h4594020476cf52d4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:475 [INFO] [stdout] 26: 0x561fabd0ddd5 - as core::ops::function::FnOnce<()>>::call_once::h9d0a6d45b73e29e4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 27: 0x561fabd0ddd5 - std::panicking::try::do_call::h902fd77b30bb3bb7 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 28: 0x561fabd0ddd5 - std::panicking::try::hc17d3a628e65d49d [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 29: 0x561fabd0ddd5 - std::panic::catch_unwind::h9c9d49cbb6b18017 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 30: 0x561fabd0ddd5 - std::thread::Builder::spawn_unchecked::{{closure}}::h6a6f5a333fd631a2 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:474 [INFO] [stdout] 31: 0x561fabd0ddd5 - core::ops::function::FnOnce::call_once{{vtable.shim}}::ha6fb197e0ce57f73 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 32: 0x561fabdcb1ea - as core::ops::function::FnOnce>::call_once::h1f1fac7de7dd9691 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 33: 0x561fabdcb1ea - as core::ops::function::FnOnce>::call_once::ha031f48633a6af54 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 34: 0x561fabdcb1ea - std::sys::unix::thread::Thread::new::thread_start::h241864caf436e182 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 35: 0x7f6efcbee609 - start_thread [INFO] [stdout] 36: 0x7f6efcafa103 - __clone [INFO] [stdout] 37: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- valkyrie_a stdout ---- [INFO] [stdout] program = _{SOI ~ statement* ~ EOI} [INFO] [stdout] [INFO] [stdout] statement = { [INFO] [stdout] emptyStatement [INFO] [stdout] | importStatement ~ eos? [INFO] [stdout] | traitStatement ~ eos? [INFO] [stdout] | controlFlow ~ eos? [INFO] [stdout] | assignStatement ~ eos? [INFO] [stdout] | defineStatement ~ eos? [INFO] [stdout] | annotation ~ eos? [INFO] [stdout] | expression [INFO] [stdout] } [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] emptyStatement = {eos|Separate} [INFO] [stdout] eos = {Semicolon} [INFO] [stdout] comma_or_semi = _{Comma|Semicolon} [INFO] [stdout] block_or_stmt = _{block|Set ~ statement} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //FIXME: 修复 nested using [INFO] [stdout] importStatement = { [INFO] [stdout] Import ~ Dot* ~ use_alias [INFO] [stdout] | Import ~ Dot* ~ use_module_select [INFO] [stdout] | Import ~ use_module_string [INFO] [stdout] } [INFO] [stdout] use_alias = !{String ~ As ~ SYMBOL|SYMBOL ~ (ModuleSplit ~ SYMBOL)* ~ As ~ SYMBOL} [INFO] [stdout] use_module_select = !{SYMBOL ~ (ModuleSplit ~ SYMBOL)* ~ (ModuleSplit ~ (module_block|Star))?} [INFO] [stdout] use_module_string = !{String ~ (ModuleSplit ~ (module_block|Star))?} [INFO] [stdout] module_block = {"{" ~ module_tuple ~ (comma_or_semi? ~ module_tuple)* ~ comma_or_semi? ~ "}"} [INFO] [stdout] module_tuple = {use_alias|use_module_select} [INFO] [stdout] ModuleSplit = _{Dot|Proportion} [INFO] [stdout] //!#C678DD: With|Import|As [INFO] [stdout] With = @{"with"} [INFO] [stdout] Import = @{"import"} [INFO] [stdout] As = @{"as"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] controlFlow = _{if_statement|for_statement} [INFO] [stdout] block = !{"{" ~ statement+ ~ "}"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] if_statement = {if_nested_else|if_nested|if_single_else|if_single} [INFO] [stdout] if_single = _{If ~ condition ~ block} [INFO] [stdout] if_nested = _{If ~ condition ~ block ~ else_if_block+} [INFO] [stdout] if_single_else = _{If ~ condition ~ block ~ if_else_block} [INFO] [stdout] if_nested_else = _{If ~ condition ~ block ~ else_if_block+ ~ if_else_block} [INFO] [stdout] else_if_block = _{Else ~ If ~ condition ~ block} [INFO] [stdout] if_else_block = _{Else ~ block} [INFO] [stdout] //!#C678DD: If|Else [INFO] [stdout] If = @{"if"} [INFO] [stdout] Else = @{"else"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] for_statement = {For ~ for_in_loop} [INFO] [stdout] for_in_loop = {SYMBOL ~ In ~ expr ~ block} [INFO] [stdout] //!#C678DD: For|In [INFO] [stdout] For = @{"for"} [INFO] [stdout] In = @{"in"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!#C678DD: Return|Break|Pass [INFO] [stdout] Return = @{"return"} [INFO] [stdout] Break = @{"break"} [INFO] [stdout] Pass = @{"pass"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] traitStatement = {trait_head ~ "{" ~ traitExpression* ~ "}"} [INFO] [stdout] trait_head = _{Trait ~ SYMBOL ~ classExtend?} [INFO] [stdout] traitExpression = {interfaceFunction ~ type_hint ~ comma_or_semi?} [INFO] [stdout] interfaceFunction = {SYMBOL ~ "(" ~ interfaceParameters? ~ ")" ~ Question?} [INFO] [stdout] interfaceParameters = {expr ~ SYMBOL ~ (Comma ~ expr ~ SYMBOL)*} [INFO] [stdout] classExtend = ${"extend"} [INFO] [stdout] Trait = @{"trait"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] assignStatement = {Let ~ assign_terms} [INFO] [stdout] assign_terms = _{ [INFO] [stdout] "(" ~ assign_name ~ ")" ~ type_hint? ~ block_or_stmt? [INFO] [stdout] | assign_name ~ type_hint? ~ block_or_stmt? [INFO] [stdout] } [INFO] [stdout] assign_name = _{assign_pair ~ (Comma ~ assign_pair)* ~ Comma?} [INFO] [stdout] assign_pair = {(!(SYMBOL ~ (Comma|Set|Colon|Semicolon|"{"|"}"|"("|")"|"<"|">")) ~ SYMBOL)* ~ Symbol} [INFO] [stdout] [INFO] [stdout] ///#C678DD [INFO] [stdout] Let = @{"let"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] defineStatement = {Def ~ define_terms} [INFO] [stdout] define_terms = _{ [INFO] [stdout] assign_pair ~ parametric_types ~ define_parameter ~ type_hint? ~ parametric_terms* ~ block_or_stmt [INFO] [stdout] | assign_pair ~ define_parameter ~ type_hint? ~ parametric_types_where? ~ parametric_terms* ~ block_or_stmt [INFO] [stdout] } [INFO] [stdout] define_parameter = { [INFO] [stdout] "(" ~ ")" [INFO] [stdout] } [INFO] [stdout] parametric_terms = { [INFO] [stdout] expr ~ Colon ~ expr ~ eos? [INFO] [stdout] } [INFO] [stdout] parametric_types = {"<" ~ parametric_types_pair ~ (Comma ~ parametric_types_pair)* ~ ">"} [INFO] [stdout] parametric_types_pair = {(Plus|Minus)? ~ SYMBOL} [INFO] [stdout] parametric_types_where = { [INFO] [stdout] Where ~ SYMBOL ~ (Comma ~ SYMBOL)* ~ eos? [INFO] [stdout] } [INFO] [stdout] //!#C678DD: Def|Where [INFO] [stdout] Def = @{"def"} [INFO] [stdout] Where = @{"where"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!Orange:annotation_call [INFO] [stdout] annotation = {annotation_call+ ~ statement} [INFO] [stdout] annotation_call = @{At ~ (list|apply|Symbol)} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] apply = { [INFO] [stdout] generic_type? ~ "(" ~ apply_kv? ~ (Comma ~ apply_kv)* ~ Comma? ~ ")" [INFO] [stdout] } [INFO] [stdout] apply_kv = {SYMBOL ~ Colon ~ expr|expr} [INFO] [stdout] [INFO] [stdout] ///#61AFEF [INFO] [stdout] function_name = {SYMBOL} [INFO] [stdout] function_module = {(namespace ~ Dot)? ~ (SYMBOL ~ Dot)*} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] expression = {expr ~ eos?} [INFO] [stdout] expr = !{ [INFO] [stdout] trinocular [INFO] [stdout] | term ~ (Infix ~ term)* [INFO] [stdout] } [INFO] [stdout] term = {Prefix* ~ node ~ Suffix*} [INFO] [stdout] node = {"(" ~ expr ~ ")"|tuple|bracket_call|data} [INFO] [stdout] tuple = {"(" ~ expr ~ (Comma ~ expr)* ~ Comma? ~ ")"} [INFO] [stdout] bracket_call = {data ~ (slice|generic_type|apply)+} [INFO] [stdout] bracket_apply = {Symbol ~ dict} [INFO] [stdout] condition = _{"(" ~ expr ~ ")"|expr} [INFO] [stdout] trinocular = { [INFO] [stdout] term ~ Question ~ term ~ Colon ~ term [INFO] [stdout] | term ~ If ~ term ~ Else ~ term [INFO] [stdout] } [INFO] [stdout] dot_call = {term ~ Dot ~ (Integer|Symbol)} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!#E06C75: type_hint|generic_type|parametric_types_pair [INFO] [stdout] //type_expr = _{type_term~ TypeInfix ~type_term} [INFO] [stdout] //type_term = {TypePrefix* ~ type_node ~ TypeSuffix*} [INFO] [stdout] //type_node = {"(" ~ type_expr ~ ")"|data} [INFO] [stdout] type_hint = {Colon ~ expr} [INFO] [stdout] generic_type = {"<" ~ expr ~ (Comma ~ expr)* ~ Comma? ~ ">"} [INFO] [stdout] //!#C678DD: Type|To [INFO] [stdout] Type = @{"type"} [INFO] [stdout] //TypePrefix = @{Plus|Minus} [INFO] [stdout] //TypeSuffix = @{Question} [INFO] [stdout] //TypeInfix = @{Or} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] data = ${dict|list|Null|Unit|Boolean|Byte|Number|String|Symbol} [INFO] [stdout] dict = {"{" ~ key_value? ~ (Comma ~ key_value)* ~ Comma? ~ "}"} [INFO] [stdout] list = {"[" ~ expr? ~ (Comma ~ expr)* ~ Comma? ~ "]"} [INFO] [stdout] slice = {"[" ~ index ~ (Comma ~ index)* ~ Comma? ~ "]"} [INFO] [stdout] index = {index_step|index_range|expr} [INFO] [stdout] key_value = !{key_valid ~ Colon ~ expr} [INFO] [stdout] key_valid = !{Integer|SYMBOL|String} [INFO] [stdout] index_range = !{expr? ~ Colon ~ expr?} [INFO] [stdout] index_step = !{expr? ~ Colon ~ expr? ~ Colon ~ expr?} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!#D19A66: Null|Unit [INFO] [stdout] Null = @{"null"} [INFO] [stdout] Unit = !{"(" ~ ")"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] ///#D19A66 [INFO] [stdout] Boolean = !{True|False} [INFO] [stdout] True = @{"true"} [INFO] [stdout] False = @{"false"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] ///#D19A66 [INFO] [stdout] Byte = ${Byte_BIN|Byte_OCT|Byte_HEX} [INFO] [stdout] Byte_BIN = ${Zero ~ B ~ (Underline? ~ ASCII_BIN_DIGIT)+} [INFO] [stdout] Byte_OCT = ${Zero ~ O ~ (Underline? ~ ASCII_OCT_DIGIT)+} [INFO] [stdout] Byte_HEX = ${Zero ~ X ~ (Underline? ~ ASCII_HEX_DIGIT)+} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!#D19A66: Integer|Decimal|DecimalBad [INFO] [stdout] Number = ${Complex|Decimal|DecimalBad|Integer} [INFO] [stdout] Decimal = ${Integer ~ Dot ~ ASCII_DIGIT+} [INFO] [stdout] DecimalBad = ${Integer ~ Dot|Dot ~ ASCII_DIGIT+} [INFO] [stdout] Integer = @{Zero|ASCII_NONZERO_DIGIT ~ (Underline? ~ ASCII_DIGIT)*} [INFO] [stdout] Complex = {(Decimal|Integer) ~ SYMBOL} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!#3C963C: String [INFO] [stdout] //!#98C379: StringText|StringLiteralText [INFO] [stdout] String = ${SYMBOL? ~ (StringNormal|StringLiteral|StringEmpty)} [INFO] [stdout] StringLiteral = {StringStart ~ StringLiteralText ~ StringEnd} [INFO] [stdout] StringNormal = {Quotation ~ StringText ~ Quotation} [INFO] [stdout] StringEmpty = {Quotation{2}|Apostrophe{2}} [INFO] [stdout] StringLiteralText = {(!(Apostrophe ~ PEEK) ~ ANY)*} [INFO] [stdout] StringText = {(Solidus ~ (Solidus|Quotation)|!Quotation ~ ANY)*} [INFO] [stdout] StringStart = @{Apostrophe{1} ~ (Apostrophe*)} [INFO] [stdout] StringEnd = @{POP ~ Apostrophe{1}} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] // NEWLINE = @{"\r"~"\n"|"\r"|"\n"} [INFO] [stdout] WHITESPACE = _{NEWLINE|SPACE_SEPARATOR|"\t"} [INFO] [stdout] //!#7F848E: MultiLineComment [INFO] [stdout] COMMENT = {MultiLineComment|LineCommentSimple|LineCommentTodo|LineCommentFixme|LineCommentWarning} [INFO] [stdout] ///Gray [INFO] [stdout] LineCommentSimple = ${"///" ~ (!NEWLINE ~ ANY)*} [INFO] [stdout] ///Green [INFO] [stdout] LineCommentTodo = ${"//?" ~ (!NEWLINE ~ ANY)*} [INFO] [stdout] ///Red [INFO] [stdout] LineCommentFixme = ${"//!" ~ (!NEWLINE ~ ANY)*} [INFO] [stdout] ///Yellow [INFO] [stdout] LineCommentWarning = ${"//*" ~ (!NEWLINE ~ ANY)*} [INFO] [stdout] ///Gray [INFO] [stdout] MultiLineComment = ${"%%%" ~ (MultiLineComment|!"%%%" ~ ANY)* ~ "%%%"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] ///#61AFEF [INFO] [stdout] Symbol = ${namespace|Underline+|SYMBOL} [INFO] [stdout] namespace = ${SYMBOL ~ (Proportion ~ SYMBOL)+} [INFO] [stdout] SYMBOL = @{ [INFO] [stdout] XID_START ~ XID_CONTINUE* [INFO] [stdout] | Underline ~ XID_CONTINUE+ [INFO] [stdout] } [INFO] [stdout] Keywords = _{If|For} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] Zero = _{"0"} [INFO] [stdout] X = _{"x"|"X"} [INFO] [stdout] O = _{"o"|"O"} [INFO] [stdout] B = _{"b"|"B"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!#56B6C2: Prefix|Infix|Postfix [INFO] [stdout] Prefix = @{ [INFO] [stdout] (Bang|Plus|Minus|Star) [INFO] [stdout] } [INFO] [stdout] Suffix = @{ [INFO] [stdout] (Bang|Question) [INFO] [stdout] | DoubleBang [INFO] [stdout] } [INFO] [stdout] Infix = _{ [INFO] [stdout] Set [INFO] [stdout] | Plus [INFO] [stdout] | Minus [INFO] [stdout] | Multiply [INFO] [stdout] | CenterDot [INFO] [stdout] | Kronecker [INFO] [stdout] | TensorProduct [INFO] [stdout] | Divide [INFO] [stdout] | Quotient [INFO] [stdout] | Modulo [INFO] [stdout] | Power [INFO] [stdout] | Grater [INFO] [stdout] | GraterEqual [INFO] [stdout] | Equal [INFO] [stdout] | Dot [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] ///#56B6C2 [INFO] [stdout] Set = @{"="} [INFO] [stdout] [INFO] [stdout] Or = @{"|"} [INFO] [stdout] LazyOr = @{"||"} [INFO] [stdout] [INFO] [stdout] Star = @{"*"} [INFO] [stdout] Slash = @{"/"} [INFO] [stdout] Solidus = @{"\\"} [INFO] [stdout] [INFO] [stdout] Proportion = @{"::"|"∷"} [INFO] [stdout] [INFO] [stdout] //U+2237 [INFO] [stdout] Comma = @{","|","} [INFO] [stdout] [INFO] [stdout] //U+FF0C [INFO] [stdout] Dot = @{"."} [INFO] [stdout] Separate = @{";;"} [INFO] [stdout] Semicolon = @{";"|";"} [INFO] [stdout] [INFO] [stdout] //U+FF1B [INFO] [stdout] Colon = @{":"|":"} [INFO] [stdout] [INFO] [stdout] //U+FF1A [INFO] [stdout] ///#56B6C2 [INFO] [stdout] Question = @{"?"} [INFO] [stdout] Underline = @{"_"} [INFO] [stdout] [INFO] [stdout] Load = @{"<<<"|"⋘"} [INFO] [stdout] [INFO] [stdout] //U+22D8 [INFO] [stdout] Save = @{">>>"|"⋙"} [INFO] [stdout] [INFO] [stdout] //U+22D9 [INFO] [stdout] LeftShift = @{"<<"|"≪"} [INFO] [stdout] [INFO] [stdout] //U+226A [INFO] [stdout] RightShift = @{">>"|"≫"} [INFO] [stdout] [INFO] [stdout] //U+226B [INFO] [stdout] LessEqual = @{"<="} [INFO] [stdout] GraterEqual = @{">="} [INFO] [stdout] Less = @{"<"} [INFO] [stdout] Grater = @{">"} [INFO] [stdout] [INFO] [stdout] Equivalent = @{"==="} [INFO] [stdout] NotEquivalent = @{"=!="} [INFO] [stdout] Equal = @{"=="} [INFO] [stdout] NotEqual = @{"!="|"≠"} [INFO] [stdout] [INFO] [stdout] //U+2260 [INFO] [stdout] [INFO] [stdout] Plus = @{"+"} [INFO] [stdout] Minus = @{"-"} [INFO] [stdout] [INFO] [stdout] Multiply = @{Star|"×"} [INFO] [stdout] [INFO] [stdout] //U+00D7 [INFO] [stdout] CenterDot = @{"⋅"} [INFO] [stdout] [INFO] [stdout] //U+22C5 [INFO] [stdout] Kronecker = @{"⊗"} [INFO] [stdout] [INFO] [stdout] //U+2297 [INFO] [stdout] TensorProduct = @{"⊙"} [INFO] [stdout] [INFO] [stdout] //U+2299 [INFO] [stdout] Divide = @{Slash|"÷"} [INFO] [stdout] [INFO] [stdout] //U+00F7 [INFO] [stdout] Quotient = @{"//"} [INFO] [stdout] Modulo = @{"%"} [INFO] [stdout] Remainder = @{"⁒"} [INFO] [stdout] [INFO] [stdout] //U+2052 //⸓ [INFO] [stdout] [INFO] [stdout] Power = @{"^"} [INFO] [stdout] Surd = @{"√"} [INFO] [stdout] [INFO] [stdout] //U+221A [INFO] [stdout] [INFO] [stdout] Increase = @{"++"} [INFO] [stdout] Decrease = @{"--"} [INFO] [stdout] [INFO] [stdout] To = @{"->"} [INFO] [stdout] [INFO] [stdout] Elvis = @{":?"} [INFO] [stdout] Map = @{"/@"} [INFO] [stdout] [INFO] [stdout] Quote = @{"`"} [INFO] [stdout] Acute = @{"´"} [INFO] [stdout] [INFO] [stdout] // U+00B4 [INFO] [stdout] Apostrophe = @{"'"} [INFO] [stdout] Quotation = @{"\""} [INFO] [stdout] [INFO] [stdout] LogicOr = @{"||"|"∧"} [INFO] [stdout] [INFO] [stdout] //U+2227 [INFO] [stdout] LogicAnd = @{"&&"|"∨"} [INFO] [stdout] [INFO] [stdout] //U+2228 [INFO] [stdout] LogicNot = @{"¬"} [INFO] [stdout] [INFO] [stdout] //U+00AC [INFO] [stdout] [INFO] [stdout] Ellipsis = @{"..."|"…"} [INFO] [stdout] [INFO] [stdout] // U+2026 [INFO] [stdout] [INFO] [stdout] LogicXor = @{"⊕"} [INFO] [stdout] [INFO] [stdout] //U+2295 [INFO] [stdout] MapAll = @{"//@"} [INFO] [stdout] [INFO] [stdout] Output = @{"%%"} [INFO] [stdout] [INFO] [stdout] Concat = @{"~~"} [INFO] [stdout] Destruct = @{"~="} [INFO] [stdout] [INFO] [stdout] DoubleBang = @{"!!"} [INFO] [stdout] Bang = @{"!"} [INFO] [stdout] [INFO] [stdout] Sharp = @{"#"} [INFO] [stdout] [INFO] [stdout] Curry = @{"@@@"} [INFO] [stdout] Apply = @{"@@"} [INFO] [stdout] At = @{"@"} [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Error: Os { code: 30, kind: Other, message: "Read-only file system" } [INFO] [stdout] thread 'valkyrie_a' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `1`, [INFO] [stdout] right: `0`: the test returned a termination value with a non-zero status code (1) which indicates a failure', /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/macros.rs:16:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x561fabdc1ad4 - backtrace::backtrace::libunwind::trace::hc1c4a1d8ad423b97 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x561fabdc1ad4 - backtrace::backtrace::trace_unsynchronized::h82274781060cb056 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x561fabdc1ad4 - std::sys_common::backtrace::_print_fmt::h2a45d89b653a4da8 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x561fabdc1ad4 - ::fmt::h41a0a93ab85e6aa1 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x561fabdea71c - core::fmt::write::hdaea18585065a96d [INFO] [stdout] at src/libcore/fmt/mod.rs:1069 [INFO] [stdout] 5: 0x561fabd09595 - std::io::Write::write_fmt::h42f0550b6bd39c6e [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/io/mod.rs:1504 [INFO] [stdout] 6: 0x561fabdbbeb1 - std::io::impls::>::write_fmt::h223d7b7033cad46d [INFO] [stdout] at src/libstd/io/impls.rs:156 [INFO] [stdout] 7: 0x561fabdc43a5 - std::sys_common::backtrace::_print::hd95f9978cc145ca4 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x561fabdc43a5 - std::sys_common::backtrace::print::hfb25ca2291be47d0 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x561fabdc43a5 - std::panicking::default_hook::{{closure}}::h44f76cee5dc8591c [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x561fabdc408b - std::panicking::default_hook::h198e1a712910f1e6 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x561fabdc4a02 - std::panicking::rust_panic_with_hook::hc0b4730bb8013f9d [INFO] [stdout] at src/libstd/panicking.rs:511 [INFO] [stdout] 12: 0x561fabdc45eb - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:419 [INFO] [stdout] 13: 0x561fabdc455b - std::panicking::begin_panic_fmt::h3693eb684a4f728c [INFO] [stdout] at src/libstd/panicking.rs:373 [INFO] [stdout] 14: 0x561fabd07816 - test::assert_test_result::hf9d33a1f8903272a [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/macros.rs:16 [INFO] [stdout] 15: 0x561fabd07d89 - test::valkyrie_a::{{closure}}::h39c3f1aa1b284eda [INFO] [stdout] at tests/test.rs:25 [INFO] [stdout] 16: 0x561fabd074ee - core::ops::function::FnOnce::call_once::h91ceacc69d2f4dff [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 17: 0x561fabd30a26 - as core::ops::function::FnOnce>::call_once::hc165f65f4331a55c [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 18: 0x561fabd30a26 - as core::ops::function::FnOnce<()>>::call_once::hb89f1f769cad07ce [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 19: 0x561fabd30a26 - std::panicking::try::do_call::h104f7f3dae5a1b29 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 20: 0x561fabd30a26 - std::panicking::try::h0e20f01361cba753 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 21: 0x561fabd30a26 - std::panic::catch_unwind::h0bd0c84b5f4cd121 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 22: 0x561fabd30a26 - test::run_test_in_process::hf34c22adfeb6853d [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 23: 0x561fabd30a26 - test::run_test::run_test_inner::{{closure}}::h40d568b4c10a12f1 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 24: 0x561fabd08a46 - std::sys_common::backtrace::__rust_begin_short_backtrace::hffd9774ad3f2d778 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 25: 0x561fabd0ddd5 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h4594020476cf52d4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:475 [INFO] [stdout] 26: 0x561fabd0ddd5 - as core::ops::function::FnOnce<()>>::call_once::h9d0a6d45b73e29e4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 27: 0x561fabd0ddd5 - std::panicking::try::do_call::h902fd77b30bb3bb7 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 28: 0x561fabd0ddd5 - std::panicking::try::hc17d3a628e65d49d [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 29: 0x561fabd0ddd5 - std::panic::catch_unwind::h9c9d49cbb6b18017 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 30: 0x561fabd0ddd5 - std::thread::Builder::spawn_unchecked::{{closure}}::h6a6f5a333fd631a2 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:474 [INFO] [stdout] 31: 0x561fabd0ddd5 - core::ops::function::FnOnce::call_once{{vtable.shim}}::ha6fb197e0ce57f73 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 32: 0x561fabdcb1ea - as core::ops::function::FnOnce>::call_once::h1f1fac7de7dd9691 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 33: 0x561fabdcb1ea - as core::ops::function::FnOnce>::call_once::ha031f48633a6af54 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 34: 0x561fabdcb1ea - std::sys::unix::thread::Thread::new::thread_start::h241864caf436e182 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 35: 0x7f6efcbee609 - start_thread [INFO] [stdout] 36: 0x7f6efcafa103 - __clone [INFO] [stdout] 37: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- valkyrie_b stdout ---- [INFO] [stdout] program = _{SOI ~ statement* ~ EOI} [INFO] [stdout] [INFO] [stdout] statement = { [INFO] [stdout] emptyStatement | [INFO] [stdout] importStatement ~ eos? | [INFO] [stdout] traitStatement ~ eos? | [INFO] [stdout] controlFlow ~ eos? | [INFO] [stdout] assignStatement ~ eos? | [INFO] [stdout] defineStatement ~ eos? | [INFO] [stdout] annotation ~ eos? | [INFO] [stdout] expression [INFO] [stdout] } [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] emptyStatement = {eos|Separate} [INFO] [stdout] eos = {Semicolon} [INFO] [stdout] comma_or_semi = _{Comma|Semicolon} [INFO] [stdout] block_or_stmt = _{block|Set ~ statement} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //FIXME: 修复 nested using [INFO] [stdout] importStatement = { [INFO] [stdout] Import ~ Dot* ~ use_alias | [INFO] [stdout] Import ~ Dot* ~ use_module_select | [INFO] [stdout] Import ~ use_module_string [INFO] [stdout] } [INFO] [stdout] use_alias = !{String ~ As ~ SYMBOL|SYMBOL ~ (ModuleSplit ~ SYMBOL)* ~ As ~ SYMBOL} [INFO] [stdout] use_module_select = !{SYMBOL ~ (ModuleSplit ~ SYMBOL)* ~ (ModuleSplit ~ (module_block|Star))?} [INFO] [stdout] use_module_string = !{String ~ (ModuleSplit ~ (module_block|Star))?} [INFO] [stdout] module_block = {"{" ~ module_tuple ~ (comma_or_semi? ~ module_tuple)* ~ comma_or_semi? ~ "}"} [INFO] [stdout] module_tuple = {use_alias|use_module_select} [INFO] [stdout] ModuleSplit = _{Dot|Proportion} [INFO] [stdout] //!#C678DD: With|Import|As [INFO] [stdout] With = @{"with"} [INFO] [stdout] Import = @{"import"} [INFO] [stdout] As = @{"as"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] controlFlow = _{if_statement|for_statement} [INFO] [stdout] block = !{"{" ~ statement+ ~ "}"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] if_statement = {if_nested_else|if_nested|if_single_else|if_single} [INFO] [stdout] if_single = _{If ~ condition ~ block} [INFO] [stdout] if_nested = _{If ~ condition ~ block ~ else_if_block+} [INFO] [stdout] if_single_else = _{If ~ condition ~ block ~ if_else_block} [INFO] [stdout] if_nested_else = _{If ~ condition ~ block ~ else_if_block+ ~ if_else_block} [INFO] [stdout] else_if_block = _{Else ~ If ~ condition ~ block} [INFO] [stdout] if_else_block = _{Else ~ block} [INFO] [stdout] //!#C678DD: If|Else [INFO] [stdout] If = @{"if"} [INFO] [stdout] Else = @{"else"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] for_statement = {For ~ for_in_loop} [INFO] [stdout] for_in_loop = {SYMBOL ~ In ~ expr ~ block} [INFO] [stdout] //!#C678DD: For|In [INFO] [stdout] For = @{"for"} [INFO] [stdout] In = @{"in"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!#C678DD: Return|Break|Pass [INFO] [stdout] Return = @{"return"} [INFO] [stdout] Break = @{"break"} [INFO] [stdout] Pass = @{"pass"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] traitStatement = {trait_head ~ "{" ~ traitExpression* ~ "}"} [INFO] [stdout] trait_head = _{Trait ~ SYMBOL ~ classExtend?} [INFO] [stdout] traitExpression = {interfaceFunction ~ type_hint ~ comma_or_semi?} [INFO] [stdout] interfaceFunction = {SYMBOL ~ "(" ~ interfaceParameters? ~ ")" ~ Question?} [INFO] [stdout] interfaceParameters = {expr ~ SYMBOL ~ (Comma ~ expr ~ SYMBOL)*} [INFO] [stdout] classExtend = ${"extend"} [INFO] [stdout] Trait = @{"trait"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] assignStatement = {Let ~ assign_terms} [INFO] [stdout] assign_terms = _{ [INFO] [stdout] "(" ~ assign_name ~ ")" ~ type_hint? ~ block_or_stmt? | [INFO] [stdout] assign_name ~ type_hint? ~ block_or_stmt? [INFO] [stdout] } [INFO] [stdout] assign_name = _{assign_pair ~ (Comma ~ assign_pair)* ~ Comma?} [INFO] [stdout] assign_pair = {(!(SYMBOL ~ (Comma|Set|Colon|Semicolon|"{"|"}"|"("|")"|"<"|">")) ~ SYMBOL)* ~ Symbol} [INFO] [stdout] [INFO] [stdout] ///#C678DD [INFO] [stdout] Let = @{"let"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] defineStatement = {Def ~ define_terms} [INFO] [stdout] define_terms = _{ [INFO] [stdout] assign_pair ~ parametric_types ~ define_parameter ~ type_hint? ~ parametric_terms* ~ block_or_stmt | [INFO] [stdout] assign_pair ~ define_parameter ~ type_hint? ~ parametric_types_where? ~ parametric_terms* ~ block_or_stmt [INFO] [stdout] } [INFO] [stdout] define_parameter = { [INFO] [stdout] "(" ~ ")" [INFO] [stdout] } [INFO] [stdout] parametric_terms = { [INFO] [stdout] expr ~ Colon ~ expr ~ eos? [INFO] [stdout] } [INFO] [stdout] parametric_types = {"<" ~ parametric_types_pair ~ (Comma ~ parametric_types_pair)* ~ ">"} [INFO] [stdout] parametric_types_pair = {(Plus|Minus)? ~ SYMBOL} [INFO] [stdout] parametric_types_where = { [INFO] [stdout] Where ~ SYMBOL ~ (Comma ~ SYMBOL)* ~ eos? [INFO] [stdout] } [INFO] [stdout] //!#C678DD: Def|Where [INFO] [stdout] Def = @{"def"} [INFO] [stdout] Where = @{"where"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!Orange:annotation_call [INFO] [stdout] annotation = {annotation_call+ ~ statement} [INFO] [stdout] annotation_call = @{At ~ (list|apply|Symbol)} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] apply = { [INFO] [stdout] generic_type? ~ "(" ~ apply_kv? ~ (Comma ~ apply_kv)* ~ Comma? ~ ")" [INFO] [stdout] } [INFO] [stdout] apply_kv = {SYMBOL ~ Colon ~ expr|expr} [INFO] [stdout] [INFO] [stdout] ///#61AFEF [INFO] [stdout] function_name = {SYMBOL} [INFO] [stdout] function_module = {(namespace ~ Dot)? ~ (SYMBOL ~ Dot)*} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] expression = {expr ~ eos?} [INFO] [stdout] expr = !{ [INFO] [stdout] trinocular | [INFO] [stdout] term ~ (Infix ~ term)* [INFO] [stdout] } [INFO] [stdout] term = {Prefix* ~ node ~ Suffix*} [INFO] [stdout] node = {"(" ~ expr ~ ")"|tuple|bracket_call|data} [INFO] [stdout] tuple = {"(" ~ expr ~ (Comma ~ expr)* ~ Comma? ~ ")"} [INFO] [stdout] bracket_call = {data ~ (slice|generic_type|apply)+} [INFO] [stdout] bracket_apply = {Symbol ~ dict} [INFO] [stdout] condition = _{"(" ~ expr ~ ")"|expr} [INFO] [stdout] trinocular = { [INFO] [stdout] term ~ Question ~ term ~ Colon ~ term | [INFO] [stdout] term ~ If ~ term ~ Else ~ term [INFO] [stdout] } [INFO] [stdout] dot_call = {term ~ Dot ~ (Integer|Symbol)} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!#E06C75: type_hint|generic_type|parametric_types_pair [INFO] [stdout] //type_expr = _{type_term~ TypeInfix ~type_term} [INFO] [stdout] //type_term = {TypePrefix* ~ type_node ~ TypeSuffix*} [INFO] [stdout] //type_node = {"(" ~ type_expr ~ ")"|data} [INFO] [stdout] type_hint = {Colon ~ expr} [INFO] [stdout] generic_type = {"<" ~ expr ~ (Comma ~ expr)* ~ Comma? ~ ">"} [INFO] [stdout] //!#C678DD: Type|To [INFO] [stdout] Type = @{"type"} [INFO] [stdout] //TypePrefix = @{Plus|Minus} [INFO] [stdout] //TypeSuffix = @{Question} [INFO] [stdout] //TypeInfix = @{Or} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] data = ${dict|list|Null|Unit|Boolean|Byte|Number|String|Symbol} [INFO] [stdout] dict = {"{" ~ key_value? ~ (Comma ~ key_value)* ~ Comma? ~ "}"} [INFO] [stdout] list = {"[" ~ expr? ~ (Comma ~ expr)* ~ Comma? ~ "]"} [INFO] [stdout] slice = {"[" ~ index ~ (Comma ~ index)* ~ Comma? ~ "]"} [INFO] [stdout] index = {index_step|index_range|expr} [INFO] [stdout] key_value = !{key_valid ~ Colon ~ expr} [INFO] [stdout] key_valid = !{Integer|SYMBOL|String} [INFO] [stdout] index_range = !{expr? ~ Colon ~ expr?} [INFO] [stdout] index_step = !{expr? ~ Colon ~ expr? ~ Colon ~ expr?} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!#D19A66: Null|Unit [INFO] [stdout] Null = @{"null"} [INFO] [stdout] Unit = !{"(" ~ ")"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] ///#D19A66 [INFO] [stdout] Boolean = !{True|False} [INFO] [stdout] True = @{"true"} [INFO] [stdout] False = @{"false"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] ///#D19A66 [INFO] [stdout] Byte = ${Byte_BIN|Byte_OCT|Byte_HEX} [INFO] [stdout] Byte_BIN = ${Zero ~ B ~ (Underline? ~ ASCII_BIN_DIGIT)+} [INFO] [stdout] Byte_OCT = ${Zero ~ O ~ (Underline? ~ ASCII_OCT_DIGIT)+} [INFO] [stdout] Byte_HEX = ${Zero ~ X ~ (Underline? ~ ASCII_HEX_DIGIT)+} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!#D19A66: Integer|Decimal|DecimalBad [INFO] [stdout] Number = ${Complex|Decimal|DecimalBad|Integer} [INFO] [stdout] Decimal = ${Integer ~ Dot ~ ASCII_DIGIT+} [INFO] [stdout] DecimalBad = ${Integer ~ Dot|Dot ~ ASCII_DIGIT+} [INFO] [stdout] Integer = @{Zero|ASCII_NONZERO_DIGIT ~ (Underline? ~ ASCII_DIGIT)*} [INFO] [stdout] Complex = {(Decimal|Integer) ~ SYMBOL} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!#3C963C: String [INFO] [stdout] //!#98C379: StringText|StringLiteralText [INFO] [stdout] String = ${SYMBOL? ~ (StringNormal|StringLiteral|StringEmpty)} [INFO] [stdout] StringLiteral = {StringStart ~ StringLiteralText ~ StringEnd} [INFO] [stdout] StringNormal = {Quotation ~ StringText ~ Quotation} [INFO] [stdout] StringEmpty = {Quotation{2}|Apostrophe{2}} [INFO] [stdout] StringLiteralText = {(!(Apostrophe ~ PEEK) ~ ANY)*} [INFO] [stdout] StringText = {(Solidus ~ (Solidus|Quotation)|!Quotation ~ ANY)*} [INFO] [stdout] StringStart = @{Apostrophe{1} ~ (Apostrophe*)} [INFO] [stdout] StringEnd = @{POP ~ Apostrophe{1}} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] // NEWLINE = @{"\r"~"\n"|"\r"|"\n"} [INFO] [stdout] WHITESPACE = _{NEWLINE|SPACE_SEPARATOR|"\t"} [INFO] [stdout] //!#7F848E: MultiLineComment [INFO] [stdout] COMMENT = {MultiLineComment|LineCommentSimple|LineCommentTodo|LineCommentFixme|LineCommentWarning} [INFO] [stdout] ///Gray [INFO] [stdout] LineCommentSimple = ${"///" ~ (!NEWLINE ~ ANY)*} [INFO] [stdout] ///Green [INFO] [stdout] LineCommentTodo = ${"//?" ~ (!NEWLINE ~ ANY)*} [INFO] [stdout] ///Red [INFO] [stdout] LineCommentFixme = ${"//!" ~ (!NEWLINE ~ ANY)*} [INFO] [stdout] ///Yellow [INFO] [stdout] LineCommentWarning = ${"//*" ~ (!NEWLINE ~ ANY)*} [INFO] [stdout] ///Gray [INFO] [stdout] MultiLineComment = ${"%%%" ~ (MultiLineComment|!"%%%" ~ ANY)* ~ "%%%"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] ///#61AFEF [INFO] [stdout] Symbol = ${namespace|Underline+|SYMBOL} [INFO] [stdout] namespace = ${SYMBOL ~ (Proportion ~ SYMBOL)+} [INFO] [stdout] SYMBOL = @{ [INFO] [stdout] XID_START ~ XID_CONTINUE* | [INFO] [stdout] Underline ~ XID_CONTINUE+ [INFO] [stdout] } [INFO] [stdout] Keywords = _{If|For} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] Zero = _{"0"} [INFO] [stdout] X = _{"x"|"X"} [INFO] [stdout] O = _{"o"|"O"} [INFO] [stdout] B = _{"b"|"B"} [INFO] [stdout] /*====================================================================================================================*/ [INFO] [stdout] //!#56B6C2: Prefix|Infix|Postfix [INFO] [stdout] Prefix = @{ [INFO] [stdout] (Bang|Plus|Minus|Star) [INFO] [stdout] } [INFO] [stdout] Suffix = @{ [INFO] [stdout] (Bang|Question) | [INFO] [stdout] DoubleBang [INFO] [stdout] } [INFO] [stdout] Infix = _{ [INFO] [stdout] Set | [INFO] [stdout] Plus | [INFO] [stdout] Minus | [INFO] [stdout] Multiply | [INFO] [stdout] CenterDot | [INFO] [stdout] Kronecker | [INFO] [stdout] TensorProduct | [INFO] [stdout] Divide | [INFO] [stdout] Quotient | [INFO] [stdout] Modulo | [INFO] [stdout] Power | [INFO] [stdout] Grater | [INFO] [stdout] GraterEqual | [INFO] [stdout] Equal | [INFO] [stdout] Dot [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] ///#56B6C2 [INFO] [stdout] Set = @{"="} [INFO] [stdout] [INFO] [stdout] Or = @{"|"} [INFO] [stdout] LazyOr = @{"||"} [INFO] [stdout] [INFO] [stdout] Star = @{"*"} [INFO] [stdout] Slash = @{"/"} [INFO] [stdout] Solidus = @{"\\"} [INFO] [stdout] [INFO] [stdout] Proportion = @{"::"|"∷"} [INFO] [stdout] [INFO] [stdout] //U+2237 [INFO] [stdout] Comma = @{","|","} [INFO] [stdout] [INFO] [stdout] //U+FF0C [INFO] [stdout] Dot = @{"."} [INFO] [stdout] Separate = @{";;"} [INFO] [stdout] Semicolon = @{";"|";"} [INFO] [stdout] [INFO] [stdout] //U+FF1B [INFO] [stdout] Colon = @{":"|":"} [INFO] [stdout] [INFO] [stdout] //U+FF1A [INFO] [stdout] ///#56B6C2 [INFO] [stdout] Question = @{"?"} [INFO] [stdout] Underline = @{"_"} [INFO] [stdout] [INFO] [stdout] Load = @{"<<<"|"⋘"} [INFO] [stdout] [INFO] [stdout] //U+22D8 [INFO] [stdout] Save = @{">>>"|"⋙"} [INFO] [stdout] [INFO] [stdout] //U+22D9 [INFO] [stdout] LeftShift = @{"<<"|"≪"} [INFO] [stdout] [INFO] [stdout] //U+226A [INFO] [stdout] RightShift = @{">>"|"≫"} [INFO] [stdout] [INFO] [stdout] //U+226B [INFO] [stdout] LessEqual = @{"<="} [INFO] [stdout] GraterEqual = @{">="} [INFO] [stdout] Less = @{"<"} [INFO] [stdout] Grater = @{">"} [INFO] [stdout] [INFO] [stdout] Equivalent = @{"==="} [INFO] [stdout] NotEquivalent = @{"=!="} [INFO] [stdout] Equal = @{"=="} [INFO] [stdout] NotEqual = @{"!="|"≠"} [INFO] [stdout] [INFO] [stdout] //U+2260 [INFO] [stdout] [INFO] [stdout] Plus = @{"+"} [INFO] [stdout] Minus = @{"-"} [INFO] [stdout] [INFO] [stdout] Multiply = @{Star|"×"} [INFO] [stdout] [INFO] [stdout] //U+00D7 [INFO] [stdout] CenterDot = @{"⋅"} [INFO] [stdout] [INFO] [stdout] //U+22C5 [INFO] [stdout] Kronecker = @{"⊗"} [INFO] [stdout] [INFO] [stdout] //U+2297 [INFO] [stdout] TensorProduct = @{"⊙"} [INFO] [stdout] [INFO] [stdout] //U+2299 [INFO] [stdout] Divide = @{Slash|"÷"} [INFO] [stdout] [INFO] [stdout] //U+00F7 [INFO] [stdout] Quotient = @{"//"} [INFO] [stdout] Modulo = @{"%"} [INFO] [stdout] Remainder = @{"⁒"} [INFO] [stdout] [INFO] [stdout] //U+2052 //⸓ [INFO] [stdout] [INFO] [stdout] Power = @{"^"} [INFO] [stdout] Surd = @{"√"} [INFO] [stdout] [INFO] [stdout] //U+221A [INFO] [stdout] [INFO] [stdout] Increase = @{"++"} [INFO] [stdout] Decrease = @{"--"} [INFO] [stdout] [INFO] [stdout] To = @{"->"} [INFO] [stdout] [INFO] [stdout] Elvis = @{":?"} [INFO] [stdout] Map = @{"/@"} [INFO] [stdout] [INFO] [stdout] Quote = @{"`"} [INFO] [stdout] Acute = @{"´"} [INFO] [stdout] [INFO] [stdout] // U+00B4 [INFO] [stdout] Apostrophe = @{"'"} [INFO] [stdout] Quotation = @{"\""} [INFO] [stdout] [INFO] [stdout] LogicOr = @{"||"|"∧"} [INFO] [stdout] [INFO] [stdout] //U+2227 [INFO] [stdout] LogicAnd = @{"&&"|"∨"} [INFO] [stdout] [INFO] [stdout] //U+2228 [INFO] [stdout] LogicNot = @{"¬"} [INFO] [stdout] [INFO] [stdout] //U+00AC [INFO] [stdout] [INFO] [stdout] Ellipsis = @{"..."|"…"} [INFO] [stdout] [INFO] [stdout] // U+2026 [INFO] [stdout] [INFO] [stdout] LogicXor = @{"⊕"} [INFO] [stdout] [INFO] [stdout] //U+2295 [INFO] [stdout] MapAll = @{"//@"} [INFO] [stdout] [INFO] [stdout] Output = @{"%%"} [INFO] [stdout] [INFO] [stdout] Concat = @{"~~"} [INFO] [stdout] Destruct = @{"~="} [INFO] [stdout] [INFO] [stdout] DoubleBang = @{"!!"} [INFO] [stdout] Bang = @{"!"} [INFO] [stdout] [INFO] [stdout] Sharp = @{"#"} [INFO] [stdout] [INFO] [stdout] Curry = @{"@@@"} [INFO] [stdout] Apply = @{"@@"} [INFO] [stdout] At = @{"@"} [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Error: Os { code: 30, kind: Other, message: "Read-only file system" } [INFO] [stdout] thread 'valkyrie_b' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `1`, [INFO] [stdout] right: `0`: the test returned a termination value with a non-zero status code (1) which indicates a failure', /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/macros.rs:16:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x561fabdc1ad4 - backtrace::backtrace::libunwind::trace::hc1c4a1d8ad423b97 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86 [INFO] [stdout] 1: 0x561fabdc1ad4 - backtrace::backtrace::trace_unsynchronized::h82274781060cb056 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x561fabdc1ad4 - std::sys_common::backtrace::_print_fmt::h2a45d89b653a4da8 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:78 [INFO] [stdout] 3: 0x561fabdc1ad4 - ::fmt::h41a0a93ab85e6aa1 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:59 [INFO] [stdout] 4: 0x561fabdea71c - core::fmt::write::hdaea18585065a96d [INFO] [stdout] at src/libcore/fmt/mod.rs:1069 [INFO] [stdout] 5: 0x561fabd09595 - std::io::Write::write_fmt::h42f0550b6bd39c6e [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/io/mod.rs:1504 [INFO] [stdout] 6: 0x561fabdbbeb1 - std::io::impls::>::write_fmt::h223d7b7033cad46d [INFO] [stdout] at src/libstd/io/impls.rs:156 [INFO] [stdout] 7: 0x561fabdc43a5 - std::sys_common::backtrace::_print::hd95f9978cc145ca4 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:62 [INFO] [stdout] 8: 0x561fabdc43a5 - std::sys_common::backtrace::print::hfb25ca2291be47d0 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:49 [INFO] [stdout] 9: 0x561fabdc43a5 - std::panicking::default_hook::{{closure}}::h44f76cee5dc8591c [INFO] [stdout] at src/libstd/panicking.rs:198 [INFO] [stdout] 10: 0x561fabdc408b - std::panicking::default_hook::h198e1a712910f1e6 [INFO] [stdout] at src/libstd/panicking.rs:215 [INFO] [stdout] 11: 0x561fabdc4a02 - std::panicking::rust_panic_with_hook::hc0b4730bb8013f9d [INFO] [stdout] at src/libstd/panicking.rs:511 [INFO] [stdout] 12: 0x561fabdc45eb - rust_begin_unwind [INFO] [stdout] at src/libstd/panicking.rs:419 [INFO] [stdout] 13: 0x561fabdc455b - std::panicking::begin_panic_fmt::h3693eb684a4f728c [INFO] [stdout] at src/libstd/panicking.rs:373 [INFO] [stdout] 14: 0x561fabd07816 - test::assert_test_result::hf9d33a1f8903272a [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/macros.rs:16 [INFO] [stdout] 15: 0x561fabd07f29 - test::valkyrie_b::{{closure}}::h7223fdba779c096f [INFO] [stdout] at tests/test.rs:33 [INFO] [stdout] 16: 0x561fabd0754e - core::ops::function::FnOnce::call_once::he7e70e149ad7992c [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 17: 0x561fabd30a26 - as core::ops::function::FnOnce>::call_once::hc165f65f4331a55c [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 18: 0x561fabd30a26 - as core::ops::function::FnOnce<()>>::call_once::hb89f1f769cad07ce [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 19: 0x561fabd30a26 - std::panicking::try::do_call::h104f7f3dae5a1b29 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 20: 0x561fabd30a26 - std::panicking::try::h0e20f01361cba753 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 21: 0x561fabd30a26 - std::panic::catch_unwind::h0bd0c84b5f4cd121 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 22: 0x561fabd30a26 - test::run_test_in_process::hf34c22adfeb6853d [INFO] [stdout] at src/libtest/lib.rs:541 [INFO] [stdout] 23: 0x561fabd30a26 - test::run_test::run_test_inner::{{closure}}::h40d568b4c10a12f1 [INFO] [stdout] at src/libtest/lib.rs:450 [INFO] [stdout] 24: 0x561fabd08a46 - std::sys_common::backtrace::__rust_begin_short_backtrace::hffd9774ad3f2d778 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/sys_common/backtrace.rs:130 [INFO] [stdout] 25: 0x561fabd0ddd5 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h4594020476cf52d4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:475 [INFO] [stdout] 26: 0x561fabd0ddd5 - as core::ops::function::FnOnce<()>>::call_once::h9d0a6d45b73e29e4 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:318 [INFO] [stdout] 27: 0x561fabd0ddd5 - std::panicking::try::do_call::h902fd77b30bb3bb7 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:331 [INFO] [stdout] 28: 0x561fabd0ddd5 - std::panicking::try::hc17d3a628e65d49d [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panicking.rs:274 [INFO] [stdout] 29: 0x561fabd0ddd5 - std::panic::catch_unwind::h9c9d49cbb6b18017 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/panic.rs:394 [INFO] [stdout] 30: 0x561fabd0ddd5 - std::thread::Builder::spawn_unchecked::{{closure}}::h6a6f5a333fd631a2 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libstd/thread/mod.rs:474 [INFO] [stdout] 31: 0x561fabd0ddd5 - core::ops::function::FnOnce::call_once{{vtable.shim}}::ha6fb197e0ce57f73 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/libcore/ops/function.rs:232 [INFO] [stdout] 32: 0x561fabdcb1ea - as core::ops::function::FnOnce>::call_once::h1f1fac7de7dd9691 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 33: 0x561fabdcb1ea - as core::ops::function::FnOnce>::call_once::ha031f48633a6af54 [INFO] [stdout] at /rustc/49cae55760da0a43428eba73abcb659bb70cf2e4/src/liballoc/boxed.rs:1008 [INFO] [stdout] 34: 0x561fabdcb1ea - std::sys::unix::thread::Thread::new::thread_start::h241864caf436e182 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:87 [INFO] [stdout] 35: 0x7f6efcbee609 - start_thread [INFO] [stdout] 36: 0x7f6efcafa103 - __clone [INFO] [stdout] 37: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] arc_a [INFO] [stdout] pest_a [INFO] [stdout] pest_b [INFO] [stdout] valkyrie_a [INFO] [stdout] valkyrie_b [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--test test' [INFO] running `"docker" "inspect" "49a63598b13230a7d4a457d6a80e5a7eb9c46697a382f1dd0d3c3b2efeeea605"` [INFO] running `"docker" "rm" "-f" "49a63598b13230a7d4a457d6a80e5a7eb9c46697a382f1dd0d3c3b2efeeea605"` [INFO] [stdout] 49a63598b13230a7d4a457d6a80e5a7eb9c46697a382f1dd0d3c3b2efeeea605