about summary refs log tree commit diff
path: root/tests/ui/codegen/llvm-miscompile-metadata-invalidation-36023.rs
diff options
context:
space:
mode:
authorOneirical <manchot@videotron.ca>2025-07-13 16:06:48 -0400
committerOneirical <manchot@videotron.ca>2025-08-02 15:29:16 -0400
commit807d3406c215a9b3078e69ffc1a956b77f685ae9 (patch)
tree0ea468f95186be38f080333230040dc6b28e00e1 /tests/ui/codegen/llvm-miscompile-metadata-invalidation-36023.rs
parent4b596bbd847672da87763b76171687d3544863c2 (diff)
downloadrust-807d3406c215a9b3078e69ffc1a956b77f685ae9.tar.gz
rust-807d3406c215a9b3078e69ffc1a956b77f685ae9.zip
Rehome tests/ui/issues/ tests [2/?]
Diffstat (limited to 'tests/ui/codegen/llvm-miscompile-metadata-invalidation-36023.rs')
-rw-r--r--tests/ui/codegen/llvm-miscompile-metadata-invalidation-36023.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/codegen/llvm-miscompile-metadata-invalidation-36023.rs b/tests/ui/codegen/llvm-miscompile-metadata-invalidation-36023.rs
new file mode 100644
index 00000000000..efa31a51881
--- /dev/null
+++ b/tests/ui/codegen/llvm-miscompile-metadata-invalidation-36023.rs
@@ -0,0 +1,25 @@
+// https://github.com/rust-lang/rust/issues/36023
+//@ run-pass
+#![allow(unused_variables)]
+use std::ops::Deref;
+
+fn main() {
+    if env_var("FOOBAR").as_ref().map(Deref::deref).ok() == Some("yes") {
+        panic!()
+    }
+
+    let env_home: Result<String, ()> = Ok("foo-bar-baz".to_string());
+    let env_home = env_home.as_ref().map(Deref::deref).ok();
+
+    if env_home == Some("") { panic!() }
+}
+
+#[inline(never)]
+fn env_var(s: &str) -> Result<String, VarError> {
+    Err(VarError::NotPresent)
+}
+
+pub enum VarError {
+    NotPresent,
+    NotUnicode(String),
+}