//@ check-fail #![feature(derive_from)] #![allow(dead_code)] use std::from::From; #[derive(From)] //~^ ERROR `#[derive(From)]` used on a struct with no fields struct S1; #[derive(From)] //~^ ERROR `#[derive(From)]` used on a struct with no fields struct S2 {} #[derive(From)] //~^ ERROR `#[derive(From)]` used on a struct with multiple fields struct S3(u32, bool); #[derive(From)] //~^ ERROR `#[derive(From)]` used on a struct with multiple fields struct S4 { a: u32, b: bool, } #[derive(From)] //~^ ERROR `#[derive(From)]` used on an enum enum E1 {} #[derive(From)] struct SUnsizedField { last: T, //~^ ERROR the size for values of type `T` cannot be known at compilation time [E0277] } fn main() {}