Skip to content

Commit e7781c7

Browse files
committed
Move has_rustc_mir_with.
`lib.rs` is a strange place for it, and it's only used within `rustc_peek.rs`, so it doesn't need to be `pub`.
1 parent 36b25f5 commit e7781c7

File tree

2 files changed

+17
-19
lines changed

2 files changed

+17
-19
lines changed

compiler/rustc_mir_dataflow/src/lib.rs

+1-17
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,9 @@ extern crate tracing;
1313
#[macro_use]
1414
extern crate rustc_middle;
1515

16-
use rustc_ast::MetaItem;
1716
use rustc_errors::{DiagnosticMessage, SubdiagnosticMessage};
1817
use rustc_fluent_macro::fluent_messages;
19-
use rustc_hir::def_id::DefId;
20-
use rustc_middle::ty::{self, TyCtxt};
21-
use rustc_span::symbol::{sym, Symbol};
18+
use rustc_middle::ty;
2219

2320
pub use self::drop_flag_effects::{
2421
drop_flag_effects_for_function_entry, drop_flag_effects_for_location,
@@ -55,16 +52,3 @@ pub struct MoveDataParamEnv<'tcx> {
5552
pub move_data: MoveData<'tcx>,
5653
pub param_env: ty::ParamEnv<'tcx>,
5754
}
58-
59-
pub fn has_rustc_mir_with(tcx: TyCtxt<'_>, def_id: DefId, name: Symbol) -> Option<MetaItem> {
60-
for attr in tcx.get_attrs(def_id, sym::rustc_mir) {
61-
let items = attr.meta_item_list();
62-
for item in items.iter().flat_map(|l| l.iter()) {
63-
match item.meta_item() {
64-
Some(mi) if mi.has_name(name) => return Some(mi.clone()),
65-
_ => continue,
66-
}
67-
}
68-
}
69-
None
70-
}

compiler/rustc_mir_dataflow/src/rustc_peek.rs

+16-2
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,33 @@ use crate::move_paths::{HasMoveData, MoveData};
1010
use crate::move_paths::{LookupResult, MovePathIndex};
1111
use crate::MoveDataParamEnv;
1212
use crate::{Analysis, JoinSemiLattice, ResultsCursor};
13+
use rustc_ast::MetaItem;
14+
use rustc_hir::def_id::DefId;
1315
use rustc_index::bit_set::ChunkedBitSet;
1416
use rustc_middle::mir::MirPass;
1517
use rustc_middle::mir::{self, Body, Local, Location};
1618
use rustc_middle::ty::{self, Ty, TyCtxt};
17-
use rustc_span::symbol::sym;
19+
use rustc_span::symbol::{sym, Symbol};
1820
use rustc_span::Span;
1921

2022
pub struct SanityCheck;
2123

24+
pub fn has_rustc_mir_with(tcx: TyCtxt<'_>, def_id: DefId, name: Symbol) -> Option<MetaItem> {
25+
for attr in tcx.get_attrs(def_id, sym::rustc_mir) {
26+
let items = attr.meta_item_list();
27+
for item in items.iter().flat_map(|l| l.iter()) {
28+
match item.meta_item() {
29+
Some(mi) if mi.has_name(name) => return Some(mi.clone()),
30+
_ => continue,
31+
}
32+
}
33+
}
34+
None
35+
}
36+
2237
// FIXME: This should be a `MirLint`, but it needs to be moved back to `rustc_mir_transform` first.
2338
impl<'tcx> MirPass<'tcx> for SanityCheck {
2439
fn run_pass(&self, tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) {
25-
use crate::has_rustc_mir_with;
2640
let def_id = body.source.def_id();
2741
if !tcx.has_attr(def_id, sym::rustc_mir) {
2842
debug!("skipping rustc_peek::SanityCheck on {}", tcx.def_path_str(def_id));

0 commit comments

Comments
 (0)