etc.)
Вопрос: как бы мне так объявить тип входного параметра, чтобы можно было передавать и массив и вектор чисел (любых), чтобы, например, просто итерироваться по коллекции или сравнивать элементы, etc.
Или я херню хочу и так в Rust не принято?
слайсом сделай, у тебя вектор и массив к слайсу можно привести. Ну или итератор какой-нибудь
И я смогу "скормить" туда хоть массив, хоть вектор?
foo<I: IntoIterator<Item=i32>(anything: I)
Да, но нужно будет только взять от них слайс сперва. Но если нужно только итерироваться то используй итератор как предложили выше. А ещё есть AsRef трейт, можешь сделать impl AsRef<[T]>
Возвращай итератор, это хорошая абстракция для коллекции
Плюсую за итераторы, но если покажется пока что сложным - тогда слайс удобно принимать. Часть контейнеров охватит.
Про результат речи нет, нужен обобщённый тип для входного параметра: массива или вектора чисел (любых)
Кусок памяти где элементы лежат один за другим это [T], из вектора и массива можно взять ссылку на это &[T], называется слайс
Слайс, если массив или вектор (кусок памяти) или итератор (любая коллекция)
Обсуждают сегодня