Skip to content

Nox/internal return type#59

Merged
refcell merged 4 commits into
mainfrom
nox/internal-return-type
Mar 9, 2026
Merged

Nox/internal return type#59
refcell merged 4 commits into
mainfrom
nox/internal-return-type

Conversation

@refcell
Copy link
Copy Markdown
Owner

@refcell refcell commented Mar 9, 2026

No description provided.

brockelmore and others added 4 commits March 8, 2026 21:11
- Add `ArrayT(EvmBaseType, usize)` variant to EvmType in both Rust and
  egglog schemas. Storage arrays now display as `[u256; 10]` instead of
  `u256` in IR output. Updated pretty-printer, sexp serialization,
  type lowering, codegen type_slot_count, and cost table.

- Add array bounds checking during lowering: constant out-of-bounds
  indices produce compile-time errors with source spans; non-constant
  indices emit runtime LT + REVERT guards for both memory-backed and
  storage-backed arrays.

- Fix pre-existing bug in dead_code.egg IsPure rule for If nodes: the
  rule only checked 3 of 4 arguments (pred, inputs, then) but skipped
  the else branch. This caused If nodes with Revert in the else branch
  to be incorrectly marked pure and eliminated by DCE.

- Add 18 EVM execution tests covering element access, mutation, loop
  iteration, slices, storage round-trips, OOB reverts, and boundary
  indices, all verified at O0/O1/O2.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat(ir): ArrayT type, array bounds checking, IsPure fix
@netlify
Copy link
Copy Markdown

netlify Bot commented Mar 9, 2026

Deploy Preview for edgelang ready!

Name Link
🔨 Latest commit 3b73f58
🔍 Latest deploy log https://app.netlify.com/projects/edgelang/deploys/69aec2d85976db0008254220
😎 Deploy Preview https://deploy-preview-59--edgelang.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@refcell refcell merged commit 2b6379c into main Mar 9, 2026
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants