Skip to main content

Module encoder

Module encoder 

Source

Re-exportsΒ§

use std::borrow::Borrow; πŸ”’
use std::cell::RefCell; πŸ”’
use std::collections::hash_map::Entry; πŸ”’
use std::fs::File; πŸ”’
use std::io::Read; πŸ”’
use std::io::Seek; πŸ”’
use std::io::SeekFrom; πŸ”’
use std::io::Write; πŸ”’
use std::ops::Deref; πŸ”’
use std::path::Path; πŸ”’
use std::path::PathBuf; πŸ”’
use std::rc::Rc; πŸ”’
use std::sync::Arc; πŸ”’
use std::sync::Mutex; πŸ”’
use rustc_attr_ir::AttributeKind; πŸ”’
use rustc_attr_ir::EncodeCrossCrate; πŸ”’
use rustc_attr_ir::find_attr; πŸ”’
use rustc_data_structures::fingerprint::Fingerprint; πŸ”’
use rustc_data_structures::fx::FxIndexMap; πŸ”’
use rustc_data_structures::fx::FxIndexSet; πŸ”’
use rustc_data_structures::memmap::Mmap; πŸ”’
use rustc_data_structures::memmap::MmapMut; πŸ”’
use rustc_data_structures::owned_slice::slice_owned; πŸ”’
use rustc_data_structures::stable_hash::StableHash; πŸ”’
use rustc_data_structures::stable_hash::StableHasher; πŸ”’
use rustc_data_structures::sync::par_for_each_in; πŸ”’
use rustc_data_structures::sync::par_join; πŸ”’
use rustc_data_structures::temp_dir::MaybeTempDir; πŸ”’
use rustc_data_structures::thousands::usize_with_underscores; πŸ”’
use rustc_hir as hir; πŸ”’
use rustc_hir::def_id::CRATE_DEF_ID; πŸ”’
use rustc_hir::def_id::LOCAL_CRATE; πŸ”’
use rustc_hir::def_id::LocalDefId; πŸ”’
use rustc_hir::def_id::LocalDefIdSet; πŸ”’
use rustc_hir::definitions::DefPathData; πŸ”’
use rustc_hir_pretty::id_to_string; πŸ”’
use rustc_index::IndexVec; πŸ”’
use rustc_middle::dep_graph::WorkProduct; πŸ”’
use rustc_middle::dep_graph::WorkProductId; πŸ”’
use rustc_middle::hir::map::compute_hir_hash; πŸ”’
use rustc_middle::middle::dependency_format::Linkage; πŸ”’
use rustc_middle::mir::interpret; πŸ”’
use rustc_middle::query::Providers; πŸ”’
use rustc_middle::traits::specialization_graph; πŸ”’
use rustc_middle::ty::AssocContainer; πŸ”’
use rustc_middle::ty::codec::TyEncoder; πŸ”’
use rustc_middle::ty::fast_reject; πŸ”’
use rustc_middle::ty::fast_reject::TreatParams; πŸ”’
use rustc_serialize::opaque::FileEncoder; πŸ”’
use rustc_serialize::Decodable; πŸ”’
use rustc_serialize::Decoder; πŸ”’
use rustc_serialize::Encodable; πŸ”’
use rustc_serialize::Encoder; πŸ”’
use rustc_session::config::mitigation_coverage::DeniedPartialMitigation; πŸ”’
use rustc_session::config::OptLevel; πŸ”’
use rustc_session::config::OutputType; πŸ”’
use rustc_session::config::TargetModifier; πŸ”’
use rustc_span::def_id::CRATE_MOD_ID; πŸ”’
use rustc_span::hygiene::HygieneEncodeContext; πŸ”’
use rustc_span::hygiene::HygieneRemapper; πŸ”’
use rustc_span::hygiene::HygieneRemappingResults; πŸ”’
use rustc_span::hygiene::LocalExpnIdRemapper; πŸ”’
use rustc_span::hygiene::SyntaxContextRemapper; πŸ”’
use rustc_span::ByteSymbol; πŸ”’
use rustc_span::ExternalSource; πŸ”’
use rustc_span::FileName; πŸ”’
use rustc_span::LocalExpnId; πŸ”’
use rustc_span::SourceFile; πŸ”’
use rustc_span::SpanData; πŸ”’
use rustc_span::SpanEncoder; πŸ”’
use rustc_span::StableSourceFileId; πŸ”’
use rustc_span::Symbol; πŸ”’
use rustc_span::SyntaxContext; πŸ”’
use rustc_span::bug; πŸ”’
use rustc_span::span_bug; πŸ”’
use rustc_structures::CrateType; πŸ”’
use tracing::debug; πŸ”’
use tracing::instrument; πŸ”’
use tracing::instrument; πŸ”’
use tracing::trace; πŸ”’
use twox_hash::XxHash3_128; πŸ”’
use crate::diagnostics::FailCreateFileEncoder; πŸ”’
use crate::diagnostics::FailWriteFile; πŸ”’
use crate::eii::EiiMapEncodedKeyValue; πŸ”’
use crate::rmeta::remapped_def_id::RemappedRawDefId; πŸ”’
use crate::rmeta::*; πŸ”’

MacrosΒ§

empty_proc_macro πŸ”’
If the current crate is a proc-macro, returns early with LazyArray::default(). This is useful for skipping the encoding of things that aren’t needed for proc-macro crates.
encoder_methods πŸ”’

StructsΒ§

AnalyzeAttrState πŸ”’
EncodeContext πŸ”’
EncodedMetadata

FunctionsΒ§

analyze_attr πŸ”’
Returns whether an attribute needs to be recorded in metadata, that is, if it’s usable and useful in downstream crates. Local-only attributes are an obvious example, but some rustdoc-specific attributes can equally be of use while documenting the current crate only.
bytes_needed πŸ”’
encode_crate_hash πŸ”’
encode_metadata
encode_root_position πŸ”’
encode_unhashed_position πŸ”’
prefetch_mir πŸ”’
Used to prefetch queries which will be needed later by metadata encoding. Only a subset of the queries are actually prefetched to keep this code smaller.
provide πŸ”’
rendered_const
Build a textual representation of an unevaluated constant expression.
should_encode_attrs πŸ”’
should_encode_const πŸ”’
should_encode_constness πŸ”’
should_encode_expn_that_defined πŸ”’
should_encode_fn_sig πŸ”’
should_encode_generics πŸ”’
should_encode_mir πŸ”’
Whether we should encode MIR. Return a pair, resp. for CTFE and for LLVM.
should_encode_span πŸ”’
should_encode_stability πŸ”’
should_encode_type πŸ”’
should_encode_variances πŸ”’
should_encode_visibility πŸ”’
with_encode_metadata_header πŸ”’