Struct rustc::ty::TypeContents
[−]
[src]
pub struct TypeContents {
pub bits: u64,
}rustc_private)Type contents is how the type checker reasons about kinds. They track what kinds of things are found within a type. You can think of them as kind of an "anti-kind". They track the kinds of values and thinks that are contained in types. Having a larger contents for a type tends to rule that type out from various kinds. For example, a type that contains a reference is not sendable.
The reason we compute type contents and not kinds is that it is easier for me (nmatsakis) to think about what is contained within a type than to think about what is not contained within a type.
Fields
bits: u64
rustc_private)Methods
impl TypeContents[src]
fn when(&self, cond: bool) -> TypeContents
rustc_private)fn intersects(&self, tc: TypeContents) -> bool
rustc_private)fn interior_param(&self) -> bool
rustc_private)fn interior_unsafe(&self) -> bool
rustc_private)fn needs_drop(&self, _: TyCtxt) -> bool
rustc_private)fn union<I, T, F>(v: I, f: F) -> TypeContents where I: IntoIterator<Item=T>, F: FnMut(T) -> TypeContents
rustc_private)Trait Implementations
impl Clone for TypeContents[src]
fn clone(&self) -> TypeContents
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more
impl Copy for TypeContents[src]
impl BitOr for TypeContents[src]
type Output = TypeContents
The resulting type after applying the | operator
fn bitor(self, other: TypeContents) -> TypeContents
The method for the | operator
impl BitAnd for TypeContents[src]
type Output = TypeContents
The resulting type after applying the & operator
fn bitand(self, other: TypeContents) -> TypeContents
The method for the & operator
impl Sub for TypeContents[src]
type Output = TypeContents
The resulting type after applying the - operator
fn sub(self, other: TypeContents) -> TypeContents
The method for the - operator