Enum rustc_mir_transform::simplify_try::StatementEquality [−][src]
enum StatementEquality {
TrivialEqual,
ConsideredEqual(BasicBlock),
NotEqual,
}
Variants
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
Tuple Fields of ConsideredEqual
0: BasicBlock
The two statements are not equal
Implementations
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
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
Mutably borrows from an owned value. Read more
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