Skip to main content

Module generalize

Module generalize 

Source

Re-exportsΒ§

use std::mem; πŸ”’
use rustc_data_structures::sso::SsoHashMap; πŸ”’
use rustc_hir::def_id::DefId; πŸ”’
use rustc_middle::ty::error::TypeError; πŸ”’
use rustc_middle::ty; πŸ”’
use rustc_middle::ty::InferConst; πŸ”’
use rustc_middle::ty::Term; πŸ”’
use rustc_middle::ty::Ty; πŸ”’
use rustc_middle::ty::TyCtxt; πŸ”’
use rustc_middle::ty::TypeFlags; πŸ”’
use rustc_middle::ty::TypeVisitableExt; πŸ”’
use rustc_span::Span; πŸ”’
use rustc_span::bug; πŸ”’
use tracing::debug; πŸ”’
use tracing::instrument; πŸ”’
use tracing::instrument; πŸ”’
use tracing::warn; πŸ”’
use super::PredicateEmittingRelation; πŸ”’
use super::Relate; πŸ”’
use super::RelateResult; πŸ”’
use super::TypeRelation; πŸ”’
use crate::infer::type_variable::TypeVariableValue; πŸ”’
use crate::infer::unify_key::ConstVariableValue; πŸ”’
use crate::infer::InferCtxt; πŸ”’
use crate::infer::RegionVariableOrigin; πŸ”’
use crate::infer::relate; πŸ”’

StructsΒ§

Generalization πŸ”’
Result from a generalization operation. This includes not only the generalized type, but also a bool flag indicating whether further WF checks are needed.
Generalizer πŸ”’
The β€œgeneralizer” is used when handling inference variables.

EnumsΒ§

TermVid πŸ”’

ConstantsΒ§

NEEDS_GENERALIZATION πŸ”’
Do we need to generalize this type?