X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=compiler%2Frustc_middle%2Fsrc%2Fmiddle%2Fstability.rs;h=7a9ad44d1d9ae86cec2b46303159c13950e95674;hb=95bf0fb917577c61e4a9d41d837e6fa132515b3d;hp=0d1223ed28965bab37e3a8aaae33943a6e720b01;hpb=198443711501234a5d98b6d621aae2cead73c8cb;p=rust.git diff --git a/compiler/rustc_middle/src/middle/stability.rs b/compiler/rustc_middle/src/middle/stability.rs index 0d1223ed289..7a9ad44d1d9 100644 --- a/compiler/rustc_middle/src/middle/stability.rs +++ b/compiler/rustc_middle/src/middle/stability.rs @@ -421,6 +421,12 @@ pub fn eval_stability_allow_unstable( return EvalResult::Allow; } + // Only the cross-crate scenario matters when checking unstable APIs + let cross_crate = !def_id.is_local(); + if !cross_crate { + return EvalResult::Allow; + } + let stability = self.lookup_stability(def_id); debug!( "stability: \ @@ -428,12 +434,6 @@ pub fn eval_stability_allow_unstable( def_id, span, stability ); - // Only the cross-crate scenario matters when checking unstable APIs - let cross_crate = !def_id.is_local(); - if !cross_crate { - return EvalResult::Allow; - } - // Issue #38412: private items lack stability markers. if skip_stability_check_due_to_privacy(self, def_id) { return EvalResult::Allow; @@ -508,17 +508,17 @@ pub fn eval_default_body_stability(self, def_id: DefId, span: Span) -> EvalResul return EvalResult::Allow; } - let stability = self.lookup_default_body_stability(def_id); - debug!( - "body stability: inspecting def_id={def_id:?} span={span:?} of stability={stability:?}" - ); - // Only the cross-crate scenario matters when checking unstable APIs let cross_crate = !def_id.is_local(); if !cross_crate { return EvalResult::Allow; } + let stability = self.lookup_default_body_stability(def_id); + debug!( + "body stability: inspecting def_id={def_id:?} span={span:?} of stability={stability:?}" + ); + // Issue #38412: private items lack stability markers. if skip_stability_check_due_to_privacy(self, def_id) { return EvalResult::Allow;