LINUX.ORG.RU

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

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

Зачем мне нужна поддержка в языке, лучше я напишу макрос еще раз.

Во первых, что значит «ещё раз» и «поддержка в языке»? В расте весьма многое реализовано не в самом языке, а в стандартной библиотеке. В том числе и ряд макросов.

Во вторых, давай ещё раз. Что тебе мешает реализовать нужный трейт? Оно и правильнее будет, особенно если пишешь библиотеку. Ну а если тебе «нужна утиность и всё», то да - напиши макрос вместо функции. Это не сложно, а при использовании будет отличаться одним восклицательным знаком.

Но вообще это какой-то неконструктивный спор. В разных языках вполне могут быть приняты разные подходы. Раст построен на трейтах, так что если использовать принятый подход, то никаких проблем при написании обобщённого кода просто не будет. С таким же успехом можно выступать против концептов для итераторов. Ими ведь тоже можно существующий код поломать, если переданные «итераторы» реализованы «не канонично» (без указания тегов и т.д.).

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

Зачем мне нужна поддержка в языке, лучше я напишу макрос еще раз.

Во первых, что значит «ещё раз» и «поддержка в языке»? В расте весьма многое реализовано не в самом языке, а в стандартной библиотеке. В том числе и ряд макросов.

Во вторых, давай ещё раз. Что тебе мешает реализовать нужный трейт? Оно и правильнее будет, особенно если пишешь библиотеку. Ну а если тебе «нужна утиность и всё», то да - напиши макрос вместо функции. Это не сложно, а при использовании будет отличаться одним восклицательным знаком.

Но вообще это какой-то неконструктивный спор. В разных языках вполне могут быть приняты разные подходы. Раст построен на трейтах, так что если использовать принятый подход, то никаких проблем при написании обобщённого кода просто не будет.