• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

moonbitlang / core / 3132
96%

Build:
DEFAULT BRANCH: main
Ran 23 Mar 2026 08:48AM UTC
Jobs 1
Files 320
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Mar 2026 08:47AM UTC coverage: 95.739% (-0.006%) from 95.745%
3132

push

github

bobzhang
fix(immut/array): add bounds checking to at() and set()

T::at (the [] operator) and T::set had no bounds checking.
Out-of-bounds indices were silently mapped to valid positions via
bitmask wrapping in the radix tree, causing reads/writes to the
wrong element instead of panicking.

For example:
- makei(32, i => i)[-1] returned 31 instead of panicking
- makei(1024, i => i)[1024] returned 0 instead of panicking
- makei(32, i => i).set(-1, 999) silently overwrote slot 31

Add guard checks that panic on negative or >= size indices.
Add panic tests for at() with negative, out-of-bounds, and empty
array cases.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

2 of 2 new or added lines in 1 file covered. (100.0%)

1 existing line in 1 file now uncovered.

13818 of 14433 relevant lines covered (95.74%)

176119.76 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
92.8
-0.42% immut/array/tree.mbt
Jobs
ID Job ID Ran Files Coverage
1 3132.1 23 Mar 2026 08:48AM UTC 321
95.75
GitHub Action Run
Source Files on build 3132
  • Tree
  • List 320
  • Changed 2
  • Source Changed 1
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • ec0fe6b6 on github
  • Prev Build on main (#3128)
  • Next Build on main (#3134)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc