Тут в соседнем ответе на вопрос набросились (несправедливо) на человека за якобы неадекватный пример. Ну ок, вот вам вполне обычный код на расте, это просто сигнатура (только сигнатура, Карл!) довольно популярного метода
split одного из самых популярных типов стандартной библиотеки:
pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P>
where
P: Pattern<'a>
После того как как вы разберетесь со всеми этими лайфтаймами, владениями, ограничениями типажей, попробуйте ответить на вопрос - чем может быть этот
Pattern
, а чем не может, и потом познайте дзен вместе с
временем жизни функции.
Ну как думаете, норм для новичков? Ну да, для новичков-хаскелистов думаю это просто еще одна монада будет.
P.S.: сам я считаю что Rust это лучшее что произошло в области языков программирования за последнее время.