Clean up E0750 explanation

This commit is contained in:
Guillaume Gomez 2020-08-08 13:59:54 +02:00
parent d19d7e2755
commit 259d350111

View file

@ -1,4 +1,18 @@
Negative impls cannot be default impls. A default impl supplies
default values for the items within to be used by other impls, whereas
a negative impl declares that there are no other impls. These don't
make sense to combine.
A negative impl was made default impl.
Erroneous code example:
```compile_fail,E0750
# #![feature(negative_impls)]
# #![feature(specialization)]
trait MyTrait {
type Foo;
}
default impl !MyTrait for u32 {} // error!
# fn main() {}
```
Negative impls cannot be default impls. A default impl supplies default values
for the items within to be used by other impls, whereas a negative impl declares
that there are no other impls. Combining it does not make sense.