# ducere bug notes -*- mode: compilation; default-directory: "~/Dev/Rust/ducere/" -*- Compilation started at Sat Mar 26 11:53:27 cargo test Blocking waiting for file lock on build directory Compiling ducere v0.1.0 (/Users/pnkfelix/Dev/Rust/ducere) Finished test [unoptimized + debuginfo] target(s) in 2.40s Running unittests (target/debug/deps/ducere-80daeaf2c805f0e4) running 11 tests test functional_fixed_width_integer ... ok test test_parts ... ok test simpler_variant_on_ifwi2_b ... FAILED test simpler_variant_on_ifwi2_a ... ok test imperative_fixed_width_integer_1 ... ok test tests::regular_right_sides_expression_dsl ... ok test imperative_fixed_width_integer_foundations ... ok test tests::regular_right_sides ... ok test tests::non_empty_grammar ... ok test yakker ... ok test tests::grammar_sugar ... ok failures: ---- simpler_variant_on_ifwi2_b stdout ---- env: [] w: "ab" r: `<S(2)>` env: [n=2] w: "ab" r: `[n > 0] ('a' | 'b') ({ n := n - 1 })* [n == 0]` `"ab"` in Concat(`[n > 0] ('a' | 'b') ({ n := n - 1 })*`,`[n == 0]`) trial i=0 yields "" "ab" env: [n=2] w: "" r: `[n > 0] ('a' | 'b') ({ n := n - 1 })*` Kleene trivial empty match env: [n=2] w: "" r: `[n > 0] ('a' | 'b') ({ n := n - 1 })*` i: 0 env1: [n=2] w1: "" r1: `[n > 0] ('a' | 'b') ({ n := n - 1 })*` w1_in_r1: [] env: [n=2] w: "ab" r: `[n == 0]` i: 0 env2: [n=2] w2: "ab" r2: `[n == 0]`, w2_in_r2: None `"ab"` in Concat(`[n > 0] ('a' | 'b') ({ n := n - 1 })*`,`[n == 0]`) trial i=1 yields "a" "b" env: [n=2] w: "a" r: `[n > 0] ('a' | 'b') ({ n := n - 1 })*` env: [n=2] w: "a" r: `[n > 0] ('a' | 'b') ({ n := n - 1 })` `"a"` in Concat(`[n > 0]`,`('a' | 'b') ({ n := n - 1 })`) trial i=0 yields "" "a" env: [n=2] w: "" r: `[n > 0]` i: 0 env1: [n=2] w1: "" r1: `[n > 0]` w1_in_r1: [] env: [n=2] w: "a" r: `('a' | 'b') ({ n := n - 1 })` `"a"` in Concat(`'a' | 'b'`,`{ n := n - 1 }`) trial i=0 yields "" "a" env: [n=2] w: "" r: `'a' | 'b'` env: [n=2] w: "" r: `'a'` env: [n=2] w: "" r: `'b'` i: 0 env1: [n=2] w1: "" r1: `'a' | 'b'` w1_in_r1: nil `"a"` in Concat(`'a' | 'b'`,`{ n := n - 1 }`) trial i=1 yields "a" "" env: [n=2] w: "a" r: `'a' | 'b'` env: [n=2] w: "a" r: `'a'` i: 1 env1: [n=2] w1: "a" r1: `'a' | 'b'` w1_in_r1: [] env: [n=2] w: "" r: `{ n := n - 1 }` i: 1 env2: [n=2] w2: "" r2: `{ n := n - 1 }`, w2_in_r2: Some("[n=1]") i: 0 env2: [n=2] w2: "a" r2: `('a' | 'b') ({ n := n - 1 })`, w2_in_r2: Some("[n=1]") Kleene simple singleton match env: [n=2] w: "a" r: `[n > 0] ('a' | 'b') ({ n := n - 1 })*` i: 1 env1: [n=2] w1: "a" r1: `[n > 0] ('a' | 'b') ({ n := n - 1 })*` w1_in_r1: [n=1] env: [n=1] w: "b" r: `[n == 0]` i: 1 env2: [n=1] w2: "b" r2: `[n == 0]`, w2_in_r2: None `"ab"` in Concat(`[n > 0] ('a' | 'b') ({ n := n - 1 })*`,`[n == 0]`) trial i=2 yields "ab" "" env: [n=2] w: "ab" r: `[n > 0] ('a' | 'b') ({ n := n - 1 })*` env: [n=2] w: "ab" r: `[n > 0] ('a' | 'b') ({ n := n - 1 })` `"ab"` in Concat(`[n > 0]`,`('a' | 'b') ({ n := n - 1 })`) trial i=0 yields "" "ab" env: [n=2] w: "" r: `[n > 0]` i: 0 env1: [n=2] w1: "" r1: `[n > 0]` w1_in_r1: [] env: [n=2] w: "ab" r: `('a' | 'b') ({ n := n - 1 })` `"ab"` in Concat(`'a' | 'b'`,`{ n := n - 1 }`) trial i=0 yields "" "ab" env: [n=2] w: "" r: `'a' | 'b'` env: [n=2] w: "" r: `'a'` env: [n=2] w: "" r: `'b'` i: 0 env1: [n=2] w1: "" r1: `'a' | 'b'` w1_in_r1: nil `"ab"` in Concat(`'a' | 'b'`,`{ n := n - 1 }`) trial i=1 yields "a" "b" env: [n=2] w: "a" r: `'a' | 'b'` env: [n=2] w: "a" r: `'a'` i: 1 env1: [n=2] w1: "a" r1: `'a' | 'b'` w1_in_r1: [] env: [n=2] w: "b" r: `{ n := n - 1 }` i: 1 env2: [n=2] w2: "b" r2: `{ n := n - 1 }`, w2_in_r2: None `"ab"` in Concat(`'a' | 'b'`,`{ n := n - 1 }`) trial i=2 yields "ab" "" env: [n=2] w: "ab" r: `'a' | 'b'` env: [n=2] w: "ab" r: `'a'` env: [n=2] w: "ab" r: `'b'` i: 2 env1: [n=2] w1: "ab" r1: `'a' | 'b'` w1_in_r1: nil i: 0 env2: [n=2] w2: "ab" r2: `('a' | 'b') ({ n := n - 1 })`, w2_in_r2: None `"ab"` in Concat(`[n > 0]`,`('a' | 'b') ({ n := n - 1 })`) trial i=1 yields "a" "b" env: [n=2] w: "a" r: `[n > 0]` i: 1 env1: [n=2] w1: "a" r1: `[n > 0]` w1_in_r1: [] env: [n=2] w: "b" r: `('a' | 'b') ({ n := n - 1 })` `"b"` in Concat(`'a' | 'b'`,`{ n := n - 1 }`) trial i=0 yields "" "b" env: [n=2] w: "" r: `'a' | 'b'` env: [n=2] w: "" r: `'a'` env: [n=2] w: "" r: `'b'` i: 0 env1: [n=2] w1: "" r1: `'a' | 'b'` w1_in_r1: nil `"b"` in Concat(`'a' | 'b'`,`{ n := n - 1 }`) trial i=1 yields "b" "" env: [n=2] w: "b" r: `'a' | 'b'` env: [n=2] w: "b" r: `'a'` env: [n=2] w: "b" r: `'b'` i: 1 env1: [n=2] w1: "b" r1: `'a' | 'b'` w1_in_r1: [] env: [n=2] w: "" r: `{ n := n - 1 }` i: 1 env2: [n=2] w2: "" r2: `{ n := n - 1 }`, w2_in_r2: Some("[n=1]") i: 1 env2: [n=2] w2: "b" r2: `('a' | 'b') ({ n := n - 1 })`, w2_in_r2: Some("[n=1]") Kleene simple singleton match env: [n=2] w: "ab" r: `[n > 0] ('a' | 'b') ({ n := n - 1 })*` i: 2 env1: [n=2] w1: "ab" r1: `[n > 0] ('a' | 'b') ({ n := n - 1 })*` w1_in_r1: [n=1] env: [n=1] w: "" r: `[n == 0]` i: 2 env2: [n=1] w2: "" r2: `[n == 0]`, w2_in_r2: None thread 'simpler_variant_on_ifwi2_b' panicked at 'assertion failed: yakker::GrammarParser::new().parse(r\"S(n) ::= ([n gt 0] ( \'a\' | \'b\' ) { n := n- 1 })* [n eql 0];\").unwrap().matches(emp,\n &input(\"ab\"),\n &right_side(r\"<S(2)>\")).is_some()', src/lib.rs:844:5 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace failures: simpler_variant_on_ifwi2_b test result: FAILED. 10 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.16s error: test failed, to rerun pass '--lib' Compilation exited abnormally with code 101 at Sat Mar 26 11:53:31