//@ run-pass | |
// This test used to be miscompiled by LLVM 17. | |
#![allow(dead_code)] | |
enum Pass { | |
Opaque { | |
clear_color: [f32; 4], | |
with_depth_pre_pass: bool, | |
}, | |
Transparent, | |
} | |
enum LoadOp { | |
Clear, | |
Load, | |
} | |
#[inline(never)] | |
fn check(x: Option<LoadOp>) { | |
assert!(x.is_none()); | |
} | |
#[inline(never)] | |
fn test(mode: Pass) { | |
check(match mode { | |
Pass::Opaque { | |
with_depth_pre_pass: true, | |
.. | |
} | |
| Pass::Transparent => None, | |
_ => Some(LoadOp::Clear), | |
}); | |
} | |
fn main() { | |
println!("Hello, world!"); | |
test(Pass::Transparent); | |
} |