| // Some lints are emitted in `rustc_attr_parsing`, during ast lowering. |
| // Emitting these lints is delayed until after ast lowering. |
| // This test tests that the delayed hints are correctly hashed for incremental. |
| |
| //@ revisions: cpass1 cpass2 cpass3 |
| //@ compile-flags: -Z query-dep-graph -O -Zincremental-ignore-spans |
| //@ ignore-backends: gcc |
| #![feature(rustc_attrs)] |
| |
| // This attribute is here so the `has_delayed_lints` will be true on all revisions |
| #[doc(test = 1)] |
| //~^ WARN `#[doc(test(...)]` takes a list of attributes [invalid_doc_attributes] |
| |
| // Between revision 1 and 2, the only thing we change is that we add "test = 2" |
| // This will emit an extra delayed lint, but it will not change the HIR hash. |
| // We check that even tho the HIR hash didn't change, the extra lint is emitted |
| #[cfg_attr(cpass1, doc(hidden))] |
| #[cfg_attr(not(cpass1), doc(hidden, test = 2))] |
| //[cpass2,cpass3]~^ WARN `#[doc(test(...)]` takes a list of attributes [invalid_doc_attributes] |
| |
| // The HIR hash should not change between revisions, for this test to be representative |
| #[rustc_clean(cfg="cpass2")] |
| #[rustc_clean(cfg="cpass3")] |
| trait Test {} |
| |
| fn main() {} |