LINUX.ORG.RU

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

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

Трейты раста - это больше похоже на std::variant + std::visit.

С чего бы это?

Трейты мы можем реализовывать для новых типов, а в std::variant мы должны знать заранее.

Концепты мы тоже можем проверять и для будущих типов, то есть возможность расширения, такая же как у трейтов.

std::variant - это Rust enum.

Да, вот @freecoder заметил, что концепты не запрещают в самой функции вызывать методы, которые сам концепт не проверяет. Так что в этом Rust trait лучше, чем С++ concept

Си с классами (комментарий)

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

Трейты раста - это больше похоже на std::variant + std::visit.

С чего бы это?

Трейты мы можем реализовывать для новых типов, а в std::variant мы должны знать заранее.

Концепты мы тоже можем проверять и для будущих типов, то есть возможность расширения, такая же как у трейтов.

std::variant - это Rust enum.

Да, вот freecoder заметил, что концепты не запрещают в самой функции вызывать методы, которые сам концепт не проверяет. Так что в этом Rust trait лучше, чем С++ concept

Си с классами (комментарий)

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

Трейты раста - это больше похоже на std::variant + std::visit.

С чего бы это?

Трейты мы можем реализовывать для новых типов, а в std::variant мы должны знать заранее.

std::variant - это Rust enum.

Да, вот freecoder заметил, что концепты не запрещают в самой функции вызывать методы, которые сам концепт не проверяет. Так что в этом Rust trait лучше, чем С++ concept

Си с классами (комментарий)

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

Трейты раста - это больше похоже на std::variant + std::visit.

С чего бы это?

Трейты мы можем реализовывать для новых типов, а в std::variant мы должны знать заранее.

std::variant - это Rust enum.

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

Трейты раста - это больше похоже на std::variant + std::visit.

С чего бы это?

Трейты мы можем реализовывать для новых типов, а в std::variant мы должны знать заранее. std::variant - это Rust enum.