[−][src]Module rustc_mir::transform::simplify_try

The general point of the optimizations provided here is to simplify something like:

match x {
    Ok(x) => Ok(x),
    Err(x) => Err(x)
}

into just x.

Structs

ArmIdentityInfo
LocalUseCounter
SimplifyArmIdentity

Simplifies arms of form Variant(x) => Variant(x) to just a move.

SimplifyBranchSame

Simplifies SwitchInt(_) -> [targets], where all the targets have the same form, into goto -> target_first.

SimplifyBranchSameOptimization
SimplifyBranchSameOptimizationFinder
SwitchTargetAndValue
VarField

Enums

StatementEquality

Functions

get_arm_identity_info
match_get_variant_field

Match on:

match_set_discr

Match on:

match_set_variant_field

Match on:

match_variant_field_place

Match on ((_LOCAL as Variant).FIELD: TY).

optimization_applies