21 lines
451 B
Rust
21 lines
451 B
Rust
// This used to mis-compile because the mir-opt `SimplifyArmIdentity`
|
|
// did not check that the types matched up in the `Ok(r)` branch.
|
|
//
|
|
//@ run-pass
|
|
//@ compile-flags: -Zmir-opt-level=3
|
|
|
|
#[derive(Debug, PartialEq, Eq)]
|
|
enum SpecialsRes { Res(u64) }
|
|
|
|
fn e103() -> SpecialsRes {
|
|
if let Ok(r) = "1".parse() {
|
|
SpecialsRes::Res(r)
|
|
} else {
|
|
SpecialsRes::Res(42)
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
assert_eq!(e103(), SpecialsRes::Res(1));
|
|
}
|