LINUX.ORG.RU

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

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

То что в пример приводишь даже близко не похоже на то, что делает impl Trait.

Если я правильно тебя понял, он делает передачу по значению + специализацию сгенерированного кода на каждый конкретный тип параметра. (На плюсах то же самое делается добрыми старыми шаблонами. И по ссылке/по значению/на куче/в стеке – вполне понятно из контекста: если unique_ptr<> значит в куче и рантайм полиморфизм бесплатен т.к. мы и так в куче. И никаких impl не надо.)

Плюс какие-то заморочки с выводом типов, на которые ты мне упорно указываешь и которых я не понимаю т.к. ещё не добрался. (Если же речь просто про constraints через концепты по твоей ссылке, то да, есть такое. А про многословность – ну, не может же раст быть ВО ВСЁМ хуже плюсов? :))) )

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

То что в пример приводишь даже близко не похоже на то, что делает impl Trait.

Если я правильно тебя понял, он делает передачу по значению + специализацию сгенерированного кода на каждый конкретный тип параметра. (На плюсах то же самое делается добрыми старыми шаблонами. И по ссылке/по значению/на куче/в стеке – вполне понятно из контекста: если unique_ptr<> значит на стеке и рантайм полиморфизм бесплатен т.к. мы и так на стеке. И никаких impl не надо.)

Плюс какие-то заморочки с выводом типов, на которые ты мне упорно указываешь и которых я не понимаю т.к. ещё не добрался. (Если же речь просто про constraints через концепты по твоей ссылке, то да, есть такое. А про многословность – ну, не может же раст быть ВО ВСЁМ хуже плюсов? :))) )