2016-02-02 4 views
11

Я хотел бы написать библиотеку, которая представляет собой тонкую оболочку вокруг некоторых функций в BTreeMap. Я бы предпочел не зацикливаться на этой конкретной структуре данных. Строго говоря, мне нужен только набор его функциональных возможностей, что-то вроде интерфейса NavigableMap в Java. Я надеялся найти аналогичную черту, которую я мог бы использовать. Я, кажется, помню, что в какой-то момент в стандартной библиотеке были такие черты, как Map и MutableMap, но они, похоже, сейчас отсутствуют.Есть ли у ржавчины черты коллекции?

Есть ли ящик, который определяет их? Или они в конечном итоге будут добавлены в std?

+0

Я, кажется, помню, что слышал, что HKT может понадобиться, чтобы получить полезные черты коллекции, но мне интересно, будет ли текущий «связанный элемент» не достаточным ... –

+0

Этот вопрос был включен в очередь просмотра как «тест вопрос, то есть модераторы считают, что этот вопрос не имеет серьезных проблем. Я не согласен. Этот вопрос поражает меня как OT для SO. – Strawberry

ответ

8

Нет, прямо сейчас есть только Iterator. MutableMap и Map были удалены где-то вдоль дороги до стабилизации std для Rust 1.0.

Проводились различные дискуссии о добавлении черт к std. Смотрите эти обсуждения на Ржавчина внутренностей:

или (менее недавнее, но более конкретно на коллекции):

Итог: все хотят некоторые форма этих черт в std, но никто не хочет добавлять и поддерживать неправильных единиц в стандартной библиотеке, пока не появится более четкое изображение того, что эргономично.