История изменений
Исправление 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.