summaryrefslogtreecommitdiffstats
path: root/src/test/mir-opt/inline/issue-78442.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/mir-opt/inline/issue-78442.rs')
-rw-r--r--src/test/mir-opt/inline/issue-78442.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/mir-opt/inline/issue-78442.rs b/src/test/mir-opt/inline/issue-78442.rs
new file mode 100644
index 000000000..aa8ede2df
--- /dev/null
+++ b/src/test/mir-opt/inline/issue-78442.rs
@@ -0,0 +1,20 @@
+// compile-flags: -Z mir-opt-level=3 -Z inline-mir
+// ignore-wasm32-bare compiled with panic=abort by default
+#![crate_type = "lib"]
+
+// EMIT_MIR issue_78442.bar.RevealAll.diff
+// EMIT_MIR issue_78442.bar.Inline.diff
+pub fn bar<P>(
+ // Error won't happen if "bar" is not generic
+ _baz: P,
+) {
+ hide_foo()();
+}
+
+fn hide_foo() -> impl Fn() {
+ // Error won't happen if "iterate" hasn't impl Trait or has generics
+ foo
+}
+
+fn foo() { // Error won't happen if "foo" isn't used in "iterate" or has generics
+}