Lower typed struct construction and field access in Whale
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ó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Start with whale/src/codegen/mod.rs and whale/src/codegen/walk.rs, then discuss the design with @LunaStev before implementation. Verify struct construction, field reads and writes, and nested structs while preserving layout, conversions, and evaluation order; keep unsupported external C ABI boundaries explicit. The issue is complete when those checks pass without weakening recursive-layout checks or duplicating upstream native aggregate ABI work.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Motivation
At fd07427f4a976de05e38eff3ee1760db97fbb761 on Linux amd64 with Rust 1.89 and locked Whale 020d2a4, lexing, parsing and TypedProgram lowering succeed, but calling whale::emit_ir on this source returns Whale backend does not yet support non-function top-level declarations:
struct Pair { x: i32; y: i32; } fun main() -> i32 { return 0; }
Scope
Support Wave struct metadata, values and field access using frontend-resolved types/layout. Separate internal aggregate lowering from external C ABI classification. Do not weaken recursive-layout checks or duplicate upstream native aggregate ABI work. Starting points: whale/src/codegen/mod.rs and whale/src/codegen/walk.rs.
Difficulty: hard.
Completion criteria
- Verify construction, field reads/writes and nested structs.
- Preserve layout, field conversions and evaluation order.
- Keep unsupported external ABI boundaries explicit.
Please mention @LunaStev to discuss the design before starting implementation.
Related pointer adaptation: #879; external C ABI work remains separate.
- 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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của wavefnd/Wave
-
Reject unrepresentable POSIX listener descriptors before Unix-domain acceptCó thể đã có người làm @ShahadatTest đã nhận 7 ngày trước. Đang mởbug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
wavefnd/Wave#1082 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Preserve expression assembly result types when recording HIR conversionsCó thể đã có người làm @hiyouwhatsapp đã nhận 2 ngày trước. Đang mởbug help wanted
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug help wanted
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 53/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Preserve the previous build output when writing its Cargo receipt failsCó thể đã có người làm @hiyouwhatsapp đã nhận 3 ngày trước. Đang mởbug build help wanted
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 56/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Reconcile obsolete staging assets before verifying a new Nightly generationCó thể đã có người làm @hiyouwhatsapp đã nhận 3 ngày trước. Đang mởbug ci help wanted
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 73/100
quarto-dev/q2#1155 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
backlog priority: low ui
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
storytold/vectorcraft#6445 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: cli kind:docs priority: P3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
tursodatabase/libsql#2312 ·
Maintainer thường phản hồi trong vòng 11 ngày
-
`NodeOwned::size_in_bytes` does not count the `ChildrenNodesOwned` heap allocation (since #216)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
paritytech/trie#251 ·
Maintainer thường phản hồi trong vòng 1 ngày