【发布时间】:2019-05-26 01:10:03
【问题描述】:
根据specialization RFC,我应该能够在struct 上拥有多个impls 上的相同trait,方法是指定一个作为默认值。
我有代码:
#![feature(specialization)]
struct A(u32);
trait Dummy {}
impl<T> From<T> for A
where
T: Into<u32>,
{
default fn from(item: T) -> Self {
A(item.into())
}
}
impl<T> From<T> for A
where
T: Dummy,
{
fn from(item: T) -> Self {
A(2)
}
}
即使其中一个实现是默认的,编译器仍然告诉我这两个实现是冲突的。
【问题讨论】: