X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=tests%2Fui%2Fauxiliary%2Fproc_macro_derive.rs;h=24891682d368d0bfa2f167f88512040928442dab;hb=a1b89f07f00bda6d10e341fda01385f571a243b6;hp=08b993173029dd69da27acafc6ef2fcaff1faae4;hpb=60a1759b5f2af3b15ac32b5984001e3986c4b9b1;p=rust.git diff --git a/tests/ui/auxiliary/proc_macro_derive.rs b/tests/ui/auxiliary/proc_macro_derive.rs index 08b99317302..24891682d36 100644 --- a/tests/ui/auxiliary/proc_macro_derive.rs +++ b/tests/ui/auxiliary/proc_macro_derive.rs @@ -1,7 +1,11 @@ +// compile-flags: --emit=link // no-prefer-dynamic #![crate_type = "proc-macro"] -#![feature(repr128, proc_macro_hygiene, proc_macro_quote)] +#![feature(repr128, proc_macro_quote)] +#![allow(incomplete_features)] +#![allow(clippy::field_reassign_with_default)] +#![allow(clippy::eq_op)] extern crate proc_macro; @@ -16,7 +20,24 @@ pub fn derive(_: TokenStream) -> TokenStream { let output = quote! { // Should not trigger `useless_attribute` #[allow(dead_code)] - extern crate clippy_lints; + extern crate rustc_middle; }; output } + +#[proc_macro_derive(FieldReassignWithDefault)] +pub fn derive_foo(_input: TokenStream) -> TokenStream { + quote! { + #[derive(Default)] + struct A { + pub i: i32, + pub j: i64, + } + #[automatically_derived] + fn lint() { + let mut a: A = Default::default(); + a.i = 42; + a; + } + } +}