Skip to content

Commit bbfdd06

Browse files
committed
fix unclear_local_imports in Miri
1 parent 16d58ab commit bbfdd06

28 files changed

+61
-59
lines changed

src/tools/miri/src/borrow_tracker/stacked_borrows/mod.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ use crate::borrow_tracker::{
2121
use crate::concurrency::data_race::{NaReadType, NaWriteType};
2222
use crate::*;
2323

24-
use diagnostics::{RetagCause, RetagInfo};
25-
pub use item::{Item, Permission};
26-
pub use stack::Stack;
24+
use self::diagnostics::{RetagCause, RetagInfo};
25+
pub use self::item::{Item, Permission};
26+
pub use self::stack::Stack;
2727

2828
pub type AllocState = Stacks;
2929

src/tools/miri/src/borrow_tracker/tree_borrows/diagnostics.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ pub(super) struct TbError<'node> {
297297
impl TbError<'_> {
298298
/// Produce a UB error.
299299
pub fn build<'tcx>(self) -> InterpError<'tcx> {
300-
use TransitionError::*;
300+
use self::TransitionError::*;
301301
let cause = self.access_cause;
302302
let accessed = self.accessed_info;
303303
let conflicting = self.conflicting_info;

src/tools/miri/src/borrow_tracker/tree_borrows/exhaustive.rs

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ macro_rules! precondition {
1414
}
1515
};
1616
}
17+
#[cfg_attr(not(bootstrap), allow(unclear_local_imports))]
1718
pub(crate) use precondition;
1819

1920
// Trivial impls of `Exhaustive` for the standard types with 0, 1 and 2 elements respectively.

src/tools/miri/src/borrow_tracker/tree_borrows/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ mod unimap;
2323
#[cfg(test)]
2424
mod exhaustive;
2525

26-
use perms::Permission;
27-
pub use tree::Tree;
26+
use self::perms::Permission;
27+
pub use self::tree::Tree;
2828

2929
pub type AllocState = Tree;
3030

src/tools/miri/src/borrow_tracker/tree_borrows/perms.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ enum PermissionPriv {
3636
/// rejects: all child accesses (UB).
3737
Disabled,
3838
}
39-
use PermissionPriv::*;
39+
use self::PermissionPriv::*;
4040

4141
impl PartialOrd for PermissionPriv {
4242
/// PermissionPriv is ordered by the reflexive transitive closure of
@@ -483,14 +483,14 @@ mod propagation_optimization_checks {
483483

484484
impl Exhaustive for AccessKind {
485485
fn exhaustive() -> Box<dyn Iterator<Item = Self>> {
486-
use AccessKind::*;
486+
use self::AccessKind::*;
487487
Box::new(vec![Read, Write].into_iter())
488488
}
489489
}
490490

491491
impl Exhaustive for AccessRelatedness {
492492
fn exhaustive() -> Box<dyn Iterator<Item = Self>> {
493-
use AccessRelatedness::*;
493+
use self::AccessRelatedness::*;
494494
Box::new(vec![This, StrictChildAccess, AncestorAccess, DistantAccess].into_iter())
495495
}
496496
}
@@ -499,7 +499,7 @@ mod propagation_optimization_checks {
499499
// For any kind of access, if we do it twice the second should be a no-op.
500500
// Even if the protector has disappeared.
501501
fn all_transitions_idempotent() {
502-
use transition::*;
502+
use self::transition::*;
503503
for old in PermissionPriv::exhaustive() {
504504
for (old_protected, new_protected) in <(bool, bool)>::exhaustive() {
505505
// Protector can't appear out of nowhere: either the permission was
@@ -525,7 +525,7 @@ mod propagation_optimization_checks {
525525
#[test]
526526
#[rustfmt::skip]
527527
fn foreign_read_is_noop_after_foreign_write() {
528-
use transition::*;
528+
use self::transition::*;
529529
let old_access = AccessKind::Write;
530530
let new_access = AccessKind::Read;
531531
for old in PermissionPriv::exhaustive() {

src/tools/miri/src/borrow_tracker/tree_borrows/tree.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -793,7 +793,7 @@ impl AccessRelatedness {
793793
/// for the child node. This function assumes that we propagate away from the initial
794794
/// access.
795795
pub fn for_child(self) -> Self {
796-
use AccessRelatedness::*;
796+
use self::AccessRelatedness::*;
797797
match self {
798798
AncestorAccess | This => AncestorAccess,
799799
StrictChildAccess | DistantAccess => DistantAccess,

src/tools/miri/src/borrow_tracker/tree_borrows/tree/tests.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ mod spurious_read {
135135

136136
impl Exhaustive for PtrSelector {
137137
fn exhaustive() -> Box<dyn Iterator<Item = Self>> {
138-
use PtrSelector::*;
138+
use self::PtrSelector::*;
139139
Box::new(vec![X, Y, Other].into_iter())
140140
}
141141
}
@@ -152,7 +152,7 @@ mod spurious_read {
152152

153153
impl Exhaustive for RelPosXY {
154154
fn exhaustive() -> Box<dyn Iterator<Item = Self>> {
155-
use RelPosXY::*;
155+
use self::RelPosXY::*;
156156
Box::new(vec![MutuallyForeign, XChildY].into_iter())
157157
}
158158
}
@@ -178,7 +178,7 @@ mod spurious_read {
178178
/// or an `AncestorAccess` relative to `y`, but it doesn't really matter
179179
/// because `DistantAccess.is_foreign() == AncestorAccess.is_foreign()`).
180180
fn rel_pair(self, xy_rel: RelPosXY) -> (AccessRelatedness, AccessRelatedness) {
181-
use AccessRelatedness::*;
181+
use self::AccessRelatedness::*;
182182
match xy_rel {
183183
RelPosXY::MutuallyForeign =>
184184
match self {

src/tools/miri/src/concurrency/data_race.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1266,7 +1266,7 @@ trait EvalContextPrivExt<'tcx>: MiriInterpCxExt<'tcx> {
12661266
place: &MPlaceTy<'tcx, Provenance>,
12671267
atomic: AtomicRwOrd,
12681268
) -> InterpResult<'tcx> {
1269-
use AtomicRwOrd::*;
1269+
use self::AtomicRwOrd::*;
12701270
let acquire = matches!(atomic, Acquire | AcqRel | SeqCst);
12711271
let release = matches!(atomic, Release | AcqRel | SeqCst);
12721272
let this = self.eval_context_mut();

src/tools/miri/src/concurrency/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ pub mod thread;
77
mod vector_clock;
88
pub mod weak_memory;
99

10-
pub use vector_clock::VClock;
10+
pub use self::vector_clock::VClock;

src/tools/miri/src/diagnostics.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ pub struct RacingOp {
5959

6060
impl fmt::Display for TerminationInfo {
6161
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
62-
use TerminationInfo::*;
62+
use self::TerminationInfo::*;
6363
match self {
6464
Exit { code, .. } => write!(f, "the evaluated program completed with exit code {code}"),
6565
Abort(msg) => write!(f, "{msg}"),
@@ -212,7 +212,7 @@ pub fn report_error<'tcx>(
212212

213213
let (title, helps) = if let MachineStop(info) = e.kind() {
214214
let info = info.downcast_ref::<TerminationInfo>().expect("invalid MachineStop payload");
215-
use TerminationInfo::*;
215+
use self::TerminationInfo::*;
216216
let title = match info {
217217
Exit { code, leak_check } => return Some((*code, *leak_check)),
218218
Abort(_) => Some("abnormal termination"),
@@ -579,7 +579,7 @@ pub fn report_msg<'tcx>(
579579

580580
impl<'tcx> MiriMachine<'tcx> {
581581
pub fn emit_diagnostic(&self, e: NonHaltingDiagnostic) {
582-
use NonHaltingDiagnostic::*;
582+
use self::NonHaltingDiagnostic::*;
583583

584584
let stacktrace = Frame::generate_stacktrace_from_stack(self.threads.active_thread_stack());
585585
let (stacktrace, _was_pruned) = prune_stacktrace(stacktrace, self);

src/tools/miri/src/eval.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ impl<'tcx> MainThreadState<'tcx> {
216216
&mut self,
217217
this: &mut MiriInterpCx<'tcx>,
218218
) -> InterpResult<'tcx, Poll<()>> {
219-
use MainThreadState::*;
219+
use self::MainThreadState::*;
220220
match self {
221221
Running => {
222222
*self = TlsDtors(Default::default());

src/tools/miri/src/intrinsics/atomic.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use rustc_middle::{mir, mir::BinOp, ty};
22

33
use crate::*;
4-
use helpers::check_arg_count;
4+
use self::helpers::check_arg_count;
55

66
pub enum AtomicOp {
77
/// The `bool` indicates whether the result of the operation should be negated (`UnOp::Not`,

src/tools/miri/src/intrinsics/mod.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ use rustc_span::{sym, Symbol};
1414
use rustc_target::abi::Size;
1515

1616
use crate::*;
17-
use atomic::EvalContextExt as _;
18-
use helpers::{check_arg_count, ToHost, ToSoft};
19-
use simd::EvalContextExt as _;
17+
use self::atomic::EvalContextExt as _;
18+
use self::helpers::{check_arg_count, ToHost, ToSoft};
19+
use self::simd::EvalContextExt as _;
2020

2121
impl<'tcx> EvalContextExt<'tcx> for crate::MiriInterpCx<'tcx> {}
2222
pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {

src/tools/miri/src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
clippy::cast_lossless,
4949
clippy::cast_possible_truncation,
5050
)]
51+
#![cfg_attr(not(bootstrap), warn(unclear_local_imports))]
5152
// Needed for rustdoc from bootstrap (with `-Znormalize-docs`).
5253
#![recursion_limit = "256"]
5354

src/tools/miri/src/shims/env.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::ffi::{OsStr, OsString};
33
use rustc_data_structures::fx::FxHashMap;
44

55
use crate::*;
6-
use shims::{unix::UnixEnvVars, windows::WindowsEnvVars};
6+
use self::shims::{unix::UnixEnvVars, windows::WindowsEnvVars};
77

88
#[derive(Default)]
99
pub enum EnvVars<'tcx> {

src/tools/miri/src/shims/foreign_items.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use rustc_target::{
1515
use super::alloc::{check_alloc_request, EvalContextExt as _};
1616
use super::backtrace::EvalContextExt as _;
1717
use crate::*;
18-
use helpers::{ToHost, ToSoft};
18+
use self::helpers::{ToHost, ToSoft};
1919

2020
/// Type of dynamic symbols (for `dlsym` et al)
2121
#[derive(Debug, Copy, Clone)]

src/tools/miri/src/shims/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ pub mod panic;
1717
pub mod time;
1818
pub mod tls;
1919

20-
pub use unix::{DirTable, FdTable};
20+
pub use self::unix::{DirTable, FdTable};
2121

2222
/// What needs to be done after emulating an item (a shim or an intrinsic) is done.
2323
pub enum EmulateItemResult {

src/tools/miri/src/shims/panic.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use rustc_target::spec::abi::Abi;
1717
use rustc_target::spec::PanicStrategy;
1818

1919
use crate::*;
20-
use helpers::check_arg_count;
20+
use self::helpers::check_arg_count;
2121

2222
/// Holds all of the relevant data for when unwinding hits a `try` frame.
2323
#[derive(Debug)]

src/tools/miri/src/shims/tls.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ impl<'tcx> TlsDtorsState<'tcx> {
237237
&mut self,
238238
this: &mut MiriInterpCx<'tcx>,
239239
) -> InterpResult<'tcx, Poll<()>> {
240-
use TlsDtorsStatePriv::*;
240+
use self::TlsDtorsStatePriv::*;
241241
let new_state = 'new_state: {
242242
match &mut self.0 {
243243
Init => {

src/tools/miri/src/shims/unix/foreign_items.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ use crate::shims::alloc::EvalContextExt as _;
99
use crate::shims::unix::*;
1010
use crate::*;
1111

12-
use shims::unix::android::foreign_items as android;
13-
use shims::unix::freebsd::foreign_items as freebsd;
14-
use shims::unix::linux::foreign_items as linux;
15-
use shims::unix::macos::foreign_items as macos;
16-
use shims::unix::solarish::foreign_items as solarish;
12+
use self::shims::unix::android::foreign_items as android;
13+
use self::shims::unix::freebsd::foreign_items as freebsd;
14+
use self::shims::unix::linux::foreign_items as linux;
15+
use self::shims::unix::macos::foreign_items as macos;
16+
use self::shims::unix::solarish::foreign_items as solarish;
1717

1818
pub fn is_dyn_sym(name: &str, target_os: &str) -> bool {
1919
match name {

src/tools/miri/src/shims/unix/fs.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use rustc_target::abi::Size;
1414
use crate::shims::os_str::bytes_to_os_str;
1515
use crate::shims::unix::*;
1616
use crate::*;
17-
use shims::time::system_time_to_duration;
17+
use self::shims::time::system_time_to_duration;
1818

1919
use self::fd::FileDescriptor;
2020

src/tools/miri/src/shims/unix/linux/foreign_items.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ use crate::machine::SIGRTMAX;
55
use crate::machine::SIGRTMIN;
66
use crate::shims::unix::*;
77
use crate::*;
8-
use shims::unix::linux::epoll::EvalContextExt as _;
9-
use shims::unix::linux::eventfd::EvalContextExt as _;
10-
use shims::unix::linux::mem::EvalContextExt as _;
11-
use shims::unix::linux::sync::futex;
8+
use self::shims::unix::linux::epoll::EvalContextExt as _;
9+
use self::shims::unix::linux::eventfd::EvalContextExt as _;
10+
use self::shims::unix::linux::mem::EvalContextExt as _;
11+
use self::shims::unix::linux::sync::futex;
1212

1313
pub fn is_dyn_sym(name: &str) -> bool {
1414
matches!(name, "statx")

src/tools/miri/src/shims/unix/mod.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ mod linux;
1414
mod macos;
1515
mod solarish;
1616

17-
pub use env::UnixEnvVars;
18-
pub use fd::{FdTable, FileDescription};
19-
pub use fs::DirTable;
17+
pub use self::env::UnixEnvVars;
18+
pub use self::fd::{FdTable, FileDescription};
19+
pub use self::fs::DirTable;
2020
// All the Unix-specific extension traits
21-
pub use env::EvalContextExt as _;
22-
pub use fd::EvalContextExt as _;
23-
pub use fs::EvalContextExt as _;
24-
pub use mem::EvalContextExt as _;
25-
pub use socket::EvalContextExt as _;
26-
pub use sync::EvalContextExt as _;
27-
pub use thread::EvalContextExt as _;
21+
pub use self::env::EvalContextExt as _;
22+
pub use self::fd::EvalContextExt as _;
23+
pub use self::fs::EvalContextExt as _;
24+
pub use self::mem::EvalContextExt as _;
25+
pub use self::socket::EvalContextExt as _;
26+
pub use self::sync::EvalContextExt as _;
27+
pub use self::thread::EvalContextExt as _;
2828

2929
// Make up some constants.
3030
const UID: u32 = 1000;

src/tools/miri/src/shims/windows/env.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use std::io::ErrorKind;
55
use rustc_data_structures::fx::FxHashMap;
66

77
use crate::*;
8-
use helpers::windows_check_buffer_size;
8+
use self::helpers::windows_check_buffer_size;
99

1010
#[derive(Default)]
1111
pub struct WindowsEnvVars {

src/tools/miri/src/shims/windows/foreign_items.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use rustc_target::spec::abi::Abi;
1111
use crate::shims::os_str::bytes_to_os_str;
1212
use crate::shims::windows::*;
1313
use crate::*;
14-
use shims::windows::handle::{Handle, PseudoHandle};
14+
use self::shims::windows::handle::{Handle, PseudoHandle};
1515

1616
pub fn is_dyn_sym(name: &str) -> bool {
1717
// std does dynamic detection for these symbols

src/tools/miri/src/shims/windows/mod.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ mod handle;
55
mod sync;
66
mod thread;
77

8-
pub use env::WindowsEnvVars;
8+
pub use self::env::WindowsEnvVars;
99
// All the Windows-specific extension traits
10-
pub use env::EvalContextExt as _;
11-
pub use handle::EvalContextExt as _;
12-
pub use sync::EvalContextExt as _;
13-
pub use thread::EvalContextExt as _;
10+
pub use self::env::EvalContextExt as _;
11+
pub use self::handle::EvalContextExt as _;
12+
pub use self::sync::EvalContextExt as _;
13+
pub use self::thread::EvalContextExt as _;

src/tools/miri/src/shims/windows/thread.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use rustc_middle::ty::layout::LayoutOf;
22
use rustc_target::spec::abi::Abi;
33

44
use crate::*;
5-
use shims::windows::handle::{EvalContextExt as _, Handle, PseudoHandle};
5+
use self::shims::windows::handle::{EvalContextExt as _, Handle, PseudoHandle};
66

77
impl<'tcx> EvalContextExt<'tcx> for crate::MiriInterpCx<'tcx> {}
88

src/tools/miri/src/shims/x86/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use rustc_target::abi::Size;
99
use rustc_target::spec::abi::Abi;
1010

1111
use crate::*;
12-
use helpers::bool_to_simd_element;
12+
use self::helpers::bool_to_simd_element;
1313

1414
mod aesni;
1515
mod avx;

0 commit comments

Comments
 (0)