(Using rustc from #35957) Macros 1.1 is reordering attributes in a way that breaks Syntex. If I have the following: ``` rust #[derive(Serialize, Deserialize)] #[serde(bound(deserialize = "T::Owned: Deserialize"))] struct CowT<'a, T: ?Sized + 'a + ToOwned>(Cow<'a, T>); ``` It gets passed to my `#[rustc_macro_derive(Serialize)]` as: ``` rust #[serde(bound(deserialize = "T::Owned: Deserialize"))] #[derive(Deserialize)] struct CowT<'a, T: ?Sized + 'a + ToOwned>(Cow<'a, T>); ``` I would expect the `#[derive(Deserialize)]` to stay above `#[serde(...)]`. cc @alexcrichton