2016-02-02 32 views
11

Chciałbym napisać bibliotekę, która jest cienkim opakowaniem niektórych funkcji w BTreeMap. Wolałbym jednak nie ściśle łączyć go z tą konkretną strukturą danych. Ściśle mówiąc, potrzebuję tylko podzbioru jego funkcjonalności, czegoś podobnego do interfejsu NavigableMap w Javie. Miałem nadzieję znaleźć analogiczną cechę, której mógłbym użyć. Przypominam sobie, że w pewnym momencie w bibliotece standardowej były takie cechy, jak Map i MutableMap, ale wydaje się, że są teraz nieobecne.Czy Rust ma cechy kolekcjonerskie?

Czy istnieje skrzynia, która je definiuje? Czy ostatecznie zostaną one ponownie dodane do standardu?

+0

Pamiętam, że słyszałem, że HKT może być potrzebny do uzyskania przydatnych cech kolekcji, ale zastanawiam się, czy obecne "powiązane elementy" nie byłyby wystarczające ... –

+0

To pytanie zostało umieszczone w kolejce do przeglądu jako "test "pytanie, tj. moderatorzy uważali, że to pytanie nie miało większych problemów. Nie zgadzam się, to pytanie uderza mnie jako OT dla SO. – Strawberry

Odpowiedz

8

Nie, teraz jest tylko Iterator. MutableMap i Map zostały usunięte gdzieś wzdłuż drogi do stabilizacji std dla Rust 1.0.

Odbyło się wiele dyskusji na temat ponownego dodawania cech do standardu. Zobacz te dyskusje na wewnętrznych Rust:

lub (mniej niedawne ale bardziej konkretnie na zbiorach):

Konkluzja: każdy chce niektóre forma tych cech w std, ale nikt nie chce dodawać i wspierać zła w standardowej bibliotece, aż do uzyskania wyraźniejszego obrazu tego, co jest ergonomiczne.