Re-exportsยง
use std::mem;๐use std::ops::ControlFlow;๐use itertools::Itertools as _;๐use rustc_ast::visit;๐use rustc_ast::visit::Visitor;๐use rustc_ast as ast;๐use rustc_ast::CRATE_NODE_ID;๐use rustc_ast::Crate;๐use rustc_ast::DUMMY_NODE_ID;๐use rustc_ast::ItemKind;๐use rustc_ast::ModKind;๐use rustc_ast::NodeId;๐use rustc_ast::Path;๐use rustc_ast::join_path_idents;๐use rustc_ast_pretty::pprust;๐use rustc_attr_ir::diagnostic::CustomDiagnostic;๐use rustc_attr_ir::diagnostic::Directive;๐use rustc_attr_ir::diagnostic::FormatArgs;๐use rustc_attr_ir::Attribute;๐use rustc_attr_ir::AttributeKind;๐use rustc_attr_ir::CfgEntry;๐use rustc_attr_ir::Stability;๐use rustc_attr_ir::StabilityLevel;๐use rustc_attr_ir::StrippedCfgItem;๐use rustc_attr_ir::find_attr;๐use rustc_attr_parsing::AttributeParser;๐use rustc_data_structures::fx::FxHashMap;๐use rustc_data_structures::fx::FxHashSet;๐use rustc_data_structures::unord::UnordMap;๐use rustc_data_structures::unord::UnordSet;๐use rustc_errors::Applicability;๐use rustc_errors::Diag;๐use rustc_errors::DiagCtxtHandle;๐use rustc_errors::Diagnostic;๐use rustc_errors::ErrorGuaranteed;๐use rustc_errors::MultiSpan;๐use rustc_errors::SuggestionStyle;๐use rustc_errors::pluralize;๐use rustc_errors::struct_span_code_err;๐use rustc_feature::BUILTIN_ATTRIBUTES;๐use rustc_hir::PrimTy;๐use rustc_hir::def::Namespace;๐use rustc_hir::def::CtorKind;๐use rustc_hir::def::CtorOf;๐use rustc_hir::def::DefKind;๐use rustc_hir::def::MacroKinds;๐use rustc_hir::def::NonMacroAttrKind;๐use rustc_hir::def::PerNS;๐use rustc_hir::def_id::CRATE_DEF_ID;๐use rustc_hir::def_id::DefId;๐use rustc_lint_defs::builtin::ABSOLUTE_PATHS_NOT_STARTING_WITH_CRATE;๐use rustc_lint_defs::builtin::AMBIGUOUS_GLOB_IMPORTS;๐use rustc_lint_defs::builtin::AMBIGUOUS_IMPORT_VISIBILITIES;๐use rustc_lint_defs::builtin::AMBIGUOUS_PANIC_IMPORTS;๐use rustc_lint_defs::builtin::MACRO_EXPANDED_MACRO_EXPORTS_ACCESSED_BY_ABSOLUTE_PATHS;๐use rustc_middle::ty::TyCtxt;๐use rustc_middle::ty::Visibility;๐use rustc_session::Session;๐use rustc_session::utils::was_invoked_from_cargo;๐use rustc_span::def_id::ModId;๐use rustc_span::edit_distance::find_best_match_for_name;๐use rustc_span::edition::Edition;๐use rustc_span::hygiene::MacroKind;๐use rustc_span::source_map::SourceMap;๐use rustc_span::BytePos;๐use rustc_span::Ident;๐use rustc_span::RemapPathScopeComponents;๐use rustc_span::Span;๐use rustc_span::Spanned;๐use rustc_span::Symbol;๐use rustc_span::SyntaxContext;๐use rustc_span::bug;๐use rustc_span::kw;๐use rustc_span::sym;๐use thin_vec::ThinVec;๐use thin_vec::thin_vec;๐use tracing::debug;๐use tracing::instrument;๐use tracing::instrument;๐use crate::diagnostics;๐use crate::diagnostics::AddedMacroUse;๐use crate::diagnostics::ChangeImportBinding;๐use crate::diagnostics::ChangeImportBindingSuggestion;๐use crate::diagnostics::ConsiderAddingADerive;๐use crate::diagnostics::ExplicitUnsafeTraits;๐use crate::diagnostics::MacroDefinedLater;๐use crate::diagnostics::MacroRulesNot;๐use crate::diagnostics::MacroSuggMovePosition;๐use crate::diagnostics::MaybeMissingMacroRulesName;๐use crate::hygiene::Macros20NormalizedSyntaxContext;๐use crate::imports::Import;๐use crate::imports::ImportKind;๐use crate::imports::UnresolvedImportError;๐use crate::imports::import_path_to_string;๐use crate::late::ConstantRequiresType;๐use crate::late::DiagMetadata;๐use crate::late::PatternSource;๐use crate::late::Rib;๐use crate::AmbiguityError;๐use crate::AmbiguityKind;๐use crate::AmbiguityWarning;๐use crate::BindingError;๐use crate::BindingKey;๐use crate::Decl;๐use crate::DeclKind;๐use crate::DelayedVisResolutionError;๐use crate::Finalize;๐use crate::ForwardGenericParamBanReason;๐use crate::HasGenericParams;๐use crate::IdentKey;๐use crate::LateDecl;๐use crate::MacroRulesScope;๐use crate::Module;๐use crate::ModuleKind;๐use crate::ModuleOrUniformRoot;๐use crate::ParentScope;๐use crate::PathResult;๐use crate::PrivacyError;๐use crate::Res;๐use crate::ResolutionError;๐use crate::Resolver;๐use crate::Scope;๐use crate::ScopeSet;๐use crate::Segment;๐use crate::UseError;๐use crate::Used;๐use crate::VisResolutionError;๐use crate::path_names_to_string;๐use rustc_errors::codes::*;๐use rustc_hir::def::Namespace::*;๐
Structsยง
- Binding
Visitor ๐ - Import
Suggestion ๐ - A free importable items suggested in case of resolution failure.
- OnUnknown
Data ๐ - Struct
Ctor ๐ - Typo
Suggestion ๐ - UsePlacement
Finder ๐
Enumsยง
- Diag
Mode ๐ - Whether a binding is part of a pattern or a use statement. Used for diagnostics.
- Found
Use ๐ - Whether an existing place with an
useitem was found. - Instead ๐
- A suggestion has already been emitted, change the wording slightly to clarify that both are independent options.
- Suggestion
Target ๐
Functionsยง
- extend_
span_ ๐to_ previous_ binding - Given a
binding_span, return the span through to the comma or opening brace of the previous binding. - find_
span_ ๐immediately_ after_ crate_ name - Given a
use_spanof a binding within a use statement, returns the highlighted span and if it is a nested use tree. - find_
span_ ๐of_ binding_ until_ next_ binding - Given a
binding_spanof a binding within a use statement: - import_
candidates ๐ - is_
span_ ๐suitable_ for_ use_ injection - reduce_
impl_ ๐span_ to_ impl_ keyword - Adjust the impl span so that just the
implkeyword is taken by removing everything after<("impl<T> Iterator for A<T> {}" -> "impl") and everything after the first whitespace ("impl Iterator for A" -> "impl"). - search_
for_ ๐any_ use_ in_ items - show_
candidates ๐ - When an entity with a given name is not available in scope, we search for
entities with that name in all crates. This method allows outputting the
results of this search in a programmer-friendly way. If any entities are
found and suggested, returns
true, otherwise returnsfalse.
Type Aliasesยง
- Label
Suggestion ๐ - Potential candidate for an undeclared or out-of-scope label - contains the ident of a similarly named label and whether or not it is reachable.
- Path
String ๐ - Suggestion ๐
- A vector of spans and replacements, a message and applicability.