Есть ли у ржавчины черты коллекции?

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

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

Ответ 1

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

Были разные дискуссии о повторной добавке черт к std. См. Эти обсуждения о внутренних деталях ржавчины:

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

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