error[E0277]: the trait bound `A: Default` is not satisfied --> $DIR/derive-const-non-const-type.rs:10:14 | LL | #[derive_const(Default)] | ------- in this derive macro expansion LL | pub struct S(A); | ^ the trait `~const Default` is not implemented for `A` | note: the trait `Default` is implemented for `A`, but that implementation is not `const` --> $DIR/derive-const-non-const-type.rs:10:14 | LL | #[derive_const(Default)] | ------- in this derive macro expansion LL | pub struct S(A); | ^ = note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info) help: consider annotating `A` with `#[derive(Default)]` | LL + #[derive(Default)] LL | pub struct A; | error[E0015]: cannot call non-const fn `::default` in constant functions --> $DIR/derive-const-non-const-type.rs:10:14 | LL | #[derive_const(Default)] | ------- in this derive macro expansion LL | pub struct S(A); | ^ | = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants = help: add `#![feature(const_trait_impl)]` to the crate attributes to enable = note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info) error: aborting due to 2 previous errors Some errors have detailed explanations: E0015, E0277. For more information about an error, try `rustc --explain E0015`.