LINUX.ORG.RU

История изменений

Исправление dimgel, (текущая версия) :

Ну auto это всё-таки про вывод типов. Твой пример более подходит под «trait bound syntax» в расте: «fn f<T: Trait>(x: &T) { x }». (UPD: А может и не более. Чёт я туплю. Зачем два синтаксиса, кстати, – отдельный вопрос: так себе синтаксический сахар.)

А претензия в том, что слово «impl» в примере в заглавном посте тупо лишнее – компилятор что, не способен разобраться, что Trait1 и Trait2 – идентификаторы trait-ов?

Как и fun vs fn: если нет идентификатора, а за кейвордом сразу следует открывающая скобка (список параметров), значит анонимная функция, и городить отдельный кейворд не было никакого смысла.

Исходная версия dimgel, :

Ну auto это всё-таки про вывод типов. Твой пример более подходит под «trait bound syntax» в расте: «fn f<T: Trait>(x: &T) { x }». А претензия в том, что слово «impl» в примере в заглавном посте тупо лишнее – компилятор что, не способен разобраться, что Trait1 и Trait2 – идентификаторы trait-ов?

Как и fun vs fn: если нет идентификатора, а за кейвордом сразу следует открывающая скобка (список параметров), значит анонимная функция, и городить отдельный кейворд не было никакого смысла.