Closed CrockAgile closed 2 years ago
Merging #90 (b68f1cc) into main (6c9ebc1) will not change coverage. The diff coverage is
n/a
.
@@ Coverage Diff @@
## main #90 +/- ##
=======================================
Coverage 91.94% 91.94%
=======================================
Files 10 10
Lines 869 869
=======================================
Hits 799 799
Misses 70 70
Impacted Files | Coverage Δ | |
---|---|---|
src/error.rs | 74.57% <ø> (ø) |
|
src/expression.rs | 95.48% <ø> (ø) |
|
src/grammar.rs | 90.09% <ø> (ø) |
|
src/parsers.rs | 100.00% <ø> (ø) |
|
src/production.rs | 88.54% <ø> (ø) |
|
src/term.rs | 93.13% <ø> (ø) |
|
tests/display.rs | 100.00% <ø> (ø) |
|
tests/from_str.rs | 100.00% <ø> (ø) |
|
tests/grammar.rs | 75.00% <ø> (ø) |
|
tests/iterate.rs | 97.82% <ø> (ø) |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 6c9ebc1...b68f1cc. Read the comment docs.
I can revisit that recursion limit test, the whole method of "maybe too much recursion so monitor the stack and bail if we need to" logic is something I've been daydreaming about fixing since i implemented it 😅 . But don't think reimplementing that needs to be a blocker for this. The only thing I'd like to be somewhat confident about is that using the generate logic isn't also flakey now / can cause panics
The only thing I'd like to be somewhat confident about is that using the generate logic isn't also flakey now / can cause panics
anything beyond running the tests I could do to get that confidence? seems to have passed on all platforms in CI, but I got a few stack explosion panics running locally
Ah thanks for that effort! I kinda want to poke at it and see if I can reproduce on my end, so far I haven't seen it 🤔 Don't sweat me waiting on anything from you though, these updates are awesome. It's on me now, I'll try not to let this linger too much longer before making a call on the panic thing 🙏
Changes
This attempts a non-breaking change of updating BNF's Rust edition (read more about editions).
The quick summary of editions is:
The current edition used by BNF is Rust 2015, which is the default. But it is good practice to upgrade crates when possible, because it unlocks future language features.
For example, one improvement made in Rust 2018 edition was the removal of redundant
extern crate
uses.Issues
I don't know if this is a new issue from these changes, or running tests on new hardware, but I did encounter one flaky test:
This test would fail sometimes, and pass others. 🤷♂️