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