Есть ли способ объединить несколько признаков, чтобы определить новый признак?

Есть ли способ объединить несколько признаков (по наследованию?), чтобы определить новый признак? Я ищу что-то вроде концепций в С++:

auto concept newConcept<typename T> : concept1<T>, concept2<T>, concept3<T> {};

Предположим, что я хочу сделать новый признак, который наследует от Clone, Default и некоторых других признаков, возможно ли это?

Ответ 1

Оп!

trait NewTrait: Clone + Default + OtherTraits {}
impl<T> NewTrait for T where T: Clone + Default + OtherTraits {}