Skip to main content

Module outlives

Module outlives 

Source
Expand description

The outlives relation T: 'a or 'a: 'b. This code frequently refers to rules defined in RFC 1214 (OutlivesFooBar), so see that RFC for reference.

Re-exportsยง

use derive_where::derive_where; ๐Ÿ”’
use smallvec::SmallVec; ๐Ÿ”’
use smallvec::smallvec; ๐Ÿ”’
use crate::data_structures::SsoHashSet; ๐Ÿ”’
use crate::visit::TypeSuperVisitable; ๐Ÿ”’
use crate::visit::TypeVisitable; ๐Ÿ”’
use crate::visit::TypeVisitableExt as _; ๐Ÿ”’
use crate::visit::TypeVisitor; ๐Ÿ”’
use crate as ty; ๐Ÿ”’
use crate::AliasTy; ๐Ÿ”’
use crate::Interner; ๐Ÿ”’
use crate::OutlivesClause; ๐Ÿ”’
use crate::Region; ๐Ÿ”’
use crate::Unnormalized; ๐Ÿ”’
use crate::inherent::*; ๐Ÿ”’

Structsยง

OutlivesCollector ๐Ÿ”’

Enumsยง

Component

Functionsยง

compute_alias_components_recursive
Collect Components for all the args of alias_ty.
declared_bounds_from_definition
Given a projection like <T as Foo<'x>>::Bar, returns any bounds declared in the trait definition. For example, if the trait were
push_outlives_components
Push onto out all the things that must outlive 'a for the condition ty0: 'a to hold. Note that ty0 must be a fully resolved type.