假设我们有以下基本特征和高级特征:
pub trait BasicTrait {
fn key_method(&self);
fn other_method(&self);
}
pub trait AdvancedTrait: BasicTrait {
fn key_method_with_argument(&self, parameter: u32);
}
现在,每当有人使用
AdvancedTrait
实现时,BasicTrait::key_method(&self)
最可能的实现是使用一些默认参数调用key_method_with_argument
。我如何提供这个默认实现(符合惯例),以便任何实现AdvancedTrait
的人只需实现key_method_with_argument
和来自BasicTrait
的任何其他所需方法,并且只有在需要时才能选择实现key_method()
并覆盖默认实现?相关问题:
如此处所建议的那样具有
impl
块不能正常工作,因为代码希望实现BasicTrait
的所有其他方法。