Skip to main content

Module creader

Module creader 

Source
Expand description

Validates all used crates and extern libraries and loads their metadata

Re-exportsΒ§

use std::collections::BTreeMap; πŸ”’
use std::path::Path; πŸ”’
use std::str::FromStr; πŸ”’
use std::cmp; πŸ”’
use std::env; πŸ”’
use std::env; πŸ”’
use std::iter; πŸ”’
use rustc_ast::expand::allocator::ALLOC_ERROR_HANDLER; πŸ”’
use rustc_ast::expand::allocator::AllocatorKind; πŸ”’
use rustc_ast::expand::allocator::global_fn_name; πŸ”’
use rustc_ast as ast; πŸ”’
use rustc_crate_store::CrateDepKind; πŸ”’
use rustc_crate_store::CrateSource; πŸ”’
use rustc_crate_store::ExternCrate; πŸ”’
use rustc_crate_store::ExternCrateSource; πŸ”’
use rustc_data_structures::fx::FxHashSet; πŸ”’
use rustc_data_structures::owned_slice::OwnedSlice; πŸ”’
use rustc_data_structures::svh::Svh; πŸ”’
use rustc_data_structures::sync; πŸ”’
use rustc_data_structures::sync::FreezeReadGuard; πŸ”’
use rustc_data_structures::sync::FreezeWriteGuard; πŸ”’
use rustc_data_structures::unord::UnordMap; πŸ”’
use rustc_data_structures::unord::UnordSet; πŸ”’
use rustc_expand::base::SyntaxExtension; πŸ”’
use rustc_hir::def_id::CrateNum; πŸ”’
use rustc_hir::def_id::LOCAL_CRATE; πŸ”’
use rustc_hir::def_id::LocalDefId; πŸ”’
use rustc_hir::def_id::StableCrateId; πŸ”’
use rustc_hir::definitions::DefPathData; πŸ”’
use rustc_hir::definitions::Definitions; πŸ”’
use rustc_index::IndexVec; πŸ”’
use rustc_lint_defs as lint; πŸ”’
use rustc_lint_defs::builtin::PARTIAL_STACK_PROTECTOR; πŸ”’
use rustc_lint_defs::builtin::UNUSED_CRATE_DEPENDENCIES; πŸ”’
use rustc_middle::ty::data_structures::IndexSet; πŸ”’
use rustc_middle::ty::TyCtxt; πŸ”’
use rustc_middle::ty::TyCtxtFeed; πŸ”’
use rustc_proc_macro::bridge::client::Client as ProcMacroClient; πŸ”’ Experimental
use rustc_session::Session; πŸ”’
use rustc_session::config::mitigation_coverage::DeniedPartialMitigationKind; πŸ”’
use rustc_session::config::mitigation_coverage::DeniedPartialMitigationLevel; πŸ”’
use rustc_session::config::ExtendedTargetModifierInfo; πŸ”’
use rustc_session::config::ExternLocation; πŸ”’
use rustc_session::config::Externs; πŸ”’
use rustc_session::config::OptionsTargetModifiers; πŸ”’
use rustc_session::config::TargetModifier; πŸ”’
use rustc_session::output::validate_crate_name; πŸ”’
use rustc_session::search_paths::PathKind; πŸ”’
use rustc_span::def_id::DefId; πŸ”’
use rustc_span::edition::Edition; πŸ”’
use rustc_span::DUMMY_SP; πŸ”’
use rustc_span::Ident; πŸ”’
use rustc_span::Span; πŸ”’
use rustc_span::Symbol; πŸ”’
use rustc_span::bug; πŸ”’
use rustc_span::sym; πŸ”’
use rustc_structures::CrateType; πŸ”’
use rustc_target::spec::PanicStrategy; πŸ”’
use rustc_target::spec::Target; πŸ”’
use tracing::debug; πŸ”’
use tracing::info; πŸ”’
use crate::diagnostics; πŸ”’
use crate::locator::CrateError; πŸ”’
use crate::locator::CrateLocator; πŸ”’
use crate::locator::CratePaths; πŸ”’
use crate::locator::CrateRejections; πŸ”’
use crate::rmeta::CrateDep; πŸ”’
use crate::rmeta::CrateMetadata; πŸ”’
use crate::rmeta::CrateNumMap; πŸ”’
use crate::rmeta::CrateRoot; πŸ”’
use crate::rmeta::MetadataBlob; πŸ”’
use crate::rmeta::TargetModifiers; πŸ”’
use rustc_ast::*; πŸ”’

StructsΒ§

CStore
Library πŸ”’

EnumsΒ§

CrateOrigin πŸ”’
Reason that a crate is being sourced as a dependency.
LoadResult πŸ”’
LoadedMacro

TraitsΒ§

MetadataLoader
The backend’s way to give the crate store access to the metadata in a library. Note that it returns the raw metadata bytes stored in the library file, whether it is compressed, uncompressed, some weird mix, etc. rmeta files are backend independent and not handled here.

FunctionsΒ§

fn_spans πŸ”’

Type AliasesΒ§

MetadataLoaderDyn