enum StatementEquality {
TrivialEqual,
ConsideredEqual(BasicBlock),
NotEqual,
}
Variants
TrivialEqual
The two statements are trivially equal; same kind
ConsideredEqual(BasicBlock)
The two statements are considered equal, but may be of different kinds. The BasicBlock field is the basic block to jump to when performing the branch-same optimization.
For example, _0 = _1
and discriminant(_0) = discriminant(0)
are considered equal if 0 is a fieldless variant of an enum. But we don’t want to jump to the basic block with the SetDiscriminant, as that is not legal if _1 is not the 0 variant index
NotEqual
The two statements are not equal
Implementations
sourceimpl StatementEquality
impl StatementEquality
fn combine(&self, other: &StatementEquality) -> StatementEquality
Trait Implementations
sourceimpl Clone for StatementEquality
impl Clone for StatementEquality
sourcefn clone(&self) -> StatementEquality
fn clone(&self) -> StatementEquality
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl PartialEq<StatementEquality> for StatementEquality
impl PartialEq<StatementEquality> for StatementEquality
sourcefn eq(&self, other: &StatementEquality) -> bool
fn eq(&self, other: &StatementEquality) -> bool
impl Copy for StatementEquality
impl Eq for StatementEquality
impl StructuralEq for StatementEquality
impl StructuralPartialEq for StatementEquality
Auto Trait Implementations
impl RefUnwindSafe for StatementEquality
impl Send for StatementEquality
impl Sync for StatementEquality
impl Unpin for StatementEquality
impl UnwindSafe for StatementEquality
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 4 bytes
Size for each variant:
TrivialEqual
: 0 bytesConsideredEqual
: 4 bytesNotEqual
: 0 bytes