[INFO] cloning repository https://github.com/oaleaf/cx
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/oaleaf/cx" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foaleaf%2Fcx", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foaleaf%2Fcx'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bdda1e5435301880bdef7b2bd2b7d6789fc8cf72
[INFO] documenting oaleaf/cx against beta-2023-04-20 for beta-1.70-rustdoc-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foaleaf%2Fcx" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/oaleaf/cx on toolchain beta-2023-04-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/oaleaf/cx
[INFO] finished tweaking git repo https://github.com/oaleaf/cx
[INFO] tweaked toml for git repo https://github.com/oaleaf/cx written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/oaleaf/cx 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" "+beta-2023-04-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded string-interner v0.14.0
[INFO] [stderr]   Downloaded wasi v0.10.3+wasi-snapshot-preview1
[INFO] [stderr]   Downloaded cranelift-jit v0.80.0
[INFO] [stderr]   Downloaded cranelift-module v0.80.0
[INFO] [stderr]   Downloaded cranelift v0.80.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] da1d99b94610fe87e4dd238d04d989d28d28b5413227e834505127b4aeb9bb4a
[INFO] running `Command { std: "docker" "start" "-a" "da1d99b94610fe87e4dd238d04d989d28d28b5413227e834505127b4aeb9bb4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "da1d99b94610fe87e4dd238d04d989d28d28b5413227e834505127b4aeb9bb4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da1d99b94610fe87e4dd238d04d989d28d28b5413227e834505127b4aeb9bb4a", kill_on_drop: false }`
[INFO] [stdout] da1d99b94610fe87e4dd238d04d989d28d28b5413227e834505127b4aeb9bb4a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5f166ffb20caf472264265fdcb8d3cc74eef0c37195c118e13d53558f0cf96de
[INFO] running `Command { std: "docker" "start" "-a" "5f166ffb20caf472264265fdcb8d3cc74eef0c37195c118e13d53558f0cf96de", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.112
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling once_cell v1.9.0
[INFO] [stderr]    Compiling cranelift-codegen-shared v0.80.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling smallvec v1.8.0
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling target-lexicon v0.12.2
[INFO] [stderr]    Compiling cranelift-codegen-meta v0.80.0
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling lock_api v0.4.5
[INFO] [stderr]     Checking cranelift-entity v0.80.0
[INFO] [stderr]    Compiling siphasher v0.3.9
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]     Checking cranelift-bforest v0.80.0
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling indexmap v1.8.0
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]     Checking regalloc v0.0.33
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling ena v0.14.0
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling itertools v0.10.3
[INFO] [stderr]    Compiling diff v0.1.12
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]    Compiling serde v1.0.133
[INFO] [stderr]    Compiling pico-args v0.4.2
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling getrandom v0.2.4
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling utf8-ranges v1.0.4
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling anyhow v1.0.52
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling beef v0.5.1
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking cx_intr v0.1.0 (/opt/rustwide/workdir/crates/cx_intr)
[INFO] [stderr]    Compiling string_cache v0.8.2
[INFO] [stdout] warning: use of deprecated struct `HasherGenerator`: may be prone to hash collisions and therefore is not recommended
[INFO] [stdout]   --> crates/cx_intr/src/lib.rs:88:51
[INFO] [stdout]    |
[INFO] [stdout] 88 | unsafe impl<V> InternerTokenGenerator<V, u64> for HasherGenerator
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking region v2.2.0
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]    Compiling cranelift-codegen v0.80.0
[INFO] [stderr]    Compiling lalrpop-util v0.19.6
[INFO] [stderr]    Compiling lalrpop v0.19.6
[INFO] [stderr]     Checking string-interner v0.14.0
[INFO] [stderr]     Checking cx_ir v0.1.0 (/opt/rustwide/workdir/crates/cx_ir)
[INFO] [stderr]    Compiling logos-derive v0.12.0
[INFO] [stderr]     Checking logos v0.12.0
[INFO] [stderr]     Checking cranelift-native v0.80.0
[INFO] [stderr]     Checking cranelift-module v0.80.0
[INFO] [stderr]     Checking cranelift-frontend v0.80.0
[INFO] [stderr]     Checking cranelift-jit v0.80.0
[INFO] [stderr]     Checking cranelift v0.80.0
[INFO] [stderr]    Compiling cx_syn v0.1.0 (/opt/rustwide/workdir/crates/cx_syn)
[INFO] [stderr] error: failed to run custom build command for `cx_syn v0.1.0 (/opt/rustwide/workdir/crates/cx_syn)`
[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/cx_syn-defb6b905fcd521c/build-script-build` (exit status: 1)
[INFO] [stderr]   --- stdout
[INFO] [stderr]   cargo:rerun-if-changed=src/cx_grammar.lalrpop
[INFO] [stderr]   processing file `src/cx_grammar.lalrpop`
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr1 = Expr1 (*) "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = Expr1 (*) "newline continuation" "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = Expr1 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"."` we can reduce to a `Expr2` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       "!" Expr1
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:153:1: 153:4, which would consume the top 1 token(s) from the stack and produce a `Expr2`. This might then yield a parse tree like
[INFO] [stderr]       Expr1   ╷ "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr2─┤                                 │
[INFO] [stderr]       ├─Expr3─┤                                 │
[INFO] [stderr]       ├─Expr4─┤                                 │
[INFO] [stderr]       ├─Expr5─┘                                 │
[INFO] [stderr]       └─Expr5───────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr1`. This might then yield a parse tree like
[INFO] [stderr]       "!" Expr1 "newline continuation" "." Name
[INFO] [stderr]       │   ├─Expr1─────────────────────────────┤
[INFO] [stderr]       │   └─Expr2─────────────────────────────┤
[INFO] [stderr]       └─Expr2─────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"%"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"*"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"/"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr5 ">=" Expr3
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:153:1: 153:4, which would consume the top 1 token(s) from the stack and produce a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr3   ╷ "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr4─┤                                 │
[INFO] [stderr]       ├─Expr5─┘                                 │
[INFO] [stderr]       └─Expr5───────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr3`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 ">=" Expr3 "newline continuation" "%" Expr2
[INFO] [stderr]       │          ├─Expr3──────────────────────────────┤
[INFO] [stderr]       │          └─Expr4──────────────────────────────┤
[INFO] [stderr]       └─Expr5─────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"+"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"-"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr "==" Expr4
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:153:1: 153:4, which would consume the top 1 token(s) from the stack and produce a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Expr4   ╷ "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr5─┘                                 │
[INFO] [stderr]       └─Expr5───────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr "==" Expr4 "newline continuation" "+" Expr3
[INFO] [stderr]       │         ├─Expr4──────────────────────────────┤
[INFO] [stderr]       │         └─Expr5──────────────────────────────┤
[INFO] [stderr]       └─Expr─────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"<"` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"<="` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `">"` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `">="` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Name "=" Expr5
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:153:1: 153:4, which would consume the top 1 token(s) from the stack and produce a `Expr`. This might then yield a parse tree like
[INFO] [stderr]       Expr5  ╷ "newline continuation" "==" Expr5
[INFO] [stderr]       ├─Expr─┘                                 │
[INFO] [stderr]       └─Expr───────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Name "=" Expr5 "newline continuation" "<" Expr4
[INFO] [stderr]       │        ├─Expr5──────────────────────────────┤
[INFO] [stderr]       │        └─Expr───────────────────────────────┤
[INFO] [stderr]       └─DefaultFnParam──────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:9:5: 9:38: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Block = (*) "{" Item+ "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Block = (*) "{" "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Number ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr0 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "newline continuation" "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) Expr1 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) "!" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" RetTy Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) FnDecl ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) Stmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) UsnStmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item+ = Item+ (*) Item ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "bin num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "dec num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "hex num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "oct num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     SourceFileRoot = Item+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Stmt = (*) Expr "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     UsnStmt = (*) "usn" Path "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"!"` we can reduce to a `SourceFileRoot` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:9:5: 9:38: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Block = (*) "{" Item+ "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Block = (*) "{" "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Number ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr0 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "newline continuation" "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) Expr1 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) "!" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" RetTy Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) FnDecl ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) Stmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) UsnStmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item+ = Item+ (*) Item ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "bin num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "dec num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "hex num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "oct num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     SourceFileRoot = Item+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Stmt = (*) Expr "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     UsnStmt = (*) "usn" Path "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"("` we can reduce to a `SourceFileRoot` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:9:5: 9:38: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Block = (*) "{" Item+ "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Block = (*) "{" "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Number ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr0 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "newline continuation" "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) Expr1 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) "!" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" RetTy Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) FnDecl ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) Stmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) UsnStmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item+ = Item+ (*) Item ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "bin num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "dec num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "hex num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "oct num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     SourceFileRoot = Item+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Stmt = (*) Expr "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     UsnStmt = (*) "usn" Path "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"bin num"` we can reduce to a `SourceFileRoot` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:9:5: 9:38: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Block = (*) "{" Item+ "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Block = (*) "{" "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Number ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr0 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "newline continuation" "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) Expr1 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) "!" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" RetTy Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) FnDecl ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) Stmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) UsnStmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item+ = Item+ (*) Item ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "bin num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "dec num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "hex num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "oct num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     SourceFileRoot = Item+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Stmt = (*) Expr "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     UsnStmt = (*) "usn" Path "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"dec num"` we can reduce to a `SourceFileRoot` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:9:5: 9:38: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Block = (*) "{" Item+ "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Block = (*) "{" "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Number ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr0 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "newline continuation" "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) Expr1 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) "!" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" RetTy Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) FnDecl ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) Stmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) UsnStmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item+ = Item+ (*) Item ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "bin num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "dec num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "hex num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "oct num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     SourceFileRoot = Item+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Stmt = (*) Expr "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     UsnStmt = (*) "usn" Path "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"fn"` we can reduce to a `SourceFileRoot` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:9:5: 9:38: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Block = (*) "{" Item+ "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Block = (*) "{" "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Number ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr0 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "newline continuation" "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) Expr1 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) "!" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" RetTy Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) FnDecl ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) Stmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) UsnStmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item+ = Item+ (*) Item ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "bin num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "dec num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "hex num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "oct num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     SourceFileRoot = Item+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Stmt = (*) Expr "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     UsnStmt = (*) "usn" Path "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"hex num"` we can reduce to a `SourceFileRoot` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:9:5: 9:38: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Block = (*) "{" Item+ "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Block = (*) "{" "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Number ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr0 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "newline continuation" "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) Expr1 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) "!" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" RetTy Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) FnDecl ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) Stmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) UsnStmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item+ = Item+ (*) Item ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "bin num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "dec num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "hex num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "oct num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     SourceFileRoot = Item+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Stmt = (*) Expr "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     UsnStmt = (*) "usn" Path "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"name"` we can reduce to a `SourceFileRoot` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:9:5: 9:38: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Block = (*) "{" Item+ "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Block = (*) "{" "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Number ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr0 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "newline continuation" "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) Expr1 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) "!" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" RetTy Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) FnDecl ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) Stmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) UsnStmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item+ = Item+ (*) Item ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "bin num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "dec num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "hex num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "oct num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     SourceFileRoot = Item+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Stmt = (*) Expr "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     UsnStmt = (*) "usn" Path "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"newline"` we can reduce to a `SourceFileRoot` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:9:5: 9:38: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Block = (*) "{" Item+ "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Block = (*) "{" "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Number ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr0 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "newline continuation" "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) Expr1 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) "!" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" RetTy Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) FnDecl ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) Stmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) UsnStmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item+ = Item+ (*) Item ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "bin num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "dec num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "hex num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "oct num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     SourceFileRoot = Item+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Stmt = (*) Expr "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     UsnStmt = (*) "usn" Path "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"oct num"` we can reduce to a `SourceFileRoot` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:9:5: 9:38: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Block = (*) "{" Item+ "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Block = (*) "{" "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Number ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr0 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "newline continuation" "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) Expr1 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) "!" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" RetTy Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) FnDecl ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) Stmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) UsnStmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item+ = Item+ (*) Item ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "bin num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "dec num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "hex num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "oct num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     SourceFileRoot = Item+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Stmt = (*) Expr "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     UsnStmt = (*) "usn" Path "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"usn"` we can reduce to a `SourceFileRoot` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:9:5: 9:38: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Block = (*) "{" Item+ "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Block = (*) "{" "}" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = (*) Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) Number ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" (Expr0 Comma)+ ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" Expr0 ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr0 = (*) "(" ")" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr0 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = (*) Expr1 "newline continuation" "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) Expr1 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = (*) "!" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = (*) Expr3 "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = (*) Expr4 "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = (*) Expr5 "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = (*) "fn" Name "(" FnParamList ")" RetTy Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) FnDecl ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) Stmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) UsnStmt ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item = (*) "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Item+ = Item+ (*) Item ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "bin num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "dec num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "hex num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Number = (*) "oct num" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     SourceFileRoot = Item+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Stmt = (*) Expr "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     UsnStmt = (*) "usn" Path "newline" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"{"` we can reduce to a `SourceFileRoot` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:24:5: 24:48: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (Name Colon2)+ = Name (*) "::" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Path = Name (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"::"` we can reduce to a `Path` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:216:5: 216:89: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "!=" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"<"` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:216:5: 216:89: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "!=" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"<="` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:216:5: 216:89: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "!=" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `">"` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:216:5: 216:89: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "!=" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `">="` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:216:5: 216:89: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr "!=" Expr5
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:216:5: 216:89, which would consume the top 3 token(s) from the stack and produce a `Expr`. This might then yield a parse tree like
[INFO] [stderr]       Expr "!=" Expr5 "newline continuation" "==" Expr5
[INFO] [stderr]       ├─Expr────────┘                                 │
[INFO] [stderr]       └─Expr──────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Expr "!=" Expr5 "newline continuation" "<" Expr4
[INFO] [stderr]       │         └─Expr5──────────────────────────────┤
[INFO] [stderr]       └─Expr─────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:213:5: 213:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "==" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"<"` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:213:5: 213:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "==" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"<="` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:213:5: 213:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "==" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `">"` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:213:5: 213:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "==" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `">="` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:213:5: 213:86: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr "==" Expr5
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:213:5: 213:86, which would consume the top 3 token(s) from the stack and produce a `Expr`. This might then yield a parse tree like
[INFO] [stderr]       Expr "==" Expr5 "newline continuation" "==" Expr5
[INFO] [stderr]       ├─Expr────────┘                                 │
[INFO] [stderr]       └─Expr──────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Expr "==" Expr5 "newline continuation" "<" Expr4
[INFO] [stderr]       │         └─Expr5──────────────────────────────┤
[INFO] [stderr]       └─Expr─────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:193:5: 193:87: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 "+" Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"%"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:193:5: 193:87: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 "+" Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"*"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:193:5: 193:87: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 "+" Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"/"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:193:5: 193:87: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr4 "+" Expr3
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:193:5: 193:87, which would consume the top 3 token(s) from the stack and produce a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr4 "+" Expr3 "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr4───────┤                                 │
[INFO] [stderr]       ├─Expr5───────┘                                 │
[INFO] [stderr]       └─Expr5─────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr3`. This might then yield a parse tree like
[INFO] [stderr]       Expr4 "+" Expr3 "newline continuation" "%" Expr2
[INFO] [stderr]       │         └─Expr3──────────────────────────────┤
[INFO] [stderr]       └─Expr4────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:196:5: 196:88: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 "-" Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"%"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:196:5: 196:88: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 "-" Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"*"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:196:5: 196:88: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 "-" Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"/"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:196:5: 196:88: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr4 "-" Expr3
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:196:5: 196:88, which would consume the top 3 token(s) from the stack and produce a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr4 "-" Expr3 "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr4───────┤                                 │
[INFO] [stderr]       ├─Expr5───────┘                                 │
[INFO] [stderr]       └─Expr5─────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr3`. This might then yield a parse tree like
[INFO] [stderr]       Expr4 "-" Expr3 "newline continuation" "%" Expr2
[INFO] [stderr]       │         └─Expr3──────────────────────────────┤
[INFO] [stderr]       └─Expr4────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:200:5: 200:85: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 "<" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"+"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:200:5: 200:85: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 "<" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"-"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:200:5: 200:85: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr5 "<" Expr4
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:200:5: 200:85, which would consume the top 3 token(s) from the stack and produce a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 "<" Expr4 "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr5───────┘                                 │
[INFO] [stderr]       └─Expr5─────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 "<" Expr4 "newline continuation" "+" Expr3
[INFO] [stderr]       │         └─Expr4──────────────────────────────┤
[INFO] [stderr]       └─Expr5────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:206:5: 206:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 "<=" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"+"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:206:5: 206:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 "<=" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"-"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:206:5: 206:86: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr5 "<=" Expr4
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:206:5: 206:86, which would consume the top 3 token(s) from the stack and produce a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 "<=" Expr4 "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr5────────┘                                 │
[INFO] [stderr]       └─Expr5──────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 "<=" Expr4 "newline continuation" "+" Expr3
[INFO] [stderr]       │          └─Expr4──────────────────────────────┤
[INFO] [stderr]       └─Expr5─────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:203:5: 203:85: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 ">" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"+"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:203:5: 203:85: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 ">" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"-"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:203:5: 203:85: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr5 ">" Expr4
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:203:5: 203:85, which would consume the top 3 token(s) from the stack and produce a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 ">" Expr4 "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr5───────┘                                 │
[INFO] [stderr]       └─Expr5─────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 ">" Expr4 "newline continuation" "+" Expr3
[INFO] [stderr]       │         └─Expr4──────────────────────────────┤
[INFO] [stderr]       └─Expr5────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:209:5: 209:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 ">=" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"+"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:209:5: 209:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 ">=" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"-"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:209:5: 209:86: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr5 ">=" Expr4
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:209:5: 209:86, which would consume the top 3 token(s) from the stack and produce a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 ">=" Expr4 "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr5────────┘                                 │
[INFO] [stderr]       └─Expr5──────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 ">=" Expr4 "newline continuation" "+" Expr3
[INFO] [stderr]       │          └─Expr4──────────────────────────────┤
[INFO] [stderr]       └─Expr5─────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:112:5: 112:70: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (DefaultFnParam Comma)+ = (*) (DefaultFnParam Comma)+ DefaultFnParam "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     (DefaultFnParam Comma)+ = (*) DefaultFnParam "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     (PosFnParam Comma)+ = (*) (PosFnParam Comma)+ PosFnParam "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     (PosFnParam Comma)+ = (*) PosFnParam "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     DefaultFnParam = (*) Name Ty "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     DefaultFnParam = (*) Name ":" Ty "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     DefaultFnParam = (*) Name "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = "fn" Name "(" (*) FnParamList ")" Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnDecl = "fn" Name "(" (*) FnParamList ")" RetTy Block ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (*) (DefaultFnParam Comma)+ ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (*) (DefaultFnParam Comma)+ DefaultFnParam ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (*) (PosFnParam Comma)+ ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (*) (PosFnParam Comma)+ (DefaultFnParam Comma)+ ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (*) (PosFnParam Comma)+ (DefaultFnParam Comma)+ DefaultFnParam ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (*) (PosFnParam Comma)+ DefaultFnParam ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (*) (PosFnParam Comma)+ PosFnParam ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (*) DefaultFnParam ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (*) PosFnParam ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     PosFnParam = (*) Name Ty ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     PosFnParam = (*) Name ":" Ty ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"name"` we can reduce to a `FnParamList` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:24:5: 24:48: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (Name Colon2)+ = (Name Colon2)+ Name (*) "::" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Path = (Name Colon2)+ Name (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"::"` we can reduce to a `Path` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:24:5: 24:48: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (Name Colon2)+ = Name (*) "::" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Path = "::" Name (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"::"` we can reduce to a `Path` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:216:5: 216:89: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "newline continuation" "!=" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"<"` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:216:5: 216:89: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "newline continuation" "!=" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"<="` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:216:5: 216:89: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "newline continuation" "!=" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `">"` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:216:5: 216:89: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "newline continuation" "!=" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `">="` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:216:5: 216:89: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr "newline continuation" "!=" Expr5
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:216:5: 216:89, which would consume the top 4 token(s) from the stack and produce a `Expr`. This might then yield a parse tree like
[INFO] [stderr]       Expr "newline continuation" "!=" Expr5 "newline continuation" "==" Expr5
[INFO] [stderr]       ├─Expr───────────────────────────────┘                                 │
[INFO] [stderr]       └─Expr─────────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Expr "newline continuation" "!=" Expr5 "newline continuation" "<" Expr4
[INFO] [stderr]       │                                └─Expr5──────────────────────────────┤
[INFO] [stderr]       └─Expr────────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:213:5: 213:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "newline continuation" "==" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"<"` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:213:5: 213:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "newline continuation" "==" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"<="` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:213:5: 213:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "newline continuation" "==" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `">"` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:213:5: 213:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr = Expr "newline continuation" "==" Expr5 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" "<=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 (*) "newline continuation" ">=" Expr4 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `">="` we can reduce to a `Expr` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:213:5: 213:86: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr "newline continuation" "==" Expr5
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:213:5: 213:86, which would consume the top 4 token(s) from the stack and produce a `Expr`. This might then yield a parse tree like
[INFO] [stderr]       Expr "newline continuation" "==" Expr5 "newline continuation" "==" Expr5
[INFO] [stderr]       ├─Expr───────────────────────────────┘                                 │
[INFO] [stderr]       └─Expr─────────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Expr "newline continuation" "==" Expr5 "newline continuation" "<" Expr4
[INFO] [stderr]       │                                └─Expr5──────────────────────────────┤
[INFO] [stderr]       └─Expr────────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:193:5: 193:87: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 "newline continuation" "+" Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"%"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:193:5: 193:87: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 "newline continuation" "+" Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"*"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:193:5: 193:87: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 "newline continuation" "+" Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"/"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:193:5: 193:87: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr4 "newline continuation" "+" Expr3
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:193:5: 193:87, which would consume the top 4 token(s) from the stack and produce a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr4 "newline continuation" "+" Expr3 "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr4──────────────────────────────┤                                 │
[INFO] [stderr]       ├─Expr5──────────────────────────────┘                                 │
[INFO] [stderr]       └─Expr5────────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr3`. This might then yield a parse tree like
[INFO] [stderr]       Expr4 "newline continuation" "+" Expr3 "newline continuation" "%" Expr2
[INFO] [stderr]       │                                └─Expr3──────────────────────────────┤
[INFO] [stderr]       └─Expr4───────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:196:5: 196:88: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 "newline continuation" "-" Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"%"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:196:5: 196:88: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 "newline continuation" "-" Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"*"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:196:5: 196:88: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr3 = Expr3 (*) "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "%" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "*" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr3 = Expr3 (*) "newline continuation" "/" Expr2 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 "newline continuation" "-" Expr3 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"/"` we can reduce to a `Expr4` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:196:5: 196:88: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr4 "newline continuation" "-" Expr3
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:196:5: 196:88, which would consume the top 4 token(s) from the stack and produce a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr4 "newline continuation" "-" Expr3 "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr4──────────────────────────────┤                                 │
[INFO] [stderr]       ├─Expr5──────────────────────────────┘                                 │
[INFO] [stderr]       └─Expr5────────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr3`. This might then yield a parse tree like
[INFO] [stderr]       Expr4 "newline continuation" "-" Expr3 "newline continuation" "%" Expr2
[INFO] [stderr]       │                                └─Expr3──────────────────────────────┤
[INFO] [stderr]       └─Expr4───────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:200:5: 200:85: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 "newline continuation" "<" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"+"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:200:5: 200:85: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 "newline continuation" "<" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"-"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:200:5: 200:85: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr5 "newline continuation" "<" Expr4
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:200:5: 200:85, which would consume the top 4 token(s) from the stack and produce a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 "newline continuation" "<" Expr4 "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr5──────────────────────────────┘                                 │
[INFO] [stderr]       └─Expr5────────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 "newline continuation" "<" Expr4 "newline continuation" "+" Expr3
[INFO] [stderr]       │                                └─Expr4──────────────────────────────┤
[INFO] [stderr]       └─Expr5───────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:206:5: 206:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 "newline continuation" "<=" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"+"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:206:5: 206:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 "newline continuation" "<=" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"-"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:206:5: 206:86: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr5 "newline continuation" "<=" Expr4
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:206:5: 206:86, which would consume the top 4 token(s) from the stack and produce a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 "newline continuation" "<=" Expr4 "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr5───────────────────────────────┘                                 │
[INFO] [stderr]       └─Expr5─────────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 "newline continuation" "<=" Expr4 "newline continuation" "+" Expr3
[INFO] [stderr]       │                                 └─Expr4──────────────────────────────┤
[INFO] [stderr]       └─Expr5────────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:203:5: 203:85: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 "newline continuation" ">" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"+"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:203:5: 203:85: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 "newline continuation" ">" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"-"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:203:5: 203:85: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr5 "newline continuation" ">" Expr4
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:203:5: 203:85, which would consume the top 4 token(s) from the stack and produce a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 "newline continuation" ">" Expr4 "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr5──────────────────────────────┘                                 │
[INFO] [stderr]       └─Expr5────────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 "newline continuation" ">" Expr4 "newline continuation" "+" Expr3
[INFO] [stderr]       │                                └─Expr4──────────────────────────────┤
[INFO] [stderr]       └─Expr5───────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:209:5: 209:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 "newline continuation" ">=" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"+"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:209:5: 209:86: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr4 = Expr4 (*) "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "+" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr4 = Expr4 (*) "newline continuation" "-" Expr3 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr5 = Expr5 "newline continuation" ">=" Expr4 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"-"` we can reduce to a `Expr5` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:209:5: 209:86: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       Expr5 "newline continuation" ">=" Expr4
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:209:5: 209:86, which would consume the top 4 token(s) from the stack and produce a `Expr5`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 "newline continuation" ">=" Expr4 "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr5───────────────────────────────┘                                 │
[INFO] [stderr]       └─Expr5─────────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr4`. This might then yield a parse tree like
[INFO] [stderr]       Expr5 "newline continuation" ">=" Expr4 "newline continuation" "+" Expr3
[INFO] [stderr]       │                                 └─Expr4──────────────────────────────┤
[INFO] [stderr]       └─Expr5────────────────────────────────────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:112:5: 112:70: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (DefaultFnParam Comma)+ = (DefaultFnParam Comma)+ (*) DefaultFnParam "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     DefaultFnParam = (*) Name Ty "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     DefaultFnParam = (*) Name ":" Ty "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     DefaultFnParam = (*) Name "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (DefaultFnParam Comma)+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (DefaultFnParam Comma)+ (*) DefaultFnParam ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"name"` we can reduce to a `FnParamList` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:112:5: 112:70: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (DefaultFnParam Comma)+ = (*) (DefaultFnParam Comma)+ DefaultFnParam "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     (DefaultFnParam Comma)+ = (*) DefaultFnParam "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     (PosFnParam Comma)+ = (PosFnParam Comma)+ (*) PosFnParam "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     DefaultFnParam = (*) Name Ty "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     DefaultFnParam = (*) Name ":" Ty "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     DefaultFnParam = (*) Name "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (PosFnParam Comma)+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (PosFnParam Comma)+ (*) (DefaultFnParam Comma)+ ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (PosFnParam Comma)+ (*) (DefaultFnParam Comma)+ DefaultFnParam ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (PosFnParam Comma)+ (*) DefaultFnParam ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (PosFnParam Comma)+ (*) PosFnParam ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     PosFnParam = (*) Name Ty ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     PosFnParam = (*) Name ":" Ty ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"name"` we can reduce to a `FnParamList` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:112:5: 112:70: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (DefaultFnParam Comma)+ = DefaultFnParam (*) "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = DefaultFnParam (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `","` we can reduce to a `FnParamList` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:112:5: 112:70: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (PosFnParam Comma)+ = PosFnParam (*) "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = PosFnParam (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `","` we can reduce to a `FnParamList` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:24:5: 24:48: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (Name Colon2)+ = (Name Colon2)+ Name (*) "::" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Path = "::" (Name Colon2)+ Name (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"::"` we can reduce to a `Path` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:112:5: 112:70: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (DefaultFnParam Comma)+ = (DefaultFnParam Comma)+ DefaultFnParam (*) "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (DefaultFnParam Comma)+ DefaultFnParam (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `","` we can reduce to a `FnParamList` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:112:5: 112:70: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (DefaultFnParam Comma)+ = (DefaultFnParam Comma)+ (*) DefaultFnParam "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     DefaultFnParam = (*) Name Ty "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     DefaultFnParam = (*) Name ":" Ty "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     DefaultFnParam = (*) Name "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (PosFnParam Comma)+ (DefaultFnParam Comma)+ (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (PosFnParam Comma)+ (DefaultFnParam Comma)+ (*) DefaultFnParam ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Name = (*) "name" ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"name"` we can reduce to a `FnParamList` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:112:5: 112:70: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (DefaultFnParam Comma)+ = DefaultFnParam (*) "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (PosFnParam Comma)+ DefaultFnParam (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `","` we can reduce to a `FnParamList` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:112:5: 112:70: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (PosFnParam Comma)+ = (PosFnParam Comma)+ PosFnParam (*) "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (PosFnParam Comma)+ PosFnParam (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `","` we can reduce to a `FnParamList` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:116:5: 116:48: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     DefaultFnParam = Name Ty (*) "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     PosFnParam = Name Ty (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"="` we can reduce to a `PosFnParam` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:112:5: 112:70: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     (DefaultFnParam Comma)+ = (DefaultFnParam Comma)+ DefaultFnParam (*) "," ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     FnParamList = (PosFnParam Comma)+ (DefaultFnParam Comma)+ DefaultFnParam (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `","` we can reduce to a `FnParamList` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:116:5: 116:48: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     DefaultFnParam = Name ":" Ty (*) "=" Expr ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     PosFnParam = Name ":" Ty (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"="` we can reduce to a `PosFnParam` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:120:5: 120:63: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     DefaultFnParam = Name "=" Expr (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"!="` we can reduce to a `DefaultFnParam` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:120:5: 120:63: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     DefaultFnParam = Name "=" Expr (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"=="` we can reduce to a `DefaultFnParam` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:120:5: 120:63: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     DefaultFnParam = Name "=" Expr (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"newline continuation"` we can reduce to a `DefaultFnParam` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:120:5: 120:63: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     DefaultFnParam = Name Ty "=" Expr (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"!="` we can reduce to a `DefaultFnParam` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:120:5: 120:63: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     DefaultFnParam = Name Ty "=" Expr (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"=="` we can reduce to a `DefaultFnParam` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:120:5: 120:63: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     DefaultFnParam = Name Ty "=" Expr (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"newline continuation"` we can reduce to a `DefaultFnParam` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:120:5: 120:63: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     DefaultFnParam = Name ":" Ty "=" Expr (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"!="` we can reduce to a `DefaultFnParam` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:120:5: 120:63: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     DefaultFnParam = Name ":" Ty "=" Expr (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"=="` we can reduce to a `DefaultFnParam` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:120:5: 120:63: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     DefaultFnParam = Name ":" Ty "=" Expr (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "!=" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr = Expr (*) "newline continuation" "==" Expr5 ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"newline continuation"` we can reduce to a `DefaultFnParam` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Conflict detected
[INFO] [stderr] 
[INFO] [stderr]       when in this state:
[INFO] [stderr]     Expr1 = Expr1 (*) "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr1 = Expr1 (*) "newline continuation" "." Name ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr]     Expr2 = Expr1 (*) ["!", "!=", "#", "%", "&&", "(", ")", "*", "+", ",", "-", ".", "/", ":", "::", "<", "<=", "=", "==", ">", ">=", "@", "[", "]", "bin num", "dec num", "fn", "hex num", "name", "newline", "newline continuation", "oct num", "struct", "usn", "{", "||", "}", EOF]
[INFO] [stderr] 
[INFO] [stderr]     and looking at a token `"."` we can reduce to a `Expr2` but we can also shift
[INFO] [stderr] 
[INFO] [stderr]   src/cx_grammar.lalrpop:153:1: 153:4: Local ambiguity detected
[INFO] [stderr] 
[INFO] [stderr]     The problem arises after having observed the following symbols in the input:
[INFO] [stderr]       "!" Expr1
[INFO] [stderr]     At that point, if the next token is a `"newline continuation"`, then the parser can proceed in two different ways.
[INFO] [stderr] 
[INFO] [stderr]     First, the parser could execute the production at src/cx_grammar.lalrpop:153:1: 153:4, which would consume the top 1 token(s) from the stack and produce a `Expr2`. This might then yield a parse tree like
[INFO] [stderr]       Expr1   ╷ "newline continuation" ">=" Expr4
[INFO] [stderr]       ├─Expr2─┤                                 │
[INFO] [stderr]       ├─Expr3─┤                                 │
[INFO] [stderr]       ├─Expr4─┤                                 │
[INFO] [stderr]       ├─Expr5─┘                                 │
[INFO] [stderr]       └─Expr5───────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     Alternatively, the parser could shift the `"newline continuation"` token and later use it to construct a `Expr1`. This might then yield a parse tree like
[INFO] [stderr]       "!" Expr1 "newline continuation" "." Name
[INFO] [stderr]       │   ├─Expr1─────────────────────────────┤
[INFO] [stderr]       │   └─Expr2─────────────────────────────┤
[INFO] [stderr]       └─Expr2─────────────────────────────────┘
[INFO] [stderr] 
[INFO] [stderr]     See the LALRPOP manual for advice on making your grammar LR(1).
[INFO] running `Command { std: "docker" "inspect" "5f166ffb20caf472264265fdcb8d3cc74eef0c37195c118e13d53558f0cf96de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f166ffb20caf472264265fdcb8d3cc74eef0c37195c118e13d53558f0cf96de", kill_on_drop: false }`
[INFO] [stdout] 5f166ffb20caf472264265fdcb8d3cc74eef0c37195c118e13d53558f0cf96de
