LINUX.ORG.RU

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

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

Т. е. интерфейс в расте называется трейтом, и в заголовке той функции сказано что-то вроде «функция от T, где T — любой тип, удовлетворяющий трейту (интерфейсу) fmt::Display».

При этом раст по возможности делает static dispatch, т. е. раскрывает функцию подобно шаблонной в плюсах. А можно передавать в функцию ссылку на трейт (fn foo(x: &std::fmt::Display)), тогда будет dynamic dispatch (т. е. виртуальный вызов).

Ну и всё-таки да, в конкретно той функции, что я выше написал, возможен только static dispatch, поэтому действительно — это некий аналог шаблонной функции на плюсах.

Исправление intelfx, :

Т. е. интерфейс в расте называется трейтом, и в заголовке той функции сказано что-то вроде «функция от T, где T — любой тип, удовлетворяющий трейту (интерфейсу) fmt::Display».

При этом раст по возможности делает static dispatch, т. е. раскрывает функцию подобно шаблонной в плюсах. А можно передавать в функцию ссылку на трейт, тогда будет dynamic dispatch (т. е. виртуальный вызов).

Ну и всё-таки да, в конкретно той функции, что я выше написал, возможен только static dispatch, поэтому действительно — это некий аналог шаблонной функции на плюсах.

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

Т. е. интерфейс в расте называется трейтом, и в заголовке той функции сказано что-то вроде «функция от T, где T — любой тип, удовлетворяющий трейту (интерфейсу) fmt::Display».

При этом раст по возможности делает static dispatch, т. е. раскрывает функцию подобно шаблонной в плюсах. А можно передавать в функцию ссылку на трейт, тогда будет dynamic dispatch (т. е. виртуальный вызов).