У меня есть черта, у которой есть только одно требование - наличие методов len(&self) -> usize
.Затем он предоставляет реализации для нескольких новых методов для структуры.
trait MyTrait {
fn len(&self) -> usize;
// ... some new functions with implementations
}
Я хотел бы реализовать эту черту на std::collections::LinkedList
, который уже имеет метод с такой точной сигнатурой типа.В настоящее время я делаю это:
impl<T> MyTrait for LinkedList<T> {
fn len(&self) -> usize {
self.len()
}
}
Затем я могу использовать новые методы, определенные MyTrait
в моих LinkedList
экземплярах.Однако нет необходимости повторять определение метода, подобного этому, поскольку сигнатуры типов идентичны.Есть ли способ пропустить переопределение len
в моей реализации черты?