summaryrefslogtreecommitdiffstats
path: root/src/test/ui/polymorphization/drop_shims/simple.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/polymorphization/drop_shims/simple.rs')
-rw-r--r--src/test/ui/polymorphization/drop_shims/simple.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/ui/polymorphization/drop_shims/simple.rs b/src/test/ui/polymorphization/drop_shims/simple.rs
new file mode 100644
index 000000000..2695dc6d4
--- /dev/null
+++ b/src/test/ui/polymorphization/drop_shims/simple.rs
@@ -0,0 +1,22 @@
+// check-pass
+// compile-flags:-Zpolymorphize=on
+
+pub struct OnDrop<F: Fn()>(pub F);
+
+impl<F: Fn()> Drop for OnDrop<F> {
+ fn drop(&mut self) { }
+}
+
+fn foo<R, S: FnOnce()>(
+ _: R,
+ _: S,
+) {
+ let bar = || {
+ let _ = OnDrop(|| ());
+ };
+ let _ = bar();
+}
+
+fn main() {
+ foo(3u32, || {});
+}