【发布时间】:2018-12-16 14:31:56
【问题描述】:
我正在修改一些代码以依赖 rand 版本 0.5。起初,我担心如何使用Standard 生成我自己类型的随机值,但我发现这是合法的:
impl ::rand::distributions::Distribution<MyType> for ::rand::distributions::Standard {
// ...
}
为什么合法?我认为为外部类型实现外部特征是illegal。
【问题讨论】:
-
我认为规则只是为本书简化了。如果编译器能够确保不存在任何冲突的实现,则编译器可以允许更多情况,例如这种情况。