warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes --> $DIR/specialization-no-default.rs:1:12 | LL | #![feature(specialization)] | ^^^^^^^^^^^^^^ | = note: see issue #31844 for more information = help: consider using `min_specialization` instead, which is more stable and complete = note: `#[warn(incomplete_features)]` on by default error[E0520]: `foo` specializes an item from a parent `impl`, but that item is not marked `default` --> $DIR/specialization-no-default.rs:20:5 | LL | impl Foo for T { | ----------------- parent `impl` is here ... LL | fn foo(&self) {} | ^^^^^^^^^^^^^ cannot specialize default item `foo` | = note: to specialize, `foo` in the parent `impl` must be marked `default` error[E0520]: `bar` specializes an item from a parent `impl`, but that item is not marked `default` --> $DIR/specialization-no-default.rs:23:5 | LL | impl Foo for T { | ----------------- parent `impl` is here ... LL | fn bar(&self) {} | ^^^^^^^^^^^^^ cannot specialize default item `bar` | = note: to specialize, `bar` in the parent `impl` must be marked `default` error[E0520]: `T` specializes an item from a parent `impl`, but that item is not marked `default` --> $DIR/specialization-no-default.rs:37:5 | LL | impl Bar for T { | ----------------- parent `impl` is here ... LL | type T = (); | ^^^^^^ cannot specialize default item `T` | = note: to specialize, `T` in the parent `impl` must be marked `default` error[E0520]: `baz` specializes an item from a parent `impl`, but that item is not marked `default` --> $DIR/specialization-no-default.rs:55:5 | LL | impl Baz for T { | ------------------------ parent `impl` is here ... LL | fn baz(&self) {} | ^^^^^^^^^^^^^ cannot specialize default item `baz` | = note: to specialize, `baz` in the parent `impl` must be marked `default` error[E0520]: `redundant` specializes an item from a parent `impl`, but that item is not marked `default` --> $DIR/specialization-no-default.rs:74:5 | LL | impl Redundant for T { | ------------------------------ parent `impl` is here ... LL | default fn redundant(&self) {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot specialize default item `redundant` | = note: to specialize, `redundant` in the parent `impl` must be marked `default` error: aborting due to 5 previous errors; 1 warning emitted For more information about this error, try `rustc --explain E0520`.