Read borrowed byte ranges without copying through ByteReader
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ó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 82/100
Hướng nghiên cứu
Bắt đầu với std/bytes/cursor.wave và std/bytes/types.wave, sau đó kiểm tra các thao tác ByteReader hiện có cùng các test O0/O2 tập trung. Thêm hành vi checked borrowed read/take trên một số lượng byte, đảm bảo các trường hợp zero-count, EOF, invalid-state và invalid-output giữ nguyên trạng thái và đầu ra. Hoàn tất khi trả về chính xác phạm vi nguồn mà không cấp phát, các byte không thay đổi và reader chỉ tiến lên một lần khi thành công.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Motivation
ByteReader can copy a fixed byte range into caller storage, but it cannot consume a payload as a borrowed view of the original buffer. Length-prefixed parsers must duplicate cursor validation to avoid a copy.
Starting points: std/bytes/cursor.wave, std/bytes/types.wave.
Scope
Add a checked read/take operation returning Bytes over count bytes, advancing only after success. Retain borrowed lifetime/ownership and avoid allocation. This complements subviews but specifically owns reader state transitions.
Difficulty: easy.
Completion criteria
- Return the exact original byte range and advance once on success.
- Define zero-count behavior consistently with existing readers.
- Preserve position/output on EOF, invalid state and invalid output.
- Do not modify source bytes; run focused O0/O2 tests.
- Ngôn ngữ chính
- Rust
- Star
- 56
- Fork
- 21
- Merge trung bình
- 2 giờ 37 phút
- Pull request đã merge (30 ngày)
- 57
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
-
enhancement good first issue needs testing
Độ 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
-
enhancement good first issue needs testing
Độ 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
-
enhancement good first issue needs testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement good first issue needs testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement good first issue needs testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
`categorize_command` has no `uv` arm, so every `rtk uv …` row counts as `other` in the ecosystem mixĐang mởarea:api bug good first issue priority:low
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
rtk-ai/rtk#4316 · 1 bình luận ·
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 92/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area/cli kind/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
good first issue open-endedness: low type: new feature
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100