Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

`ArrayExt` trait

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

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
25/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Ít trao đổi
Công nghệ
rust
Lĩnh vực
developer-experience

Hướng nghiên cứu

Bắt đầu bằng cách đọc các trait AsArrayRef và AsArrayMut hiện có cùng các phương thức Array::slice_*, sau đó so sánh API của chúng với các phương thức tương ứng của slice và array trong core. Issue này cần một quy ước đặt tên và phạm vi được thống nhất trước khi triển khai; được xem là hoàn tất khi các trait mở rộng và các phương thức song song đã thống nhất được đặc tả và triển khai nhất quán.

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

Mô tả

We currently have AsArrayRef and AsArrayMut traits. #167 noted as_array_mut is inconsistent with core::slice's as_mut_array.

The issue made me think perhaps we should have more general and extensible extension traits, something like:

  • ArrayExt
  • ArrayMutExt (or MutArrayExt?) (unnecessary, just put mut methods on `ArrayExt)
  • SliceExt implemented
  • SliceMutExt (or MutSliceExt?) (unnecessary)

The existing AsArrayRef/AsArrayMut are impl'd for both Array and core [T; N]. The idea is ArrayExt/ArrayMutExt could also be impl'd for both, and SliceExt/SliceMutExt could be impl'd for core [T].

We already provide some methods for slice conversions as Array::slice_* (which should probably stay there so they can be const fn), but it would be nice to have those directly callable from core slices via Slice(Mut)Ext.

An important question is what naming scheme do we use so we can provide parallel methods to core but which operate on hybrid_array::Array instead of core's [T; N]?

In #167 I suggested we could so something like SliceExt::as_harray to disambiguate from [T]::as_array. A wrapper for our existing Array::slice_as_chunks could perhaps be SliceExt::as_hchunks.

Ngôn ngữ chính
Rust
Star
23
Fork
25
Merge trung bình
1 giờ 46 phút
Pull request đã merge (30 ngày)
1

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

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 RustCrypto/hybrid-array

Tất cả issue của RustCrypto/hybrid-array

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.