🛠️ specialization permits empty impls when parent has no default items
It is potentially somewhat surprising that the following impls are accepted:
#![feature(specialization)] trait Foo { fn bar(); } impl<T> Foo for T { fn bar() { } // no default } impl Foo for i32 { // OK so long as we define no items: // fn bar() { } } fn main() {}
The original example was unearthed by @eddyb and @varkor as part of a PR.
To be clear, I don't see this as a soundness problem per se. Just a question of what we think it ought to do.
cc @aturon