From ab3c8269f4d73d4760e99aca82411f954a11e571 Mon Sep 17 00:00:00 2001 From: Michael Woerister Date: Mon, 6 Feb 2017 03:56:58 -0500 Subject: [PATCH] Add comment about why the regular unused-attributes infrastructure is not used for #[rustc_dirty]/#[rustc_clean]. --- src/librustc_incremental/persist/dirty_clean.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/librustc_incremental/persist/dirty_clean.rs b/src/librustc_incremental/persist/dirty_clean.rs index 2b6fd25e1102..3da126bc1a03 100644 --- a/src/librustc_incremental/persist/dirty_clean.rs +++ b/src/librustc_incremental/persist/dirty_clean.rs @@ -89,6 +89,9 @@ pub fn check_dirty_clean_annotations<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, }; intravisit::walk_crate(&mut all_attrs, krate); + // Note that we cannot use the existing "unused attribute"-infrastructure + // here, since that is running before trans. This is also the reason why + // all trans-specific attributes are `Whitelisted` in syntax::feature_gate. all_attrs.report_unchecked_attrs(&dirty_clean_visitor.checked_attrs); } @@ -237,6 +240,9 @@ pub fn check_dirty_clean_metadata<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, }; intravisit::walk_crate(&mut all_attrs, krate); + // Note that we cannot use the existing "unused attribute"-infrastructure + // here, since that is running before trans. This is also the reason why + // all trans-specific attributes are `Whitelisted` in syntax::feature_gate. all_attrs.report_unchecked_attrs(&dirty_clean_visitor.checked_attrs); }); }