1
Fork 0

remove redundant imports

detects redundant imports that can be eliminated.

for #117772 :

In order to facilitate review and modification, split the checking code and
removing redundant imports code into two PR.
This commit is contained in:
surechen 2023-11-10 10:11:24 +08:00
parent 8cd8d31369
commit 40ae34194c
283 changed files with 140 additions and 510 deletions

View file

@ -7,10 +7,10 @@
//! a `MutVisitor` renaming item names in a module will miss all of those //! a `MutVisitor` renaming item names in a module will miss all of those
//! that are created by the expansion of a macro. //! that are created by the expansion of a macro.
use crate::ast::*;
use crate::ptr::P; use crate::ptr::P;
use crate::token::{self, Token}; use crate::token::{self, Token};
use crate::tokenstream::*; use crate::tokenstream::*;
use crate::{ast::*, StaticItem};
use rustc_data_structures::flat_map_in_place::FlatMapInPlace; use rustc_data_structures::flat_map_in_place::FlatMapInPlace;
use rustc_data_structures::stack::ensure_sufficient_stack; use rustc_data_structures::stack::ensure_sufficient_stack;

View file

@ -13,7 +13,7 @@ use rustc_macros::HashStable_Generic;
use rustc_span::symbol::{kw, sym}; use rustc_span::symbol::{kw, sym};
#[allow(hidden_glob_reexports)] #[allow(hidden_glob_reexports)]
use rustc_span::symbol::{Ident, Symbol}; use rustc_span::symbol::{Ident, Symbol};
use rustc_span::{self, edition::Edition, Span, DUMMY_SP}; use rustc_span::{edition::Edition, Span, DUMMY_SP};
use std::borrow::Cow; use std::borrow::Cow;
use std::fmt; use std::fmt;

View file

@ -13,7 +13,7 @@
//! instance, a walker looking for item names in a module will miss all of //! instance, a walker looking for item names in a module will miss all of
//! those that are created by the expansion of a macro. //! those that are created by the expansion of a macro.
use crate::{ast::*, StaticItem}; use crate::ast::*;
use rustc_span::symbol::Ident; use rustc_span::symbol::Ident;
use rustc_span::Span; use rustc_span::Span;

View file

@ -8,7 +8,6 @@ use super::errors::{
use super::ResolverAstLoweringExt; use super::ResolverAstLoweringExt;
use super::{ImplTraitContext, LoweringContext, ParamMode, ParenthesizedGenericArgs}; use super::{ImplTraitContext, LoweringContext, ParamMode, ParenthesizedGenericArgs};
use crate::{FnDeclKind, ImplTraitPosition}; use crate::{FnDeclKind, ImplTraitPosition};
use rustc_ast::attr;
use rustc_ast::ptr::P as AstP; use rustc_ast::ptr::P as AstP;
use rustc_ast::*; use rustc_ast::*;
use rustc_data_structures::stack::ensure_sufficient_stack; use rustc_data_structures::stack::ensure_sufficient_stack;

View file

@ -1,6 +1,6 @@
use super::LoweringContext; use super::LoweringContext;
use rustc_ast as ast; use rustc_ast as ast;
use rustc_ast::visit::{self, Visitor}; use rustc_ast::visit::Visitor;
use rustc_ast::*; use rustc_ast::*;
use rustc_data_structures::fx::FxIndexMap; use rustc_data_structures::fx::FxIndexMap;
use rustc_hir as hir; use rustc_hir as hir;

View file

@ -2,7 +2,7 @@ use rustc_data_structures::fx::FxHashMap;
use rustc_data_structures::sorted_map::SortedMap; use rustc_data_structures::sorted_map::SortedMap;
use rustc_hir as hir; use rustc_hir as hir;
use rustc_hir::def_id::LocalDefId; use rustc_hir::def_id::LocalDefId;
use rustc_hir::intravisit::{self, Visitor}; use rustc_hir::intravisit::Visitor;
use rustc_hir::*; use rustc_hir::*;
use rustc_index::{Idx, IndexVec}; use rustc_index::{Idx, IndexVec};
use rustc_middle::span_bug; use rustc_middle::span_bug;

View file

@ -45,7 +45,6 @@ extern crate tracing;
use crate::errors::{AssocTyParentheses, AssocTyParenthesesSub, MisplacedImplTrait}; use crate::errors::{AssocTyParentheses, AssocTyParenthesesSub, MisplacedImplTrait};
use rustc_ast::ptr::P; use rustc_ast::ptr::P;
use rustc_ast::visit;
use rustc_ast::{self as ast, *}; use rustc_ast::{self as ast, *};
use rustc_ast_pretty::pprust; use rustc_ast_pretty::pprust;
use rustc_data_structures::captures::Captures; use rustc_data_structures::captures::Captures;

View file

@ -8,9 +8,9 @@
use itertools::{Either, Itertools}; use itertools::{Either, Itertools};
use rustc_ast::ptr::P; use rustc_ast::ptr::P;
use rustc_ast::visit::{self, AssocCtxt, BoundKind, FnCtxt, FnKind, Visitor}; use rustc_ast::visit::{AssocCtxt, BoundKind, FnCtxt, FnKind, Visitor};
use rustc_ast::walk_list;
use rustc_ast::*; use rustc_ast::*;
use rustc_ast::{walk_list, StaticItem};
use rustc_ast_pretty::pprust::{self, State}; use rustc_ast_pretty::pprust::{self, State};
use rustc_data_structures::fx::FxIndexMap; use rustc_data_structures::fx::FxIndexMap;
use rustc_feature::Features; use rustc_feature::Features;

View file

@ -10,7 +10,7 @@ use rustc_middle::ty::RegionVid;
use rustc_middle::ty::TyCtxt; use rustc_middle::ty::TyCtxt;
use rustc_mir_dataflow::impls::{EverInitializedPlaces, MaybeUninitializedPlaces}; use rustc_mir_dataflow::impls::{EverInitializedPlaces, MaybeUninitializedPlaces};
use rustc_mir_dataflow::ResultsVisitable; use rustc_mir_dataflow::ResultsVisitable;
use rustc_mir_dataflow::{self, fmt::DebugWithContext, GenKill}; use rustc_mir_dataflow::{fmt::DebugWithContext, GenKill};
use rustc_mir_dataflow::{Analysis, AnalysisDomain, Results}; use rustc_mir_dataflow::{Analysis, AnalysisDomain, Results};
use std::fmt; use std::fmt;

View file

@ -8,7 +8,6 @@ use std::borrow::Cow;
use std::io::{self, Write}; use std::io::{self, Write};
use super::*; use super::*;
use crate::constraints::OutlivesConstraint;
use rustc_graphviz as dot; use rustc_graphviz as dot;
impl<'tcx> RegionInferenceContext<'tcx> { impl<'tcx> RegionInferenceContext<'tcx> {

View file

@ -24,7 +24,6 @@ use rustc_infer::infer::{
}; };
use rustc_middle::mir::tcx::PlaceTy; use rustc_middle::mir::tcx::PlaceTy;
use rustc_middle::mir::visit::{NonMutatingUseContext, PlaceContext, Visitor}; use rustc_middle::mir::visit::{NonMutatingUseContext, PlaceContext, Visitor};
use rustc_middle::mir::AssertKind;
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::traits::query::NoSolution; use rustc_middle::traits::query::NoSolution;
use rustc_middle::traits::ObligationCause; use rustc_middle::traits::ObligationCause;

View file

@ -5,11 +5,11 @@ use rustc_ast::tokenstream::TokenStream;
use rustc_ast_pretty::pprust; use rustc_ast_pretty::pprust;
use rustc_expand::base::{self, *}; use rustc_expand::base::{self, *};
use rustc_expand::module::DirOwnership; use rustc_expand::module::DirOwnership;
use rustc_parse::new_parser_from_file;
use rustc_parse::parser::{ForceCollect, Parser}; use rustc_parse::parser::{ForceCollect, Parser};
use rustc_parse::{self, new_parser_from_file};
use rustc_session::lint::builtin::INCOMPLETE_INCLUDE; use rustc_session::lint::builtin::INCOMPLETE_INCLUDE;
use rustc_span::symbol::Symbol; use rustc_span::symbol::Symbol;
use rustc_span::{self, Pos, Span}; use rustc_span::{Pos, Span};
use smallvec::SmallVec; use smallvec::SmallVec;
use std::rc::Rc; use std::rc::Rc;

View file

@ -2,7 +2,7 @@
use rustc_ast as ast; use rustc_ast as ast;
use rustc_ast::entry::EntryPointType; use rustc_ast::entry::EntryPointType;
use rustc_ast::mut_visit::{ExpectOne, *}; use rustc_ast::mut_visit::*;
use rustc_ast::ptr::P; use rustc_ast::ptr::P;
use rustc_ast::visit::{walk_item, Visitor}; use rustc_ast::visit::{walk_item, Visitor};
use rustc_ast::{attr, ModKind}; use rustc_ast::{attr, ModKind};

View file

@ -3,7 +3,6 @@
use std::borrow::Cow; use std::borrow::Cow;
use rustc_middle::mir;
use rustc_target::abi::call::PassMode; use rustc_target::abi::call::PassMode;
use crate::prelude::*; use crate::prelude::*;

View file

@ -6,7 +6,7 @@ mod returning;
use std::borrow::Cow; use std::borrow::Cow;
use cranelift_codegen::ir::{AbiParam, SigRef}; use cranelift_codegen::ir::SigRef;
use cranelift_module::ModuleError; use cranelift_module::ModuleError;
use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags; use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags;
use rustc_middle::ty::layout::FnAbiOf; use rustc_middle::ty::layout::FnAbiOf;

View file

@ -2,7 +2,6 @@
use rustc_index::IndexVec; use rustc_index::IndexVec;
use rustc_middle::mir::StatementKind::*; use rustc_middle::mir::StatementKind::*;
use rustc_middle::ty::Ty;
use crate::prelude::*; use crate::prelude::*;

View file

@ -3,10 +3,9 @@
use std::cmp::Ordering; use std::cmp::Ordering;
use cranelift_module::*; use cranelift_module::*;
use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::fx::FxHashSet;
use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags; use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags;
use rustc_middle::mir::interpret::{read_target_uint, AllocId, GlobalAlloc, Scalar}; use rustc_middle::mir::interpret::{read_target_uint, AllocId, GlobalAlloc, Scalar};
use rustc_middle::mir::ConstValue;
use rustc_middle::ty::ScalarInt; use rustc_middle::ty::ScalarInt;
use crate::prelude::*; use crate::prelude::*;

View file

@ -3,7 +3,6 @@
use std::fmt::Write; use std::fmt::Write;
use rustc_ast::ast::{InlineAsmOptions, InlineAsmTemplatePiece}; use rustc_ast::ast::{InlineAsmOptions, InlineAsmTemplatePiece};
use rustc_middle::mir::InlineAsmOperand;
use rustc_span::sym; use rustc_span::sym;
use rustc_target::asm::*; use rustc_target::asm::*;
use target_lexicon::BinaryFormat; use target_lexicon::BinaryFormat;

View file

@ -1,7 +1,5 @@
//! Emulate LLVM intrinsics //! Emulate LLVM intrinsics
use rustc_middle::ty::GenericArgsRef;
use crate::intrinsics::*; use crate::intrinsics::*;
use crate::prelude::*; use crate::prelude::*;

View file

@ -1,7 +1,5 @@
//! Emulate AArch64 LLVM intrinsics //! Emulate AArch64 LLVM intrinsics
use rustc_middle::ty::GenericArgsRef;
use crate::intrinsics::*; use crate::intrinsics::*;
use crate::prelude::*; use crate::prelude::*;

View file

@ -1,7 +1,6 @@
//! Emulate x86 LLVM intrinsics //! Emulate x86 LLVM intrinsics
use rustc_ast::ast::{InlineAsmOptions, InlineAsmTemplatePiece}; use rustc_ast::ast::{InlineAsmOptions, InlineAsmTemplatePiece};
use rustc_middle::ty::GenericArgsRef;
use rustc_target::asm::*; use rustc_target::asm::*;
use crate::inline_asm::{codegen_inline_asm_inner, CInlineAsmOperand}; use crate::inline_asm::{codegen_inline_asm_inner, CInlineAsmOperand};

View file

@ -1,8 +1,6 @@
//! Codegen `extern "platform-intrinsic"` intrinsics. //! Codegen `extern "platform-intrinsic"` intrinsics.
use cranelift_codegen::ir::immediates::Offset32; use cranelift_codegen::ir::immediates::Offset32;
use rustc_middle::ty::GenericArgsRef;
use rustc_span::Symbol;
use rustc_target::abi::Endian; use rustc_target::abi::Endian;
use super::*; use super::*;

View file

@ -15,7 +15,6 @@ use rustc_middle::ty::layout::LayoutOf;
pub use rustc_middle::ty::layout::{FAT_PTR_ADDR, FAT_PTR_EXTRA}; pub use rustc_middle::ty::layout::{FAT_PTR_ADDR, FAT_PTR_EXTRA};
use rustc_middle::ty::Ty; use rustc_middle::ty::Ty;
use rustc_session::config; use rustc_session::config;
use rustc_target::abi::call::ArgAbi;
pub use rustc_target::abi::call::*; pub use rustc_target::abi::call::*;
use rustc_target::abi::{self, HasDataLayout, Int}; use rustc_target::abi::{self, HasDataLayout, Int};
pub use rustc_target::spec::abi::Abi; pub use rustc_target::spec::abi::Abi;

View file

@ -35,7 +35,7 @@ use rustc_middle::ty::{
use rustc_session::config::{self, DebugInfo, Lto}; use rustc_session::config::{self, DebugInfo, Lto};
use rustc_span::symbol::Symbol; use rustc_span::symbol::Symbol;
use rustc_span::FileName; use rustc_span::FileName;
use rustc_span::{self, FileNameDisplayPreference, SourceFile}; use rustc_span::{FileNameDisplayPreference, SourceFile};
use rustc_symbol_mangling::typeid_for_trait_ref; use rustc_symbol_mangling::typeid_for_trait_ref;
use rustc_target::abi::{Align, Size}; use rustc_target::abi::{Align, Size};
use smallvec::smallvec; use smallvec::smallvec;

View file

@ -32,7 +32,7 @@ use rustc_middle::ty::{self, Instance, ParamEnv, Ty, TypeVisitableExt};
use rustc_session::config::{self, DebugInfo}; use rustc_session::config::{self, DebugInfo};
use rustc_session::Session; use rustc_session::Session;
use rustc_span::symbol::Symbol; use rustc_span::symbol::Symbol;
use rustc_span::{self, BytePos, Pos, SourceFile, SourceFileAndLine, SourceFileHash, Span}; use rustc_span::{BytePos, Pos, SourceFile, SourceFileAndLine, SourceFileHash, Span};
use rustc_target::abi::Size; use rustc_target::abi::Size;
use libc::c_uint; use libc::c_uint;

View file

@ -3,7 +3,6 @@ use rustc_middle::mir::NonDivergingIntrinsic;
use super::FunctionCx; use super::FunctionCx;
use super::LocalRef; use super::LocalRef;
use crate::traits::BuilderMethods;
use crate::traits::*; use crate::traits::*;
impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {

View file

@ -12,7 +12,7 @@ use rustc_middle::traits::BuiltinImplSource;
use rustc_middle::ty::GenericArgs; use rustc_middle::ty::GenericArgs;
use rustc_middle::ty::{self, adjustment::PointerCoercion, Instance, InstanceDef, Ty, TyCtxt}; use rustc_middle::ty::{self, adjustment::PointerCoercion, Instance, InstanceDef, Ty, TyCtxt};
use rustc_middle::ty::{TraitRef, TypeVisitableExt}; use rustc_middle::ty::{TraitRef, TypeVisitableExt};
use rustc_mir_dataflow::{self, Analysis}; use rustc_mir_dataflow::Analysis;
use rustc_span::{sym, Span, Symbol}; use rustc_span::{sym, Span, Symbol};
use rustc_trait_selection::traits::error_reporting::TypeErrCtxtExt as _; use rustc_trait_selection::traits::error_reporting::TypeErrCtxtExt as _;
use rustc_trait_selection::traits::{self, ObligationCauseCode, ObligationCtxt, SelectionContext}; use rustc_trait_selection::traits::{self, ObligationCauseCode, ObligationCtxt, SelectionContext};

View file

@ -1,5 +1,4 @@
use super::*; use super::*;
use crate::stable_hasher::Hash64;
// Check that `combine_commutative` is order independent. // Check that `combine_commutative` is order independent.
#[test] #[test]

View file

@ -1,5 +1,4 @@
use crate::graph::implementation::*; use crate::graph::implementation::*;
use std::fmt::Debug;
type TestGraph = Graph<&'static str, &'static str>; type TestGraph = Graph<&'static str, &'static str>;

View file

@ -1,5 +1,4 @@
use super::*; use super::*;
use std::cmp::Ordering;
#[derive(Debug)] #[derive(Debug)]
struct S(u32); struct S(u32);

View file

@ -1,7 +1,6 @@
use super::*; use super::*;
use std::fmt; use std::fmt;
use std::marker::PhantomData;
impl<'a> super::ForestObligation for &'a str { impl<'a> super::ForestObligation for &'a str {
type CacheKey = &'a str; type CacheKey = &'a str;

View file

@ -1,6 +1,6 @@
use super::*; use super::*;
use std::hash::{Hash, Hasher}; use std::hash::Hash;
// Hash just the bytes of the slice, without length prefix // Hash just the bytes of the slice, without length prefix
struct Bytes<'a>(&'a [u8]); struct Bytes<'a>(&'a [u8]);

View file

@ -1,11 +1,8 @@
use super::*; use super::*;
use crate::json::JsonEmitter; use crate::emitter::ColorConfig;
use rustc_span::source_map::{FilePathMapping, SourceMap}; use crate::Handler;
use rustc_span::BytePos;
use crate::emitter::{ColorConfig, HumanReadableErrorType};
use crate::{Handler, TerminalUrl};
use rustc_span::{BytePos, Span};
use std::str; use std::str;

View file

@ -3,7 +3,6 @@ use std::path::PathBuf;
use termcolor::{BufferWriter, ColorChoice}; use termcolor::{BufferWriter, ColorChoice};
use super::*; use super::*;
use crate::markdown::MdStream;
const INPUT: &str = include_str!("input.md"); const INPUT: &str = include_str!("input.md");
const OUTPUT_PATH: &[&str] = &[env!("CARGO_MANIFEST_DIR"), "src","markdown","tests","output.stdout"]; const OUTPUT_PATH: &[&str] = &[env!("CARGO_MANIFEST_DIR"), "src","markdown","tests","output.stdout"];

View file

@ -21,7 +21,7 @@ use rustc_errors::{
use rustc_feature::Features; use rustc_feature::Features;
use rustc_lint_defs::builtin::PROC_MACRO_BACK_COMPAT; use rustc_lint_defs::builtin::PROC_MACRO_BACK_COMPAT;
use rustc_lint_defs::{BufferedEarlyLint, BuiltinLintDiagnostics, RegisteredTools}; use rustc_lint_defs::{BufferedEarlyLint, BuiltinLintDiagnostics, RegisteredTools};
use rustc_parse::{self, parser, MACRO_ARGUMENTS}; use rustc_parse::{parser, MACRO_ARGUMENTS};
use rustc_session::errors::report_lit_error; use rustc_session::errors::report_lit_error;
use rustc_session::{parse::ParseSess, Limit, Session}; use rustc_session::{parse::ParseSess, Limit, Session};
use rustc_span::def_id::{CrateNum, DefId, LocalDefId}; use rustc_span::def_id::{CrateNum, DefId, LocalDefId};

View file

@ -1,5 +1,5 @@
use crate::check::intrinsicck::InlineAsmCtxt; use crate::check::intrinsicck::InlineAsmCtxt;
use crate::errors::{self, LinkageType}; use crate::errors::LinkageType;
use super::compare_impl_item::check_type_bounds; use super::compare_impl_item::check_type_bounds;
use super::compare_impl_item::{compare_impl_method, compare_impl_ty}; use super::compare_impl_item::{compare_impl_method, compare_impl_ty};
@ -8,9 +8,8 @@ use rustc_attr as attr;
use rustc_errors::{ErrorGuaranteed, MultiSpan}; use rustc_errors::{ErrorGuaranteed, MultiSpan};
use rustc_hir as hir; use rustc_hir as hir;
use rustc_hir::def::{CtorKind, DefKind}; use rustc_hir::def::{CtorKind, DefKind};
use rustc_hir::def_id::{DefId, LocalDefId, LocalModDefId}; use rustc_hir::def_id::LocalModDefId;
use rustc_hir::Node; use rustc_hir::Node;
use rustc_infer::infer::outlives::env::OutlivesEnvironment;
use rustc_infer::infer::{RegionVariableOrigin, TyCtxtInferExt}; use rustc_infer::infer::{RegionVariableOrigin, TyCtxtInferExt};
use rustc_infer::traits::{Obligation, TraitEngineExt as _}; use rustc_infer::traits::{Obligation, TraitEngineExt as _};
use rustc_lint_defs::builtin::REPR_TRANSPARENT_EXTERNAL_PRIVATE_FIELDS; use rustc_lint_defs::builtin::REPR_TRANSPARENT_EXTERNAL_PRIVATE_FIELDS;
@ -21,18 +20,15 @@ use rustc_middle::ty::layout::{LayoutError, MAX_SIMD_LANES};
use rustc_middle::ty::util::{Discr, IntTypeExt}; use rustc_middle::ty::util::{Discr, IntTypeExt};
use rustc_middle::ty::GenericArgKind; use rustc_middle::ty::GenericArgKind;
use rustc_middle::ty::{ use rustc_middle::ty::{
self, AdtDef, ParamEnv, RegionKind, Ty, TyCtxt, TypeSuperVisitable, TypeVisitable, AdtDef, ParamEnv, RegionKind, TypeSuperVisitable, TypeVisitable, TypeVisitableExt,
TypeVisitableExt,
}; };
use rustc_session::lint::builtin::{UNINHABITED_STATIC, UNSUPPORTED_CALLING_CONVENTIONS}; use rustc_session::lint::builtin::{UNINHABITED_STATIC, UNSUPPORTED_CALLING_CONVENTIONS};
use rustc_span::symbol::sym; use rustc_span::symbol::sym;
use rustc_span::{self, Span};
use rustc_target::abi::FieldIdx; use rustc_target::abi::FieldIdx;
use rustc_target::spec::abi::Abi;
use rustc_trait_selection::traits::error_reporting::on_unimplemented::OnUnimplementedDirective; use rustc_trait_selection::traits::error_reporting::on_unimplemented::OnUnimplementedDirective;
use rustc_trait_selection::traits::error_reporting::TypeErrCtxtExt as _; use rustc_trait_selection::traits::error_reporting::TypeErrCtxtExt as _;
use rustc_trait_selection::traits::outlives_bounds::InferCtxtExt as _; use rustc_trait_selection::traits::outlives_bounds::InferCtxtExt as _;
use rustc_trait_selection::traits::{self, ObligationCtxt, TraitEngine, TraitEngineExt as _}; use rustc_trait_selection::traits::{self, TraitEngine, TraitEngineExt as _};
use rustc_type_ir::fold::TypeFoldable; use rustc_type_ir::fold::TypeFoldable;
use std::ops::ControlFlow; use std::ops::ControlFlow;

View file

@ -16,7 +16,7 @@ use rustc_hir::{BindingAnnotation, ByRef, GenericArg, GenericParam, GenericParam
use rustc_hir::{GenericBound, PatKind, RangeEnd, TraitBoundModifier}; use rustc_hir::{GenericBound, PatKind, RangeEnd, TraitBoundModifier};
use rustc_span::source_map::SourceMap; use rustc_span::source_map::SourceMap;
use rustc_span::symbol::{kw, Ident, Symbol}; use rustc_span::symbol::{kw, Ident, Symbol};
use rustc_span::{self, FileName}; use rustc_span::FileName;
use rustc_target::spec::abi::Abi; use rustc_target::spec::abi::Abi;
use std::cell::Cell; use std::cell::Cell;

View file

@ -58,7 +58,7 @@ use rustc_middle::ty::visit::TypeVisitableExt;
use rustc_middle::ty::{self, GenericArgsRef, Ty, TyCtxt, TypeAndMut}; use rustc_middle::ty::{self, GenericArgsRef, Ty, TyCtxt, TypeAndMut};
use rustc_session::parse::feature_err; use rustc_session::parse::feature_err;
use rustc_span::symbol::sym; use rustc_span::symbol::sym;
use rustc_span::{self, DesugaringKind}; use rustc_span::DesugaringKind;
use rustc_target::spec::abi::Abi; use rustc_target::spec::abi::Abi;
use rustc_trait_selection::infer::InferCtxtExt as _; use rustc_trait_selection::infer::InferCtxtExt as _;
use rustc_trait_selection::traits::error_reporting::TypeErrCtxtExt as _; use rustc_trait_selection::traits::error_reporting::TypeErrCtxtExt as _;

View file

@ -1,4 +1,4 @@
use rustc_span::{self, Span, DUMMY_SP}; use rustc_span::{Span, DUMMY_SP};
use std::{cmp, ops}; use std::{cmp, ops};
/// Tracks whether executing a node may exit normally (versus /// Tracks whether executing a node may exit normally (versus

View file

@ -1,6 +1,6 @@
use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind};
use rustc_middle::ty::{self, Ty}; use rustc_middle::ty::{self, Ty};
use rustc_span::{self, Span}; use rustc_span::Span;
use super::Expectation::*; use super::Expectation::*;
use super::FnCtxt; use super::FnCtxt;

View file

@ -4,7 +4,7 @@ use rustc_hir::def::{DefKind, Res};
use rustc_hir::def_id::DefId; use rustc_hir::def_id::DefId;
use rustc_infer::{infer::type_variable::TypeVariableOriginKind, traits::ObligationCauseCode}; use rustc_infer::{infer::type_variable::TypeVariableOriginKind, traits::ObligationCauseCode};
use rustc_middle::ty::{self, Ty, TyCtxt, TypeSuperVisitable, TypeVisitable, TypeVisitor}; use rustc_middle::ty::{self, Ty, TyCtxt, TypeSuperVisitable, TypeVisitable, TypeVisitor};
use rustc_span::{self, symbol::kw, Span}; use rustc_span::{symbol::kw, Span};
use rustc_trait_selection::traits; use rustc_trait_selection::traits;
use std::ops::ControlFlow; use std::ops::ControlFlow;

View file

@ -33,7 +33,7 @@ use rustc_middle::ty::visit::TypeVisitableExt;
use rustc_middle::ty::{self, IsSuggestable, Ty, TyCtxt}; use rustc_middle::ty::{self, IsSuggestable, Ty, TyCtxt};
use rustc_session::Session; use rustc_session::Session;
use rustc_span::symbol::{kw, Ident}; use rustc_span::symbol::{kw, Ident};
use rustc_span::{self, sym, BytePos, Span}; use rustc_span::{sym, BytePos, Span};
use rustc_trait_selection::traits::{self, ObligationCauseCode, SelectionContext}; use rustc_trait_selection::traits::{self, ObligationCauseCode, SelectionContext};
use std::iter; use std::iter;

View file

@ -9,7 +9,7 @@ use rustc_middle::traits::DefiningAnchor;
use rustc_middle::ty::visit::TypeVisitableExt; use rustc_middle::ty::visit::TypeVisitableExt;
use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_middle::ty::{self, Ty, TyCtxt};
use rustc_span::def_id::LocalDefIdMap; use rustc_span::def_id::LocalDefIdMap;
use rustc_span::{self, Span}; use rustc_span::Span;
use rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt; use rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt;
use rustc_trait_selection::traits::{self, PredicateObligation, TraitEngine, TraitEngineExt as _}; use rustc_trait_selection::traits::{self, PredicateObligation, TraitEngine, TraitEngineExt as _};

View file

@ -4,7 +4,7 @@ use super::method::MethodCallee;
use super::{has_expected_num_generic_args, FnCtxt}; use super::{has_expected_num_generic_args, FnCtxt};
use crate::Expectation; use crate::Expectation;
use rustc_ast as ast; use rustc_ast as ast;
use rustc_errors::{self, struct_span_err, Applicability, Diagnostic, DiagnosticBuilder}; use rustc_errors::{struct_span_err, Applicability, Diagnostic, DiagnosticBuilder};
use rustc_hir as hir; use rustc_hir as hir;
use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind};
use rustc_infer::traits::ObligationCauseCode; use rustc_infer::traits::ObligationCauseCode;

View file

@ -32,7 +32,6 @@ use rustc_middle::hir::nested_filter;
use rustc_middle::ty::TyCtxt; use rustc_middle::ty::TyCtxt;
use rustc_span::symbol::{sym, Symbol}; use rustc_span::symbol::{sym, Symbol};
use rustc_span::Span; use rustc_span::Span;
use std::iter::FromIterator;
use thin_vec::ThinVec; use thin_vec::ThinVec;
const LOADED_FROM_DISK: Symbol = sym::loaded_from_disk; const LOADED_FROM_DISK: Symbol = sym::loaded_from_disk;

View file

@ -1,6 +1,6 @@
use crate::fluent_generated as fluent; use crate::fluent_generated as fluent;
use crate::infer::error_reporting::nice_region_error::find_anon_type; use crate::infer::error_reporting::nice_region_error::find_anon_type;
use rustc_errors::{self, AddToDiagnostic, Diagnostic, IntoDiagnosticArg, SubdiagnosticMessage}; use rustc_errors::{AddToDiagnostic, Diagnostic, IntoDiagnosticArg, SubdiagnosticMessage};
use rustc_middle::ty::{self, TyCtxt}; use rustc_middle::ty::{self, TyCtxt};
use rustc_span::{symbol::kw, Span}; use rustc_span::{symbol::kw, Span};

View file

@ -22,7 +22,7 @@ use rustc_middle::ty::{self, GlobalCtxt, RegisteredTools, TyCtxt};
use rustc_middle::util::Providers; use rustc_middle::util::Providers;
use rustc_mir_build as mir_build; use rustc_mir_build as mir_build;
use rustc_parse::{parse_crate_from_file, parse_crate_from_source_str, validate_attr}; use rustc_parse::{parse_crate_from_file, parse_crate_from_source_str, validate_attr};
use rustc_passes::{self, abi_test, hir_stats, layout_test}; use rustc_passes::{abi_test, hir_stats, layout_test};
use rustc_resolve::Resolver; use rustc_resolve::Resolver;
use rustc_session::code_stats::VTableSizeInfo; use rustc_session::code_stats::VTableSizeInfo;
use rustc_session::config::{CrateType, Input, OutFileName, OutputFilenames, OutputType}; use rustc_session::config::{CrateType, Input, OutFileName, OutputFilenames, OutputType};

View file

@ -40,7 +40,6 @@ use crate::{
}, },
EarlyContext, EarlyLintPass, LateContext, LateLintPass, Level, LintContext, EarlyContext, EarlyLintPass, LateContext, LateLintPass, Level, LintContext,
}; };
use rustc_ast::attr;
use rustc_ast::tokenstream::{TokenStream, TokenTree}; use rustc_ast::tokenstream::{TokenStream, TokenTree};
use rustc_ast::visit::{FnCtxt, FnKind}; use rustc_ast::visit::{FnCtxt, FnKind};
use rustc_ast::{self as ast, *}; use rustc_ast::{self as ast, *};

View file

@ -94,9 +94,6 @@ pub use array_into_iter::ARRAY_INTO_ITER;
use rustc_hir::def_id::LocalModDefId; use rustc_hir::def_id::LocalModDefId;
use rustc_middle::query::Providers; use rustc_middle::query::Providers;
use rustc_middle::ty::TyCtxt; use rustc_middle::ty::TyCtxt;
use rustc_session::lint::builtin::{
BARE_TRAIT_OBJECTS, ELIDED_LIFETIMES_IN_PATHS, EXPLICIT_OUTLIVES_REQUIREMENTS,
};
use array_into_iter::ArrayIntoIter; use array_into_iter::ArrayIntoIter;
use async_fn_in_trait::AsyncFnInTrait; use async_fn_in_trait::AsyncFnInTrait;

View file

@ -1,6 +1,6 @@
use proc_macro2::{self, Ident}; use proc_macro2::Ident;
use quote::quote; use quote::quote;
use syn::{self, parse_quote}; use syn::parse_quote;
struct Attributes { struct Attributes {
ignore: bool, ignore: bool,

View file

@ -1,5 +1,5 @@
use quote::quote; use quote::quote;
use syn::{self, parse_quote}; use syn::parse_quote;
pub fn lift_derive(mut s: synstructure::Structure<'_>) -> proc_macro2::TokenStream { pub fn lift_derive(mut s: synstructure::Structure<'_>) -> proc_macro2::TokenStream {
s.add_bounds(synstructure::AddBounds::Generics); s.add_bounds(synstructure::AddBounds::Generics);

View file

@ -1,44 +1,34 @@
// Decoding metadata from a single crate's metadata // Decoding metadata from a single crate's metadata
use crate::creader::{CStore, CrateMetadataRef}; use crate::creader::CStore;
use crate::rmeta::table::IsDefault; use crate::rmeta::table::IsDefault;
use crate::rmeta::*; use crate::rmeta::*;
use rustc_ast as ast; use rustc_ast as ast;
use rustc_data_structures::captures::Captures; use rustc_data_structures::captures::Captures;
use rustc_data_structures::fx::FxHashMap;
use rustc_data_structures::owned_slice::OwnedSlice; use rustc_data_structures::owned_slice::OwnedSlice;
use rustc_data_structures::svh::Svh;
use rustc_data_structures::sync::{AppendOnlyVec, AtomicBool, Lock, Lrc, OnceLock}; use rustc_data_structures::sync::{AppendOnlyVec, AtomicBool, Lock, Lrc, OnceLock};
use rustc_data_structures::unhash::UnhashMap; use rustc_data_structures::unhash::UnhashMap;
use rustc_expand::base::{SyntaxExtension, SyntaxExtensionKind}; use rustc_expand::base::{SyntaxExtension, SyntaxExtensionKind};
use rustc_expand::proc_macro::{AttrProcMacro, BangProcMacro, DeriveProcMacro}; use rustc_expand::proc_macro::{AttrProcMacro, BangProcMacro, DeriveProcMacro};
use rustc_hir::def::{CtorKind, DefKind, DocLinkResMap, Res}; use rustc_hir::def::Res;
use rustc_hir::def_id::{CrateNum, DefId, DefIndex, CRATE_DEF_INDEX, LOCAL_CRATE}; use rustc_hir::def_id::{CRATE_DEF_INDEX, LOCAL_CRATE};
use rustc_hir::definitions::{DefKey, DefPath, DefPathData, DefPathHash}; use rustc_hir::definitions::{DefPath, DefPathData};
use rustc_hir::diagnostic_items::DiagnosticItems; use rustc_hir::diagnostic_items::DiagnosticItems;
use rustc_index::{Idx, IndexVec}; use rustc_index::Idx;
use rustc_middle::metadata::ModChild;
use rustc_middle::middle::debugger_visualizer::DebuggerVisualizerFile;
use rustc_middle::middle::exported_symbols::{ExportedSymbol, SymbolExportInfo};
use rustc_middle::middle::lib_features::LibFeatures; use rustc_middle::middle::lib_features::LibFeatures;
use rustc_middle::mir::interpret::{AllocDecodingSession, AllocDecodingState}; use rustc_middle::mir::interpret::{AllocDecodingSession, AllocDecodingState};
use rustc_middle::ty::codec::TyDecoder; use rustc_middle::ty::codec::TyDecoder;
use rustc_middle::ty::fast_reject::SimplifiedType; use rustc_middle::ty::Visibility;
use rustc_middle::ty::{self, ParameterizedOverTcx, Ty, TyCtxt, Visibility};
use rustc_serialize::opaque::MemDecoder; use rustc_serialize::opaque::MemDecoder;
use rustc_serialize::{Decodable, Decoder}; use rustc_serialize::{Decodable, Decoder};
use rustc_session::cstore::{ use rustc_session::cstore::{CrateSource, ExternCrate};
CrateSource, ExternCrate, ForeignModule, LinkagePreference, NativeLib,
};
use rustc_session::Session; use rustc_session::Session;
use rustc_span::hygiene::ExpnIndex; use rustc_span::symbol::kw;
use rustc_span::symbol::{kw, Ident, Symbol}; use rustc_span::{BytePos, Pos, SpanData, SyntaxContext, DUMMY_SP};
use rustc_span::{self, BytePos, ExpnId, Pos, Span, SpanData, SyntaxContext, DUMMY_SP};
use proc_macro::bridge::client::ProcMacro; use proc_macro::bridge::client::ProcMacro;
use std::iter::TrustedLen; use std::iter::TrustedLen;
use std::num::NonZeroUsize;
use std::path::Path; use std::path::Path;
use std::sync::atomic::Ordering; use std::sync::atomic::Ordering;
use std::{io, iter, mem}; use std::{io, iter, mem};

View file

@ -1,51 +1,37 @@
use crate::errors::{FailCreateFileEncoder, FailWriteFile}; use crate::errors::{FailCreateFileEncoder, FailWriteFile};
use crate::rmeta::def_path_hash_map::DefPathHashMapRef;
use crate::rmeta::table::TableBuilder;
use crate::rmeta::*; use crate::rmeta::*;
use rustc_ast::expand::StrippedCfgItem;
use rustc_ast::Attribute; use rustc_ast::Attribute;
use rustc_data_structures::fingerprint::Fingerprint; use rustc_data_structures::fingerprint::Fingerprint;
use rustc_data_structures::fx::{FxHashMap, FxIndexSet}; use rustc_data_structures::fx::FxIndexSet;
use rustc_data_structures::memmap::{Mmap, MmapMut}; use rustc_data_structures::memmap::{Mmap, MmapMut};
use rustc_data_structures::stable_hasher::{Hash128, HashStable, StableHasher}; use rustc_data_structures::stable_hasher::{Hash128, HashStable, StableHasher};
use rustc_data_structures::sync::{join, par_for_each_in, Lrc}; use rustc_data_structures::sync::{join, par_for_each_in, Lrc};
use rustc_data_structures::temp_dir::MaybeTempDir; use rustc_data_structures::temp_dir::MaybeTempDir;
use rustc_hir as hir; use rustc_hir as hir;
use rustc_hir::def::DefKind; use rustc_hir::def_id::{LocalDefId, LocalDefIdSet, CRATE_DEF_ID, CRATE_DEF_INDEX, LOCAL_CRATE};
use rustc_hir::def_id::{
CrateNum, DefId, DefIndex, LocalDefId, LocalDefIdSet, CRATE_DEF_ID, CRATE_DEF_INDEX,
LOCAL_CRATE,
};
use rustc_hir::definitions::DefPathData; use rustc_hir::definitions::DefPathData;
use rustc_hir::lang_items::LangItem;
use rustc_hir_pretty::id_to_string; use rustc_hir_pretty::id_to_string;
use rustc_middle::middle::debugger_visualizer::DebuggerVisualizerFile;
use rustc_middle::middle::dependency_format::Linkage; use rustc_middle::middle::dependency_format::Linkage;
use rustc_middle::middle::exported_symbols::{ use rustc_middle::middle::exported_symbols::metadata_symbol_name;
metadata_symbol_name, ExportedSymbol, SymbolExportInfo,
};
use rustc_middle::middle::lib_features::FeatureStability;
use rustc_middle::mir::interpret; use rustc_middle::mir::interpret;
use rustc_middle::query::LocalCrate; use rustc_middle::query::LocalCrate;
use rustc_middle::query::Providers; use rustc_middle::query::Providers;
use rustc_middle::traits::specialization_graph; use rustc_middle::traits::specialization_graph;
use rustc_middle::ty::codec::TyEncoder; use rustc_middle::ty::codec::TyEncoder;
use rustc_middle::ty::fast_reject::{self, SimplifiedType, TreatParams}; use rustc_middle::ty::fast_reject::{self, TreatParams};
use rustc_middle::ty::{self, AssocItemContainer, SymbolName, Ty, TyCtxt}; use rustc_middle::ty::{AssocItemContainer, SymbolName};
use rustc_middle::util::common::to_readable_str; use rustc_middle::util::common::to_readable_str;
use rustc_serialize::{opaque, Decodable, Decoder, Encodable, Encoder}; use rustc_serialize::{opaque, Decodable, Decoder, Encodable, Encoder};
use rustc_session::config::{CrateType, OptLevel}; use rustc_session::config::{CrateType, OptLevel};
use rustc_session::cstore::{ForeignModule, LinkagePreference, NativeLib}; use rustc_span::hygiene::HygieneEncodeContext;
use rustc_span::hygiene::{ExpnIndex, HygieneEncodeContext, MacroKind}; use rustc_span::symbol::sym;
use rustc_span::symbol::{sym, Symbol}; use rustc_span::{ExternalSource, FileName, SourceFile, SpanData, SyntaxContext};
use rustc_span::{self, ExternalSource, FileName, SourceFile, Span, SpanData, SyntaxContext};
use std::borrow::Borrow; use std::borrow::Borrow;
use std::collections::hash_map::Entry; use std::collections::hash_map::Entry;
use std::fs::File; use std::fs::File;
use std::hash::Hash; use std::hash::Hash;
use std::io::{Read, Seek, Write}; use std::io::{Read, Seek, Write};
use std::num::NonZeroUsize;
use std::path::{Path, PathBuf}; use std::path::{Path, PathBuf};
pub(super) struct EncodeContext<'a, 'tcx> { pub(super) struct EncodeContext<'a, 'tcx> {

View file

@ -1,13 +1,8 @@
use crate::rmeta::*; use crate::rmeta::*;
use rustc_data_structures::fingerprint::Fingerprint; use rustc_data_structures::fingerprint::Fingerprint;
use rustc_hir::def::{CtorKind, CtorOf}; use rustc_hir::def::CtorOf;
use rustc_index::Idx; use rustc_index::Idx;
use rustc_middle::ty::{ParameterizedOverTcx, UnusedGenericParams};
use rustc_serialize::opaque::FileEncoder;
use rustc_span::hygiene::MacroKind;
use std::marker::PhantomData;
use std::num::NonZeroUsize;
pub(super) trait IsDefault: Default { pub(super) trait IsDefault: Default {
fn is_default(&self) -> bool; fn is_default(&self) -> bool;

View file

@ -10,7 +10,7 @@ use rustc_data_structures::sync::{par_for_each_in, try_par_for_each_in, DynSend,
use rustc_hir::def::{DefKind, Res}; use rustc_hir::def::{DefKind, Res};
use rustc_hir::def_id::{DefId, LocalDefId, LocalModDefId, LOCAL_CRATE}; use rustc_hir::def_id::{DefId, LocalDefId, LocalModDefId, LOCAL_CRATE};
use rustc_hir::definitions::{DefKey, DefPath, DefPathHash}; use rustc_hir::definitions::{DefKey, DefPath, DefPathHash};
use rustc_hir::intravisit::{self, Visitor}; use rustc_hir::intravisit::Visitor;
use rustc_hir::*; use rustc_hir::*;
use rustc_index::Idx; use rustc_index::Idx;
use rustc_middle::hir::nested_filter; use rustc_middle::hir::nested_filter;

View file

@ -8,7 +8,6 @@
//! this via an attribute on the crate like `#![recursion_limit="22"]`. This pass //! this via an attribute on the crate like `#![recursion_limit="22"]`. This pass
//! just peeks and looks for that attribute. //! just peeks and looks for that attribute.
use crate::bug;
use crate::error::LimitInvalid; use crate::error::LimitInvalid;
use crate::query::Providers; use crate::query::Providers;
use rustc_ast::Attribute; use rustc_ast::Attribute;

View file

@ -1,6 +1,5 @@
use std::fmt::{self, Debug, Display, Formatter}; use std::fmt::{self, Debug, Display, Formatter};
use rustc_hir;
use rustc_hir::def_id::DefId; use rustc_hir::def_id::DefId;
use rustc_session::RemapFileNameExt; use rustc_session::RemapFileNameExt;
use rustc_span::Span; use rustc_span::Span;

View file

@ -1,7 +1,5 @@
use gsgdt::{Edge, Graph, Node, NodeStyle}; use gsgdt::{Edge, Graph, Node, NodeStyle};
use rustc_hir::def_id::DefId;
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty::TyCtxt;
/// Convert an MIR function into a gsgdt Graph /// Convert an MIR function into a gsgdt Graph
pub fn mir_fn_to_generic_graph<'tcx>(tcx: TyCtxt<'tcx>, body: &Body<'_>) -> Graph { pub fn mir_fn_to_generic_graph<'tcx>(tcx: TyCtxt<'tcx>, body: &Body<'_>) -> Graph {

View file

@ -1,9 +1,6 @@
use gsgdt::GraphvizSettings; use gsgdt::GraphvizSettings;
use rustc_graphviz as dot; use rustc_graphviz as dot;
use rustc_hir::def_id::DefId;
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty::{self, TyCtxt};
use std::fmt::Debug;
use std::io::{self, Write}; use std::io::{self, Write};
use super::generic_graph::mir_fn_to_generic_graph; use super::generic_graph::mir_fn_to_generic_graph;

View file

@ -1,7 +1,4 @@
use rustc_index::{Idx, IndexVec};
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty::Ty;
use rustc_span::Span;
/// This struct represents a patch to MIR, which can add /// This struct represents a patch to MIR, which can add
/// new statements and basic blocks and patch over block /// new statements and basic blocks and patch over block

View file

@ -1,23 +1,18 @@
use std::collections::BTreeSet; use std::collections::BTreeSet;
use std::fmt::{self, Debug, Display, Write as _}; use std::fmt::{Display, Write as _};
use std::fs; use std::fs;
use std::io::{self, Write as _}; use std::io::{self, Write as _};
use std::path::{Path, PathBuf}; use std::path::{Path, PathBuf};
use super::graphviz::write_mir_fn_graphviz; use super::graphviz::write_mir_fn_graphviz;
use super::spanview::write_mir_fn_spanview; use super::spanview::write_mir_fn_spanview;
use either::Either;
use rustc_ast::InlineAsmTemplatePiece; use rustc_ast::InlineAsmTemplatePiece;
use rustc_data_structures::fx::FxHashMap;
use rustc_hir::def_id::DefId;
use rustc_index::Idx;
use rustc_middle::mir::interpret::{ use rustc_middle::mir::interpret::{
alloc_range, read_target_uint, AllocBytes, AllocId, Allocation, ConstAllocation, GlobalAlloc, alloc_range, read_target_uint, AllocBytes, AllocId, Allocation, GlobalAlloc, Pointer,
Pointer, Provenance, Provenance,
}; };
use rustc_middle::mir::visit::Visitor; use rustc_middle::mir::visit::Visitor;
use rustc_middle::mir::{self, *}; use rustc_middle::mir::{self, *};
use rustc_middle::ty::{self, TyCtxt};
use rustc_target::abi::Size; use rustc_target::abi::Size;
const INDENT: &str = " "; const INDENT: &str = " ";

View file

@ -1,9 +1,7 @@
use rustc_hir::def_id::DefId;
use rustc_middle::hir; use rustc_middle::hir;
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty::TyCtxt;
use rustc_session::config::MirSpanview; use rustc_session::config::MirSpanview;
use rustc_span::{BytePos, Pos, Span}; use rustc_span::{BytePos, Pos};
use std::cmp; use std::cmp;
use std::io::{self, Write}; use std::io::{self, Write};

View file

@ -4,9 +4,7 @@
*/ */
use crate::mir::*; use crate::mir::*;
use crate::ty::{self, Ty, TyCtxt};
use rustc_hir as hir; use rustc_hir as hir;
use rustc_target::abi::{FieldIdx, VariantIdx};
#[derive(Copy, Clone, Debug, TypeFoldable, TypeVisitable)] #[derive(Copy, Clone, Debug, TypeFoldable, TypeVisitable)]
pub struct PlaceTy<'tcx> { pub struct PlaceTy<'tcx> {

View file

@ -2,9 +2,8 @@
use rustc_hir::LangItem; use rustc_hir::LangItem;
use smallvec::SmallVec; use smallvec::SmallVec;
use super::{BasicBlock, InlineAsmOperand, Operand, SourceInfo, TerminatorKind, UnwindAction}; use super::TerminatorKind;
use rustc_macros::HashStable; use rustc_macros::HashStable;
use std::iter;
use std::slice; use std::slice;
use super::*; use super::*;

View file

@ -3,7 +3,6 @@
use rustc_ast::InlineAsmTemplatePiece; use rustc_ast::InlineAsmTemplatePiece;
use super::*; use super::*;
use crate::ty;
TrivialTypeTraversalImpls! { TrivialTypeTraversalImpls! {
BlockTailInfo, BlockTailInfo,

View file

@ -63,9 +63,7 @@
//! `is_cleanup` above. //! `is_cleanup` above.
use crate::mir::*; use crate::mir::*;
use crate::ty::GenericArgsRef; use crate::ty::CanonicalUserTypeAnnotation;
use crate::ty::{self, CanonicalUserTypeAnnotation, Ty};
use rustc_span::Span;
macro_rules! make_mir_visitor { macro_rules! make_mir_visitor {
($visitor_trait_name:ident, $($mutability:ident)?) => { ($visitor_trait_name:ident, $($mutability:ident)?) => {

View file

@ -10,7 +10,7 @@ use rustc_data_structures::intern::Interned;
use rustc_errors::{DiagnosticArgValue, IntoDiagnosticArg}; use rustc_errors::{DiagnosticArgValue, IntoDiagnosticArg};
use rustc_hir::def_id::DefId; use rustc_hir::def_id::DefId;
use rustc_macros::HashStable; use rustc_macros::HashStable;
use rustc_serialize::{self, Decodable, Encodable}; use rustc_serialize::{Decodable, Encodable};
use rustc_type_ir::WithCachedTypeInfo; use rustc_type_ir::WithCachedTypeInfo;
use smallvec::SmallVec; use smallvec::SmallVec;

View file

@ -2,7 +2,7 @@ use crate::error::UnsupportedFnAbi;
use crate::middle::codegen_fn_attrs::CodegenFnAttrFlags; use crate::middle::codegen_fn_attrs::CodegenFnAttrFlags;
use crate::query::TyCtxtAt; use crate::query::TyCtxtAt;
use crate::ty::normalize_erasing_regions::NormalizationError; use crate::ty::normalize_erasing_regions::NormalizationError;
use crate::ty::{self, ConstKind, ReprOptions, Ty, TyCtxt, TypeVisitableExt}; use crate::ty::{self, ConstKind, Ty, TyCtxt, TypeVisitableExt};
use rustc_error_messages::DiagnosticMessage; use rustc_error_messages::DiagnosticMessage;
use rustc_errors::{ use rustc_errors::{
DiagnosticArgValue, DiagnosticBuilder, Handler, IntoDiagnostic, IntoDiagnosticArg, DiagnosticArgValue, DiagnosticBuilder, Handler, IntoDiagnostic, IntoDiagnosticArg,

View file

@ -2,19 +2,18 @@ use crate::mir::interpret::{AllocRange, GlobalAlloc, Pointer, Provenance, Scalar
use crate::query::IntoQueryParam; use crate::query::IntoQueryParam;
use crate::query::Providers; use crate::query::Providers;
use crate::traits::util::supertraits_for_pretty_printing; use crate::traits::util::supertraits_for_pretty_printing;
use crate::ty::GenericArgKind;
use crate::ty::{ use crate::ty::{
self, ConstInt, ParamConst, ScalarInt, Term, TermKind, Ty, TyCtxt, TypeFoldable, ConstInt, ParamConst, ScalarInt, Term, TermKind, TypeFoldable, TypeSuperFoldable,
TypeSuperFoldable, TypeSuperVisitable, TypeVisitable, TypeVisitableExt, TypeSuperVisitable, TypeVisitable, TypeVisitableExt,
}; };
use crate::ty::{GenericArg, GenericArgKind};
use rustc_apfloat::ieee::{Double, Single}; use rustc_apfloat::ieee::{Double, Single};
use rustc_apfloat::Float; use rustc_apfloat::Float;
use rustc_data_structures::fx::{FxHashMap, FxIndexMap}; use rustc_data_structures::fx::{FxHashMap, FxIndexMap};
use rustc_data_structures::sso::SsoHashSet;
use rustc_hir as hir; use rustc_hir as hir;
use rustc_hir::def::{self, CtorKind, DefKind, Namespace}; use rustc_hir::def::{self, CtorKind, DefKind, Namespace};
use rustc_hir::def_id::{DefId, DefIdSet, ModDefId, CRATE_DEF_ID, LOCAL_CRATE}; use rustc_hir::def_id::{DefIdSet, ModDefId, CRATE_DEF_ID, LOCAL_CRATE};
use rustc_hir::definitions::{DefKey, DefPathData, DefPathDataName, DisambiguatedDefPathData}; use rustc_hir::definitions::{DefKey, DefPathDataName};
use rustc_hir::LangItem; use rustc_hir::LangItem;
use rustc_session::config::TrimmedDefPaths; use rustc_session::config::TrimmedDefPaths;
use rustc_session::cstore::{ExternCrate, ExternCrateSource}; use rustc_session::cstore::{ExternCrate, ExternCrateSource};

View file

@ -10,8 +10,6 @@ use crate::build::{BlockAnd, BlockAndExtension, Builder, NeedsTemporary};
use rustc_hir::lang_items::LangItem; use rustc_hir::lang_items::LangItem;
use rustc_middle::middle::region; use rustc_middle::middle::region;
use rustc_middle::mir::interpret::Scalar; use rustc_middle::mir::interpret::Scalar;
use rustc_middle::mir::AssertKind;
use rustc_middle::mir::Place;
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::thir::*; use rustc_middle::thir::*;
use rustc_middle::ty::cast::{mir_cast_kind, CastTy}; use rustc_middle::ty::cast::{mir_cast_kind, CastTy};

View file

@ -2,7 +2,7 @@ use std::borrow::Cow;
use crate::build::ExprCategory; use crate::build::ExprCategory;
use crate::errors::*; use crate::errors::*;
use rustc_middle::thir::visit::{self, Visitor}; use rustc_middle::thir::visit::Visitor;
use rustc_errors::DiagnosticArgValue; use rustc_errors::DiagnosticArgValue;
use rustc_hir as hir; use rustc_hir as hir;

View file

@ -14,7 +14,7 @@ use rustc_hir as hir;
use rustc_hir::def::*; use rustc_hir::def::*;
use rustc_hir::def_id::LocalDefId; use rustc_hir::def_id::LocalDefId;
use rustc_hir::HirId; use rustc_hir::HirId;
use rustc_middle::thir::visit::{self, Visitor}; use rustc_middle::thir::visit::Visitor;
use rustc_middle::thir::*; use rustc_middle::thir::*;
use rustc_middle::ty::print::with_no_trimmed_paths; use rustc_middle::ty::print::with_no_trimmed_paths;
use rustc_middle::ty::{self, AdtDef, Ty, TyCtxt}; use rustc_middle::ty::{self, AdtDef, Ty, TyCtxt};

View file

@ -2,9 +2,7 @@
use std::marker::PhantomData; use std::marker::PhantomData;
use rustc_index::bit_set::BitSet;
use rustc_index::IndexVec; use rustc_index::IndexVec;
use rustc_middle::mir::{self, BasicBlock, Location};
use rustc_middle::ty; use rustc_middle::ty;
use rustc_span::DUMMY_SP; use rustc_span::DUMMY_SP;

View file

@ -1,4 +1,3 @@
use crate::MirPass;
use rustc_ast::InlineAsmOptions; use rustc_ast::InlineAsmOptions;
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty::layout; use rustc_middle::ty::layout;

View file

@ -1,4 +1,3 @@
use crate::MirPass;
use rustc_index::{Idx, IndexVec}; use rustc_index::{Idx, IndexVec};
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty::TyCtxt; use rustc_middle::ty::TyCtxt;

View file

@ -2,7 +2,6 @@ use rustc_middle::mir::*;
use rustc_middle::ty::TyCtxt; use rustc_middle::ty::TyCtxt;
use crate::util; use crate::util;
use crate::MirPass;
use rustc_middle::mir::patch::MirPatch; use rustc_middle::mir::patch::MirPatch;
/// This pass moves values being dropped that are within a packed /// This pass moves values being dropped that are within a packed

View file

@ -4,7 +4,6 @@
//! of MIR building, and only after this pass we think of the program has having the //! of MIR building, and only after this pass we think of the program has having the
//! normal MIR semantics. //! normal MIR semantics.
use crate::MirPass;
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_middle::ty::{self, Ty, TyCtxt};

View file

@ -1,4 +1,3 @@
use crate::MirPass;
use rustc_index::IndexVec; use rustc_index::IndexVec;
use rustc_middle::mir::patch::MirPatch; use rustc_middle::mir::patch::MirPatch;
use rustc_middle::mir::visit::MutVisitor; use rustc_middle::mir::visit::MutVisitor;

View file

@ -1,4 +1,3 @@
use crate::MirPass;
use rustc_hir::lang_items::LangItem; use rustc_hir::lang_items::LangItem;
use rustc_index::IndexVec; use rustc_index::IndexVec;
use rustc_middle::mir::*; use rustc_middle::mir::*;

View file

@ -17,7 +17,6 @@
//! } //! }
//! ``` //! ```
use crate::MirPass;
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty::TyCtxt; use rustc_middle::ty::TyCtxt;
use rustc_middle::{mir::visit::Visitor, ty::ParamEnv}; use rustc_middle::{mir::visit::Visitor, ty::ParamEnv};

View file

@ -19,7 +19,6 @@ use rustc_target::abi::{self, HasDataLayout, Size, TargetDataLayout};
use rustc_target::spec::abi::Abi as CallAbi; use rustc_target::spec::abi::Abi as CallAbi;
use crate::dataflow_const_prop::Patch; use crate::dataflow_const_prop::Patch;
use crate::MirPass;
use rustc_const_eval::interpret::{ use rustc_const_eval::interpret::{
self, compile_time_machine, AllocId, ConstAllocation, FnArg, Frame, ImmTy, Immediate, InterpCx, self, compile_time_machine, AllocId, ConstAllocation, FnArg, Frame, ImmTy, Immediate, InterpCx,
InterpResult, MemoryKind, OpTy, PlaceTy, Pointer, Scalar, StackPopCleanup, InterpResult, MemoryKind, OpTy, PlaceTy, Pointer, Scalar, StackPopCleanup,

View file

@ -6,7 +6,6 @@ use rustc_middle::ty::TyCtxt;
use rustc_mir_dataflow::impls::borrowed_locals; use rustc_mir_dataflow::impls::borrowed_locals;
use crate::ssa::SsaLocals; use crate::ssa::SsaLocals;
use crate::MirPass;
/// Unify locals that copy each other. /// Unify locals that copy each other.
/// ///

View file

@ -55,7 +55,6 @@ use crate::deref_separator::deref_finder;
use crate::errors; use crate::errors;
use crate::pass_manager as pm; use crate::pass_manager as pm;
use crate::simplify; use crate::simplify;
use crate::MirPass;
use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::fx::{FxHashMap, FxHashSet};
use rustc_errors::pluralize; use rustc_errors::pluralize;
use rustc_hir as hir; use rustc_hir as hir;
@ -63,7 +62,6 @@ use rustc_hir::lang_items::LangItem;
use rustc_hir::CoroutineKind; use rustc_hir::CoroutineKind;
use rustc_index::bit_set::{BitMatrix, BitSet, GrowableBitSet}; use rustc_index::bit_set::{BitMatrix, BitSet, GrowableBitSet};
use rustc_index::{Idx, IndexVec}; use rustc_index::{Idx, IndexVec};
use rustc_middle::mir::dump_mir;
use rustc_middle::mir::visit::{MutVisitor, PlaceContext, Visitor}; use rustc_middle::mir::visit::{MutVisitor, PlaceContext, Visitor};
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty::CoroutineArgs; use rustc_middle::ty::CoroutineArgs;
@ -73,7 +71,7 @@ use rustc_mir_dataflow::impls::{
MaybeBorrowedLocals, MaybeLiveLocals, MaybeRequiresStorage, MaybeStorageLive, MaybeBorrowedLocals, MaybeLiveLocals, MaybeRequiresStorage, MaybeStorageLive,
}; };
use rustc_mir_dataflow::storage::always_storage_live_locals; use rustc_mir_dataflow::storage::always_storage_live_locals;
use rustc_mir_dataflow::{self, Analysis}; use rustc_mir_dataflow::Analysis;
use rustc_span::def_id::{DefId, LocalDefId}; use rustc_span::def_id::{DefId, LocalDefId};
use rustc_span::symbol::sym; use rustc_span::symbol::sym;
use rustc_span::Span; use rustc_span::Span;

View file

@ -2,9 +2,9 @@ use super::*;
use rustc_data_structures::captures::Captures; use rustc_data_structures::captures::Captures;
use rustc_middle::mir::coverage::*; use rustc_middle::mir::coverage::*;
use rustc_middle::mir::{Body, Coverage, CoverageIdsInfo}; use rustc_middle::mir::{Body, CoverageIdsInfo};
use rustc_middle::query::Providers; use rustc_middle::query::Providers;
use rustc_middle::ty::{self, TyCtxt}; use rustc_middle::ty::{self};
/// A `query` provider for retrieving coverage information injected into MIR. /// A `query` provider for retrieving coverage information injected into MIR.
pub(crate) fn provide(providers: &mut Providers) { pub(crate) fn provide(providers: &mut Providers) {

View file

@ -33,7 +33,7 @@ use rustc_data_structures::graph::WithSuccessors;
use rustc_index::{Idx, IndexVec}; use rustc_index::{Idx, IndexVec};
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty; use rustc_middle::ty;
use rustc_span::{self, BytePos, Pos, Span, DUMMY_SP}; use rustc_span::{BytePos, Pos, Span, DUMMY_SP};
fn bcb(index: u32) -> BasicCoverageBlock { fn bcb(index: u32) -> BasicCoverageBlock {
BasicCoverageBlock::from_u32(index) BasicCoverageBlock::from_u32(index)

View file

@ -20,7 +20,6 @@ use rustc_span::DUMMY_SP;
use rustc_target::abi::{Abi, FieldIdx, Size, VariantIdx, FIRST_VARIANT}; use rustc_target::abi::{Abi, FieldIdx, Size, VariantIdx, FIRST_VARIANT};
use crate::const_prop::throw_machine_stop_str; use crate::const_prop::throw_machine_stop_str;
use crate::MirPass;
// These constants are somewhat random guesses and have not been optimized. // These constants are somewhat random guesses and have not been optimized.
// If `tcx.sess.mir_opt_level() >= 4`, we ignore the limits (this can become very expensive). // If `tcx.sess.mir_opt_level() >= 4`, we ignore the limits (this can become very expensive).

View file

@ -3,8 +3,6 @@
use std::{collections::hash_map::Entry, hash::Hash, hash::Hasher, iter}; use std::{collections::hash_map::Entry, hash::Hash, hash::Hasher, iter};
use crate::MirPass;
use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::fx::FxHashMap;
use rustc_middle::mir::visit::MutVisitor; use rustc_middle::mir::visit::MutVisitor;
use rustc_middle::mir::*; use rustc_middle::mir::*;

View file

@ -1,4 +1,3 @@
use crate::MirPass;
use rustc_index::IndexVec; use rustc_index::IndexVec;
use rustc_middle::mir::patch::MirPatch; use rustc_middle::mir::patch::MirPatch;
use rustc_middle::mir::visit::NonUseContext::VarDebugInfo; use rustc_middle::mir::visit::NonUseContext::VarDebugInfo;

View file

@ -2,7 +2,6 @@
//! //!
//! Box is not actually a pointer so it is incorrect to dereference it directly. //! Box is not actually a pointer so it is incorrect to dereference it directly.
use crate::MirPass;
use rustc_hir::def_id::DefId; use rustc_hir::def_id::DefId;
use rustc_index::Idx; use rustc_index::Idx;
use rustc_middle::mir::patch::MirPatch; use rustc_middle::mir::patch::MirPatch;

View file

@ -1,5 +1,4 @@
use crate::deref_separator::deref_finder; use crate::deref_separator::deref_finder;
use crate::MirPass;
use rustc_index::bit_set::BitSet; use rustc_index::bit_set::BitSet;
use rustc_index::IndexVec; use rustc_index::IndexVec;
use rustc_middle::mir::patch::MirPatch; use rustc_middle::mir::patch::MirPatch;

View file

@ -103,7 +103,6 @@ use std::borrow::Cow;
use crate::dataflow_const_prop::DummyMachine; use crate::dataflow_const_prop::DummyMachine;
use crate::ssa::{AssignedValue, SsaLocals}; use crate::ssa::{AssignedValue, SsaLocals};
use crate::MirPass;
use either::Either; use either::Either;
pub struct GVN; pub struct GVN;

View file

@ -17,7 +17,6 @@ use rustc_target::spec::abi::Abi;
use crate::cost_checker::CostChecker; use crate::cost_checker::CostChecker;
use crate::simplify::{remove_dead_blocks, CfgSimplifier}; use crate::simplify::{remove_dead_blocks, CfgSimplifier};
use crate::util; use crate::util;
use crate::MirPass;
use std::iter; use std::iter;
use std::ops::{Range, RangeFrom}; use std::ops::{Range, RangeFrom};

View file

@ -1,8 +1,6 @@
//! Performs various peephole optimizations. //! Performs various peephole optimizations.
use crate::simplify::simplify_duplicate_switch_targets; use crate::simplify::simplify_duplicate_switch_targets;
use crate::MirPass;
use rustc_hir::Mutability;
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty::layout::ValidityRequirement; use rustc_middle::ty::layout::ValidityRequirement;
use rustc_middle::ty::{self, GenericArgsRef, ParamEnv, Ty, TyCtxt}; use rustc_middle::ty::{self, GenericArgsRef, ParamEnv, Ty, TyCtxt};

View file

@ -45,7 +45,6 @@ use rustc_middle::ty::{self, ScalarInt, Ty, TyCtxt};
use rustc_mir_dataflow::value_analysis::{Map, PlaceIndex, State, TrackElem}; use rustc_mir_dataflow::value_analysis::{Map, PlaceIndex, State, TrackElem};
use crate::cost_checker::CostChecker; use crate::cost_checker::CostChecker;
use crate::MirPass;
pub struct JumpThreading; pub struct JumpThreading;

View file

@ -1,5 +1,4 @@
use crate::rustc_middle::ty::util::IntTypeExt; use crate::rustc_middle::ty::util::IntTypeExt;
use crate::MirPass;
use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::fx::FxHashMap;
use rustc_middle::mir::interpret::AllocId; use rustc_middle::mir::interpret::AllocId;
use rustc_middle::mir::*; use rustc_middle::mir::*;

View file

@ -1,6 +1,5 @@
//! Lowers intrinsic calls //! Lowers intrinsic calls
use crate::MirPass;
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty::{self, TyCtxt}; use rustc_middle::ty::{self, TyCtxt};
use rustc_span::symbol::sym; use rustc_span::symbol::sym;

View file

@ -1,7 +1,6 @@
//! This pass lowers calls to core::slice::len to just Len op. //! This pass lowers calls to core::slice::len to just Len op.
//! It should run before inlining! //! It should run before inlining!
use crate::MirPass;
use rustc_hir::def_id::DefId; use rustc_hir::def_id::DefId;
use rustc_index::IndexSlice; use rustc_index::IndexSlice;
use rustc_middle::mir::*; use rustc_middle::mir::*;

View file

@ -1,4 +1,3 @@
use crate::MirPass;
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty::TyCtxt; use rustc_middle::ty::TyCtxt;
use std::iter; use std::iter;

View file

@ -1,7 +1,7 @@
//! This pass removes jumps to basic blocks containing only a return, and replaces them with a //! This pass removes jumps to basic blocks containing only a return, and replaces them with a
//! return instead. //! return instead.
use crate::{simplify, MirPass}; use crate::simplify;
use rustc_index::bit_set::BitSet; use rustc_index::bit_set::BitSet;
use rustc_middle::mir::*; use rustc_middle::mir::*;
use rustc_middle::ty::TyCtxt; use rustc_middle::ty::TyCtxt;

View file

@ -2,7 +2,6 @@
//! is taken using `.len()` method. Handy to preserve information in MIR for const prop //! is taken using `.len()` method. Handy to preserve information in MIR for const prop
use crate::ssa::SsaLocals; use crate::ssa::SsaLocals;
use crate::MirPass;
use rustc_index::IndexVec; use rustc_index::IndexVec;
use rustc_middle::mir::visit::*; use rustc_middle::mir::visit::*;
use rustc_middle::mir::*; use rustc_middle::mir::*;

Some files were not shown because too many files have changed in this diff Show more