Skip to content

Fix string ABI and place traversal duplication - #68

Merged
itsfuad merged 2 commits into
mainfrom
feature/collection-intrinsic-methods
Aug 11, 2026
Merged

Fix string ABI and place traversal duplication#68
itsfuad merged 2 commits into
mainfrom
feature/collection-intrinsic-methods

Conversation

@itsfuad

@itsfuad itsfuad commented Aug 9, 2026

Copy link
Copy Markdown
Member

Summary

  • Keep @expr as one direct raw-address operation through MIR and LLVM place pointers.
  • Centralize borrowed/owned string carrier extraction and preserve owned allocator extraction.
  • Reject borrowed-string comparisons before scalar LLVM lowering.
  • Centralize selector/index place traversal and add direct place-policy coverage.

Validation

  • CCACHE_DISABLE=1 GOCACHE=/tmp/peeper-go-cache go test -count=1 ./...
  • CCACHE_DISABLE=1 GOCACHE=/tmp/peeper-go-cache go build ./...
  • CCACHE_DISABLE=1 GOCACHE=/tmp/peeper-go-cache go vet ./...
  • Focused place, typechecker, ownership, HIR, MIR, and LLVM tests
  • Bundled compiler and changed positive/negative/trap fixtures
  • gofmt and git diff --check

Tracking

Progresses #29 (Define string runtime semantics). Remaining C/FFI boundary and runtime-construction work stays open under #29.

Stack

This is stack base. Follow-ups are #69 (32-bit ABI/intrinsics), #70 (contract spine), #71 (end-to-end remediation), and #72 (open-ended default range cloning).

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.

1 participant