36-特征规则
7.6.7 特征规则
特征还包含一些特殊规则,这对了解它们的应用场景非常重要。
类型系统在特征上下文中一个重要的规则是特征一致性规则。特征一致性的“想法”是,在实现它的类型上应该只有一个特征的实现。这应该是显而易见的,因为有两个实现,两者之间的选择会存在歧义。
另一个可能会将很多特征混淆的规则是孤儿规则。简单来说,孤儿规则要求我们不能在外部类型上实现外部特征。换句话说,如果你在外部类型上实现某些外部特征,要么必须由你定义特征,要么应该在你实现外部特征时提供自定义类型。这就排除了在跨软件包之间重复特征实现发生冲突的可能。