about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/ty/context.rs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_middle/src/ty/context.rs')
-rw-r--r--compiler/rustc_middle/src/ty/context.rs14
1 files changed, 8 insertions, 6 deletions
diff --git a/compiler/rustc_middle/src/ty/context.rs b/compiler/rustc_middle/src/ty/context.rs
index bd48a9867f9..5165193ab54 100644
--- a/compiler/rustc_middle/src/ty/context.rs
+++ b/compiler/rustc_middle/src/ty/context.rs
@@ -49,7 +49,7 @@ use rustc_middle::mir::FakeReadCause;
 use rustc_query_system::ich::{NodeIdHashingMode, StableHashingContext};
 use rustc_serialize::opaque::{FileEncodeResult, FileEncoder};
 use rustc_session::config::{BorrowckMode, CrateType, OutputFilenames};
-use rustc_session::lint::{Level, Lint};
+use rustc_session::lint::{Level, Lint, LintExpectationId};
 use rustc_session::Limit;
 use rustc_session::Session;
 use rustc_span::def_id::{DefPathHash, StableCrateId};
@@ -2755,11 +2755,13 @@ impl<'tcx> TyCtxt<'tcx> {
                 return bound;
             }
 
-            if hir
-                .attrs(id)
-                .iter()
-                .any(|attr| Level::from_symbol(attr.name_or_empty(), attr.id.as_u32()).is_some())
-            {
+            if hir.attrs(id).iter().enumerate().any(|(attr_index, attr)| {
+                Level::from_symbol(attr.name_or_empty(), || LintExpectationId::Stable {
+                    hir_id: id,
+                    attr_index,
+                })
+                .is_some()
+            }) {
                 return id;
             }
             let next = hir.get_parent_node(id);