Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

`ArrayExt` trait

オープン
#168 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
静か
技術スタック
rust

調査の方向性

まず既存の AsArrayRef trait と AsArrayMut trait、および Array::slice_* メソッドを読み、それらの API を対応する core の slice と array のメソッドと比較してください。実装前に、命名規則とスコープを確定させる必要があります。合意された拡張 trait と並列メソッドが仕様化され、一貫して実装されれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Rust
スター
23
フォーク
25
平均マージ
1時間 46分
マージ済み PR(30日)
1

環境構築

このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

RustCrypto/hybrid-array のほかの issue

RustCrypto/hybrid-array の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。