Closed
Description
Compiling the code below with nightly produces an unstable_name_collision warning. However the code works after enabling the feature gate, I presume because the unstable method is inherent and takes precedence over trait methods. In this particular case, it can still be worth warning that the behaviour of the standard library method can be different, but the current “warning: once this method is added to the standard library, there will be ambiguity here, which will cause a hard error!” is incorrect.
//#![feature(euclidean_division)]
trait DivEuc {
fn div_euc(self, rhs: Self) -> Self;
}
impl DivEuc for u32 {
fn div_euc(self, rhs: Self) -> Self { self / rhs }
}
fn main() {
println!("{}", 12u32.div_euc(3));
}