Derive First: #[derive(Second)] #[derive(Third, Fourth)] #[derive(Fifth)] pub struct Foo { } Derive Second: #[derive(Third, Fourth)] #[derive(Fifth)] pub struct Foo { } Derive Third: #[derive(Fifth)] pub struct Foo { } Derive Fourth: #[derive(Fifth)] pub struct Foo { } Derive Fifth: pub struct Foo { }