Define readonly string-literal storage for the Whale subset

Đang mở
#1,035 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
rust
Lĩnh vực
compilers

Hướng nghiên cứu

Start by reading whale/src/codegen/expression.rs and the current GlobalStorage validation, then run the matching checkout-built compiler probes for string rejection and global-storage type restrictions. The issue identifies wave/src/codegen/expression.rs:23 as the starting point and requires an approved upstream representation before implementation. Done means documenting the representation, then verifying bounded reads/indexing and agreed write rejection without host pointer embedding or silent LLVM fallback.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

discussion enhancement help wanted

Motivation

A local str="ok" and text[0] succeeds in the LLVM language path but Whale reports unsupported type String. Official current GlobalStorage validation is scalar-only; its readonly flag is not proof that a byte-array string can already be represented.

Starting point: whale/src/codegen/expression.rs:23.

Validation

Audited canonical Wave 540728c2eb6cc12f5c69c3fb3fdb96e07ba059a4 (0.0.1-alpha-dev), whose tree matches the local checkout. Validation: Executed Whale string rejection and read official global-storage type restrictions. Executed compiler probes use the matching checkout-built compiler and std on Linux amd64 (Rust 1.89.0 / LLVM 21.1.8). Source/header or mocked checks are not native execution on another OS.

Scope

Coordinate a supported readonly byte-storage representation with upstream, including NUL bytes, lifetime, pointer provenance and initialization. Track it after #996 and pointer support, without pretending aggregate global storage already exists.

Related: #996, #879, #880. These links do not claim those broader or completed scopes are unfinished.

Design discussion required

This issue records a proposal or an unresolved contract; it is not approval to choose new semantics. Please mention @LunaStev to discuss the design before starting implementation.

Completion criteria

  • Document any required upstream representation first.
  • The approved subset verifies and executes bounded reads/indexing and rejects writes as agreed.
  • No host pointer embedding, silent LLVM fallback or native-execution claim.
Ngôn ngữ chính
Rust
Star
56
Fork
21
Merge trung bình
23 giờ 20 phút
Pull request đã merge (30 ngày)
45

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của wavefnd/Wave

Tất cả issue của wavefnd/Wave

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.