Skip to main content

Module relate

Module relate 

Source

Re-exportsΒ§

use std::iter; πŸ”’
use derive_where::derive_where; πŸ”’
use rustc_ast_ir::Mutability; πŸ”’
use tracing::instrument; πŸ”’
use tracing::instrument; πŸ”’
use tracing::trace; πŸ”’
use crate::error::ExpectedFound; πŸ”’
use crate::error::TypeError; πŸ”’
use crate::fold::TypeFoldable; πŸ”’
use crate as ty; πŸ”’
use crate::Const; πŸ”’
use crate::Interner; πŸ”’
use crate::Region; πŸ”’
use crate::inherent::*; πŸ”’

ModulesΒ§

combine
solver_relating

EnumsΒ§

VarianceDiagInfo
Extra information about why we ended up with a particular variance. This is only used to add more information to error messages, and has no effect on soundness. While choosing the β€˜wrong’ VarianceDiagInfo may lead to confusing notes in error messages, it will never cause a miscompilation or unsoundness.

TraitsΒ§

Relate
TypeRelation

FunctionsΒ§

relate_args_invariantly
relate_args_with_variances
structurally_relate_consts
Relates a and b structurally, calling the relation for all nested values. Any semantic equality, e.g. of alias consts, and inference variables have to be handled by the caller.
structurally_relate_tys
Relates a and b structurally, calling the relation for all nested values. Any semantic equality, e.g. of projections, and inference variables have to be handled by the caller.

Type AliasesΒ§

RelateResult