[INFO] cloning repository https://github.com/listellodavide/veritasmatic [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/listellodavide/veritasmatic" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flistellodavide%2Fveritasmatic", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flistellodavide%2Fveritasmatic'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 06b948c920e7d9eb48b63a75fcaeb8b14eb7e872 [INFO] checking listellodavide/veritasmatic/06b948c920e7d9eb48b63a75fcaeb8b14eb7e872 against 1.94.0 for beta-1.95-4 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flistellodavide%2Fveritasmatic" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/listellodavide/veritasmatic [INFO] finished tweaking git repo https://github.com/listellodavide/veritasmatic [INFO] tweaked toml for git repo https://github.com/listellodavide/veritasmatic written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/listellodavide/veritasmatic on toolchain 1.94.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/listellodavide/veritasmatic already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] | [INFO] [stderr] = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wat v1.240.0 [INFO] [stderr] Downloaded wasmtime-types v18.0.4 [INFO] [stderr] Downloaded wasmtime-winch v18.0.4 [INFO] [stderr] Downloaded ittapi v0.4.0 [INFO] [stderr] Downloaded memfd v0.6.5 [INFO] [stderr] Downloaded wasmtime-jit-icache-coherence v18.0.4 [INFO] [stderr] Downloaded wasmtime-versioned-export-macros v18.0.4 [INFO] [stderr] Downloaded wasmtime-wmemcheck v18.0.4 [INFO] [stderr] Downloaded wasmtime-component-util v18.0.4 [INFO] [stderr] Downloaded cranelift-codegen-shared v0.105.4 [INFO] [stderr] Downloaded ar_archive_writer v0.2.0 [INFO] [stderr] Downloaded wasmtime-cache v18.0.4 [INFO] [stderr] Downloaded cranelift-frontend v0.105.4 [INFO] [stderr] Downloaded fxprof-processed-profile v0.6.0 [INFO] [stderr] Downloaded cranelift-isle v0.105.4 [INFO] [stderr] Downloaded wit-parser v0.13.2 [INFO] [stderr] Downloaded wasmtime-cranelift v18.0.4 [INFO] [stderr] Downloaded regalloc2 v0.9.3 [INFO] [stderr] Downloaded ittapi-sys v0.4.0 [INFO] [stderr] Downloaded wast v240.0.0 [INFO] [stderr] Downloaded wasmparser v0.121.2 [INFO] [stderr] Downloaded wasmtime-runtime v18.0.4 [INFO] [stderr] Downloaded cranelift-wasm v0.105.4 [INFO] [stderr] Downloaded wasmparser v0.240.0 [INFO] [stderr] Downloaded wasmtime-environ v18.0.4 [INFO] [stderr] Downloaded wasmtime v18.0.4 [INFO] [stderr] Downloaded cranelift-codegen-meta v0.105.4 [INFO] [stderr] Downloaded cpp_demangle v0.3.5 [INFO] [stderr] Downloaded winch-codegen v0.16.4 [INFO] [stderr] Downloaded wasm-encoder v0.41.2 [INFO] [stderr] Downloaded cranelift-bforest v0.105.4 [INFO] [stderr] Downloaded wasmprinter v0.2.80 [INFO] [stderr] Downloaded wasmtime-wit-bindgen v18.0.4 [INFO] [stderr] Downloaded wasmtime-component-macro v18.0.4 [INFO] [stderr] Downloaded wasmtime-fiber v18.0.4 [INFO] [stderr] Downloaded wasmtime-jit-debug v18.0.4 [INFO] [stderr] Downloaded cranelift-entity v0.105.4 [INFO] [stderr] Downloaded psm v0.1.28 [INFO] [stderr] Downloaded cranelift-control v0.105.4 [INFO] [stderr] Downloaded wasm-encoder v0.240.0 [INFO] [stderr] Downloaded cranelift-native v0.105.4 [INFO] [stderr] Downloaded wasmtime-cranelift-shared v18.0.4 [INFO] [stderr] Downloaded slice-group-by v0.3.1 [INFO] [stderr] Downloaded wasmtime-asm-macros v18.0.4 [INFO] [stderr] Downloaded cranelift-codegen v0.105.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 53a883954102aa43a3bcd3f88657701098f08aefdb1ce91299800ade8b67fa10 [INFO] running `Command { std: "docker" "start" "-a" "53a883954102aa43a3bcd3f88657701098f08aefdb1ce91299800ade8b67fa10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "53a883954102aa43a3bcd3f88657701098f08aefdb1ce91299800ade8b67fa10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "53a883954102aa43a3bcd3f88657701098f08aefdb1ce91299800ade8b67fa10", kill_on_drop: false }` [INFO] [stdout] 53a883954102aa43a3bcd3f88657701098f08aefdb1ce91299800ade8b67fa10 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b32165ab88a3d9e3ee1fefbc46d36c7fe85c7df025ca9f181e834d3f2fba7c73 [INFO] running `Command { std: "docker" "start" "-a" "b32165ab88a3d9e3ee1fefbc46d36c7fe85c7df025ca9f181e834d3f2fba7c73", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] | [INFO] [stderr] = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling unicode-ident v1.0.20 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Checking cfg-if v1.0.4 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking hashbrown v0.16.0 [INFO] [stderr] Checking memchr v2.7.6 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking log v0.4.28 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling cranelift-isle v0.105.4 [INFO] [stderr] Compiling target-lexicon v0.12.16 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Compiling cranelift-codegen-shared v0.105.4 [INFO] [stderr] Checking bumpalo v3.19.0 [INFO] [stderr] Compiling cranelift-codegen-meta v0.105.4 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Checking semver v1.0.27 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking slice-group-by v0.3.1 [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Checking arbitrary v1.4.2 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling generic-array v0.14.9 [INFO] [stderr] Checking typenum v1.19.0 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling cpp_demangle v0.3.5 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Checking leb128 v0.2.5 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Checking wasm-encoder v0.41.2 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Checking anstyle-query v1.1.4 [INFO] [stderr] Checking wasmtime-component-util v18.0.4 [INFO] [stderr] Compiling wasm-encoder v0.240.0 [INFO] [stderr] Checking cranelift-control v0.105.4 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling zstd-safe v5.0.2+zstd.1.5.2 [INFO] [stderr] Checking rustc-demangle v0.1.26 [INFO] [stderr] Checking anstyle v1.0.13 [INFO] [stderr] Checking regex-syntax v0.8.8 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking is_terminal_polyfill v1.70.2 [INFO] [stderr] Checking anstream v0.6.21 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Checking leb128fmt v0.1.0 [INFO] [stderr] Compiling id-arena v2.2.1 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking clap_lex v0.7.6 [INFO] [stderr] Compiling cc v1.2.43 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Checking clap_builder v4.5.51 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking indexmap v2.12.0 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Checking wasmtime-asm-macros v18.0.4 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling wasmtime-component-macro v18.0.4 [INFO] [stderr] Compiling cranelift-codegen v0.105.4 [INFO] [stderr] Checking unicode-width v0.2.2 [INFO] [stderr] Checking uuid v1.18.1 [INFO] [stderr] Checking regalloc2 v0.9.3 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Compiling wasmtime-cache v18.0.4 [INFO] [stderr] Checking gimli v0.28.1 [INFO] [stderr] Checking wasmparser v0.121.2 [INFO] [stderr] Checking object v0.32.2 [INFO] [stderr] Checking cpufeatures v0.2.17 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling ittapi-sys v0.4.0 [INFO] [stderr] Checking debugid v0.8.0 [INFO] [stderr] Checking wast v240.0.0 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking directories-next v2.0.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling term v0.7.0 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking memfd v0.6.5 [INFO] [stderr] Checking sptr v0.3.2 [INFO] [stderr] Checking wasmtime-wmemcheck v18.0.4 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling pest_generator v2.8.3 [INFO] [stderr] Compiling itertools v0.11.0 [INFO] [stderr] Compiling ascii-canvas v3.0.0 [INFO] [stderr] Checking ittapi v0.4.0 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Compiling string_cache v0.8.9 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Checking wasmtime-jit-icache-coherence v18.0.4 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking lalrpop-util v0.20.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling wasmtime-versioned-export-macros v18.0.4 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling wasmtime-fiber v18.0.4 [INFO] [stderr] Compiling wasmtime-runtime v18.0.4 [INFO] [stderr] Checking addr2line v0.21.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking wasmtime-jit-debug v18.0.4 [INFO] [stderr] Compiling pest_derive v2.8.3 [INFO] [stderr] Compiling lalrpop v0.20.2 [INFO] [stderr] Checking wasmprinter v0.2.80 [INFO] [stderr] Checking clap v4.5.51 [INFO] [stderr] Checking wat v1.240.0 [INFO] [stderr] Checking cranelift-entity v0.105.4 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking toml v0.5.11 [INFO] [stderr] Checking veritas_api v0.1.0 (/opt/rustwide/workdir/veritas_api) [INFO] [stderr] Checking fxprof-processed-profile v0.6.0 [INFO] [stderr] Compiling wit-parser v0.13.2 [INFO] [stderr] Checking cranelift-bforest v0.105.4 [INFO] [stderr] Checking wasmtime-types v18.0.4 [INFO] [stderr] Checking wasmtime-environ v18.0.4 [INFO] [stderr] Compiling wasmtime-wit-bindgen v18.0.4 [INFO] [stderr] Checking zstd v0.11.2+zstd.1.5.2 [INFO] [stderr] Compiling veritas_compiler v0.1.0 (/opt/rustwide/workdir/veritas_compiler) [INFO] [stderr] error: failed to run custom build command for `veritas_compiler v0.1.0 (/opt/rustwide/workdir/veritas_compiler)` [INFO] [stderr] note: To improve backtraces for build dependencies, set the CARGO_PROFILE_DEV_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation. [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/target/debug/build/veritas_compiler-dd09388f7785d25f/build-script-build` (exit status: 1) [INFO] [stderr] --- stdout [INFO] [stderr] processing file `/opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop` [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:115:5: 115:19: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] AddSubOp = (*) "+" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] AddSubOp = (*) "-" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = Factor (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = Factor (*) AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"+"` we can reduce to a `Term` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:115:5: 115:19: Local ambiguity detected [INFO] [stderr] [INFO] [stderr] The problem arises after having observed the following symbols in the input: [INFO] [stderr] "for" Identifier "in" Expression ".." Factor [INFO] [stderr] At that point, if the next token is a `"-"`, then the parser can proceed in two different ways. [INFO] [stderr] [INFO] [stderr] First, the parser could execute the production at [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:115:5: 115:19, which would consume [INFO] [stderr] the top 1 token(s) from the stack and produce a `Term`. This might then yield a parse tree like [INFO] [stderr] "for" Identifier "in" Expression ".." Factor ╷ Expression [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, the parser could shift the `"-"` token and later use it to construct a [INFO] [stderr] `AddSubOp`. This might then yield a parse tree like [INFO] [stderr] Factor "-" ╷ Factor [INFO] [stderr] │ └─AddSubOp─┘ │ [INFO] [stderr] └─Term───────────────────┘ [INFO] [stderr] [INFO] [stderr] See the LALRPOP manual for advice on making your grammar LR(1). [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:99:5: 99:17: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Comparison = Term (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = Term (*) ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "!=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "==" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "and" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "or" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"!="` we can reduce to a `Comparison` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:99:5: 99:17: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Comparison = Term (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = Term (*) ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "!=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "==" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "and" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "or" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"<"` we can reduce to a `Comparison` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:99:5: 99:17: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Comparison = Term (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = Term (*) ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "!=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "==" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "and" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "or" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"<="` we can reduce to a `Comparison` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:99:5: 99:17: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Comparison = Term (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = Term (*) ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "!=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "==" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "and" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "or" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"=="` we can reduce to a `Comparison` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:99:5: 99:17: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Comparison = Term (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = Term (*) ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "!=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "==" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "and" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "or" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `">"` we can reduce to a `Comparison` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:99:5: 99:17: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Comparison = Term (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = Term (*) ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "!=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "==" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "and" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "or" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `">="` we can reduce to a `Comparison` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:99:5: 99:17: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Comparison = Term (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = Term (*) ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "!=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "==" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "and" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "or" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"and"` we can reduce to a `Comparison` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:99:5: 99:17: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Comparison = Term (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = Term (*) ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "!=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "<=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "==" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) ">=" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "and" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ComparisonOp = (*) "or" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"or"` we can reduce to a `Comparison` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:125:5: 125:18: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Factor = Unary (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = Unary (*) MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] MulDivOp = (*) "*" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] MulDivOp = (*) "/" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"*"` we can reduce to a `Factor` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:125:5: 125:18: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Factor = Unary (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = Unary (*) MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] MulDivOp = (*) "*" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] MulDivOp = (*) "/" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"/"` we can reduce to a `Factor` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:152:5: 152:49: Local ambiguity detected [INFO] [stderr] [INFO] [stderr] The problem arises after having observed the following symbols in the input: [INFO] [stderr] "for" Identifier "in" Expression ".." Identifier [INFO] [stderr] At that point, if the next token is a `"("`, then the parser can proceed in two different ways. [INFO] [stderr] [INFO] [stderr] First, the parser could execute the production at [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:152:5: 152:49, which would consume [INFO] [stderr] the top 1 token(s) from the stack and produce a `Primary`. This might then yield a parse tree [INFO] [stderr] like [INFO] [stderr] "for" Identifier "in" Expression ".." Identifier ╷ Expression [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, the parser could shift the `"("` token and later use it to construct a [INFO] [stderr] `Primary`. This might then yield a parse tree like [INFO] [stderr] "-" Identifier "(" ArgumentList ")" [INFO] [stderr] │ └─Primary─────────────────────┤ [INFO] [stderr] └─Unary───────────────────────────┘ [INFO] [stderr] [INFO] [stderr] See the LALRPOP manual for advice on making your grammar LR(1). [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "(" "{" "}" ")" [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "(" "{" "}" ")" [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Primary────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "(" "{" "}" ")" [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Primary────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" MulDivOp Unary [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" MulDivOp Unary [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┘ │ [INFO] [stderr] └─Factor─────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" MulDivOp Unary [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┘ │ [INFO] [stderr] └─Factor─────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" AddSubOp Factor [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" AddSubOp Factor [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┘ │ [INFO] [stderr] └─Term────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" AddSubOp Factor [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┘ │ [INFO] [stderr] └─Term────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" ("," Expression)+ [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" ("," Expression)+ [INFO] [stderr] ├─Block──────┤ │ [INFO] [stderr] ├─Primary────┤ │ [INFO] [stderr] ├─Unary──────┤ │ [INFO] [stderr] ├─Factor─────┤ │ [INFO] [stderr] ├─Term───────┤ │ [INFO] [stderr] ├─Comparison─┤ │ [INFO] [stderr] ├─Expression─┘ │ [INFO] [stderr] └─Comma────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" ("," Expression)+ [INFO] [stderr] ├─Block──────┤ │ [INFO] [stderr] ├─Primary────┤ │ [INFO] [stderr] ├─Unary──────┤ │ [INFO] [stderr] ├─Factor─────┤ │ [INFO] [stderr] ├─Term───────┤ │ [INFO] [stderr] ├─Comparison─┤ │ [INFO] [stderr] ├─Expression─┘ │ [INFO] [stderr] └─Comma────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" AddSubOp Factor [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" AddSubOp Factor [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┘ │ [INFO] [stderr] └─Term────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" AddSubOp Factor [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┘ │ [INFO] [stderr] └─Term────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"->"` we can reduce to a `Block` but we can also reduce to a `Block` [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" "{" "}" ".." Expression Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" "{" "}" ".." Expression Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" "{" "}" ".." Expression Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" MulDivOp Unary [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" MulDivOp Unary [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┘ │ [INFO] [stderr] └─Factor─────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" MulDivOp Unary [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┘ │ [INFO] [stderr] └─Factor─────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `":"` we can reduce to a `Block` but we can also reduce to a `Block` [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" ";" [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" ";" [INFO] [stderr] ├─Block──────┤ │ [INFO] [stderr] ├─Primary────┤ │ [INFO] [stderr] ├─Unary──────┤ │ [INFO] [stderr] ├─Factor─────┤ │ [INFO] [stderr] ├─Term───────┤ │ [INFO] [stderr] ├─Comparison─┤ │ [INFO] [stderr] ├─Expression─┘ │ [INFO] [stderr] └─Statement──────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" ";" [INFO] [stderr] ├─Block──────┤ │ [INFO] [stderr] ├─Primary────┤ │ [INFO] [stderr] ├─Unary──────┤ │ [INFO] [stderr] ├─Factor─────┤ │ [INFO] [stderr] ├─Term───────┤ │ [INFO] [stderr] ├─Comparison─┤ │ [INFO] [stderr] ├─Expression─┘ │ [INFO] [stderr] └─Statement──────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" "=" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" "=" Expression [INFO] [stderr] ├─Block──────┤ │ [INFO] [stderr] ├─Primary────┤ │ [INFO] [stderr] ├─Unary──────┤ │ [INFO] [stderr] ├─Factor─────┤ │ [INFO] [stderr] ├─Term───────┤ │ [INFO] [stderr] ├─Comparison─┘ │ [INFO] [stderr] └─Expression────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" "=" Expression [INFO] [stderr] ├─Block──────┤ │ [INFO] [stderr] ├─Primary────┤ │ [INFO] [stderr] ├─Unary──────┤ │ [INFO] [stderr] ├─Factor─────┤ │ [INFO] [stderr] ├─Term───────┤ │ [INFO] [stderr] ├─Comparison─┘ │ [INFO] [stderr] └─Expression────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "fn" Identifier "(" FunctionParamList ")" OptionalReturnType "{" "}" Item [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "fn" Identifier "(" FunctionParamList ")" OptionalReturnType "{" "}" Item [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┤ │ [INFO] [stderr] ├─Function────────────────────────────────────────────────────────────────┤ │ [INFO] [stderr] ├─Item────────────────────────────────────────────────────────────────────┤ │ [INFO] [stderr] ├─(Item)+─────────────────────────────────────────────────────────────────┘ │ [INFO] [stderr] └─(Item)+──────────────────────────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "fn" Identifier "(" FunctionParamList ")" OptionalReturnType "{" "}" Item [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┤ │ [INFO] [stderr] ├─Function────────────────────────────────────────────────────────────────┤ │ [INFO] [stderr] ├─Item────────────────────────────────────────────────────────────────────┤ │ [INFO] [stderr] ├─(Item)+─────────────────────────────────────────────────────────────────┘ │ [INFO] [stderr] └─(Item)+──────────────────────────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"Bool"` we can reduce to a `Block` but we can also reduce to a `Block` [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"Int"` we can reduce to a `Block` but we can also reduce to a `Block` [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"List"` we can reduce to a `Block` but we can also reduce to a `Block` [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"Regex"` we can reduce to a `Block` but we can also reduce to a `Block` [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"Result"` we can reduce to a `Block` but we can also reduce to a `Block` [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"String"` we can reduce to a `Block` but we can also reduce to a `Block` [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"Unit"` we can reduce to a `Block` but we can also reduce to a `Block` [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "if" "(" Expression ")" "{" "}" "else" Block [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "if" "(" Expression ")" "{" "}" "else" Block [INFO] [stderr] │ └─Block─┘ │ [INFO] [stderr] └─Expression─────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "if" "(" Expression ")" "{" "}" "else" Block [INFO] [stderr] │ └─Block─┘ │ [INFO] [stderr] └─Expression─────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "fn" Identifier "(" FunctionParamList ")" OptionalReturnType "{" "}" Item [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "fn" Identifier "(" FunctionParamList ")" OptionalReturnType "{" "}" Item [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┤ │ [INFO] [stderr] ├─Function────────────────────────────────────────────────────────────────┤ │ [INFO] [stderr] ├─Item────────────────────────────────────────────────────────────────────┤ │ [INFO] [stderr] ├─(Item)+─────────────────────────────────────────────────────────────────┘ │ [INFO] [stderr] └─(Item)+──────────────────────────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "fn" Identifier "(" FunctionParamList ")" OptionalReturnType "{" "}" Item [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┤ │ [INFO] [stderr] ├─Function────────────────────────────────────────────────────────────────┤ │ [INFO] [stderr] ├─Item────────────────────────────────────────────────────────────────────┤ │ [INFO] [stderr] ├─(Item)+─────────────────────────────────────────────────────────────────┘ │ [INFO] [stderr] └─(Item)+──────────────────────────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"in"` we can reduce to a `Block` but we can also reduce to a `Block` [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"let"` we can reduce to a `Block` but we can also reduce to a `Block` [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "}" ComparisonOp Term [INFO] [stderr] ├─Block───┤ │ [INFO] [stderr] ├─Primary─┤ │ [INFO] [stderr] ├─Unary───┤ │ [INFO] [stderr] ├─Factor──┤ │ [INFO] [stderr] ├─Term────┘ │ [INFO] [stderr] └─Comparison────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "fn" Identifier "(" FunctionParamList ")" OptionalReturnType "{" "}" Item [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "fn" Identifier "(" FunctionParamList ")" OptionalReturnType "{" "}" Item [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┤ │ [INFO] [stderr] ├─Function────────────────────────────────────────────────────────────────┤ │ [INFO] [stderr] ├─Item────────────────────────────────────────────────────────────────────┤ │ [INFO] [stderr] ├─(Item)+─────────────────────────────────────────────────────────────────┘ │ [INFO] [stderr] └─(Item)+──────────────────────────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "fn" Identifier "(" FunctionParamList ")" OptionalReturnType "{" "}" Item [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┤ │ [INFO] [stderr] ├─Function────────────────────────────────────────────────────────────────┤ │ [INFO] [stderr] ├─Item────────────────────────────────────────────────────────────────────┤ │ [INFO] [stderr] ├─(Item)+─────────────────────────────────────────────────────────────────┘ │ [INFO] [stderr] └─(Item)+──────────────────────────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "{" "{" "}" "}" [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "{" "{" "}" "}" [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Block──────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "{" "{" "}" "}" [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Block──────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Ambiguous grammar detected [INFO] [stderr] [INFO] [stderr] The following symbols can be reduced in two ways: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] [INFO] [stderr] They could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, they could be reduced like so: [INFO] [stderr] "for" Identifier "in" Expression ".." "{" "}" Expression [INFO] [stderr] │ ├─Block──────┤ │ [INFO] [stderr] │ ├─Primary────┤ │ [INFO] [stderr] │ ├─Unary──────┤ │ [INFO] [stderr] │ ├─Factor─────┤ │ [INFO] [stderr] │ ├─Term───────┤ │ [INFO] [stderr] │ ├─Comparison─┤ │ [INFO] [stderr] │ └─Expression─┘ │ [INFO] [stderr] └─Expression──────────────────────────────────────────────────┘ [INFO] [stderr] [INFO] [stderr] LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your [INFO] [stderr] grammar unambiguous. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:148:5: 148:55: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = "{" "}" (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `Eof` we can reduce to a `Block` but we can also reduce to a `Block` [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"!"` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"("` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"-"` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"Regex::compile"` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"checkpoint"` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"false"` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"for"` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"if"` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"return"` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"saga_step_start"` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"true"` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"while"` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"{"` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `Identifier` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `Int` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:174:5: 175:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = (*) Comma "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ Expression "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" Statement+ "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Block = (*) "{" "}" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comma = (*) Expression ("," Expression)+ ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Comparison = (*) Term ComparisonOp Term ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) Comparison "=" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "for" Identifier "in" Expression ".." Expression Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "if" "(" Expression ")" Block "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "return" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = (*) "while" "(" Expression ")" Expression ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Factor = (*) Unary MulDivOp Unary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "(" Expression ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "Regex::compile" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "checkpoint" "(" Identifier ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "false" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "saga_step_start" "(" String ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) "true" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Identifier "(" ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = Identifier "(" (*) ArgumentList ")" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) Int ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Primary = (*) String ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Term = (*) Factor AddSubOp Factor ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "!" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Unary = (*) "-" Primary ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `String` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:194:5: 195:0: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] OptionalType = (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] OptionalType = (*) ":" Type ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Statement = "let" Identifier (*) OptionalType "=" Expression ";" ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `":"` we can reduce to a `OptionalType` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:172:5: 172:41: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] ArgumentList = Comma (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] ArgumentList = Comma (*) "," ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `","` we can reduce to a `ArgumentList` but we can also shift [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:172:11: 172:27: Local ambiguity detected [INFO] [stderr] [INFO] [stderr] The problem arises after having observed the following symbols in the input: [INFO] [stderr] Expression [INFO] [stderr] At that point, if the next token is a `","`, then the parser can proceed in two different ways. [INFO] [stderr] [INFO] [stderr] First, the parser could execute the production at [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:172:11: 172:27, which would consume [INFO] [stderr] the top 1 token(s) from the stack and produce a `Comma`. This might then yield a [INFO] [stderr] parse tree like [INFO] [stderr] Expression ╷ "," [INFO] [stderr] ├─Comma─┘ │ [INFO] [stderr] └─ArgumentList──────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, the parser could shift the `","` token and later use it to construct a [INFO] [stderr] `("," Expression)+`. This might then yield a parse tree like [INFO] [stderr] Expression "," Expression [INFO] [stderr] │ └─("," Expression)+─┤ [INFO] [stderr] └─Comma────────────┘ [INFO] [stderr] [INFO] [stderr] Hint: It appears you could resolve this problem by adding the annotation `#[inline]` to the [INFO] [stderr] definition of `Comma`. For more information, see the section on inlining in the [INFO] [stderr] LALRPOP manual. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:172:11: 172:27: Local ambiguity detected [INFO] [stderr] [INFO] [stderr] The problem arises after having observed the following symbols in the input: [INFO] [stderr] Expression ("," Expression)+ [INFO] [stderr] At that point, if the next token is a `","`, then the parser can proceed in two different ways. [INFO] [stderr] [INFO] [stderr] First, the parser could execute the production at [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:172:11: 172:27, which would consume [INFO] [stderr] the top 2 token(s) from the stack and produce a `Comma`. This might then yield a [INFO] [stderr] parse tree like [INFO] [stderr] Expression ("," Expression)+ "," [INFO] [stderr] ├─Comma────────┘ │ [INFO] [stderr] └─ArgumentList─────────────────┘ [INFO] [stderr] [INFO] [stderr] Alternatively, the parser could shift the `","` token and later use it to construct a [INFO] [stderr] `("," Expression)+`. This might then yield a parse tree like [INFO] [stderr] Expression ("," Expression)+ "," Expression [INFO] [stderr] │ └─("," Expression)+────────────┤ [INFO] [stderr] └─Comma───────────────────────┘ [INFO] [stderr] [INFO] [stderr] Hint: It appears you could resolve this problem by adding the annotation `#[inline]` to the [INFO] [stderr] definition of `Comma`. For more information, see the section on inlining in the [INFO] [stderr] LALRPOP manual. [INFO] [stderr] [INFO] [stderr] /opt/rustwide/workdir/veritas_compiler/src/veritas.lalrpop:90:5: 90:129: Conflict detected [INFO] [stderr] [INFO] [stderr] when in this state: [INFO] [stderr] Expression = "if" "(" Expression ")" Block (*) ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] Expression = "if" "(" Expression ")" Block (*) "else" Block ["!", "!=", "(", ")", "*", "+", ",", "-", "->", "..", "/", ":", ";", "<", "<=", "=", "==", ">", ">=", "@checkpointable", "Bool", "Int", "List", "Regex", "Regex::compile", "Result", "String", "Unit", "and", "checkpoint", "else", "false", "fn", "for", "if", "in", "let", "or", "return", "saga_step_start", "struct", "true", "while", "{", "}", Identifier, Int, String, Eof] [INFO] [stderr] [INFO] [stderr] and looking at a token `"else"` we can reduce to a `Expression` but we can also shift [INFO] [stderr] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "b32165ab88a3d9e3ee1fefbc46d36c7fe85c7df025ca9f181e834d3f2fba7c73", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b32165ab88a3d9e3ee1fefbc46d36c7fe85c7df025ca9f181e834d3f2fba7c73", kill_on_drop: false }` [INFO] [stdout] b32165ab88a3d9e3ee1fefbc46d36c7fe85c7df025ca9f181e834d3f2fba7c73