В Rust стрелочка -> в объявлении функции foo()->i32{ для красоты?
Эта стрелочка носит чисто декоративный характер или как то помогает парсеру? Возможна ли валидная конструкция без стрелочки вида fn foo(arg) type{
которая бы значила что нибудь другое, кроме объявления функции? Вроде у Rust очень сжатый синтаксис, неужели function до двух букв сократили, а стрелочку для красоты оставили, чтоб на Haskell было похоже?))
uvelichitel, вопрос хороший. Всё же двоеточие там бы красивее смотрелось.
Скорее всего это просто такой дизайн языка, слизанный из Zephir, Swift, Haxe и проч (не помню что там вообще есть, но фича старая со стрелочками).
P.S. Вполне возможно это было сделано в угоду перспективным фичам языка. Т.е. когда после стрелочки стоит ретурн тайпхинт, то перед этой стрелочкой можно в будущем чего-нибудь добавить. В данном случае можно попробовать ознакомиться с докладом Бреслава: https://www.youtube.com/watch?v=CX_K1r0Vklg Он очень подробно рассказывает когда однажды выбранный синтаксис может помешать в развитии языка.
P.P.S. А ещё стрелочка позволяет реализовать согласованный синтаксис для возврата анонимочек: