about summary refs log tree commit diff
path: root/tests/codegen/ergonomic-clones/closure.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen/ergonomic-clones/closure.rs')
-rw-r--r--tests/codegen/ergonomic-clones/closure.rs55
1 files changed, 0 insertions, 55 deletions
diff --git a/tests/codegen/ergonomic-clones/closure.rs b/tests/codegen/ergonomic-clones/closure.rs
deleted file mode 100644
index b6fc8172641..00000000000
--- a/tests/codegen/ergonomic-clones/closure.rs
+++ /dev/null
@@ -1,55 +0,0 @@
-//@ compile-flags: -C no-prepopulate-passes -Copt-level=0 -Zmir-opt-level=0
-
-#![crate_type = "lib"]
-
-#![feature(ergonomic_clones)]
-#![allow(incomplete_features)]
-
-use std::clone::UseCloned;
-
-pub fn ergonomic_clone_closure_move() -> String {
-    let s = String::from("hi");
-
-    // CHECK-NOT: ; call core::clone::impls::<impl core::clone::Clone for String>::clone
-    let cl = use || s;
-    cl()
-}
-
-#[derive(Clone)]
-struct Foo;
-
-impl UseCloned for Foo {}
-
-pub fn ergonomic_clone_closure_use_cloned() -> Foo {
-    let f = Foo;
-
-    // CHECK: ; call <closure::Foo as core::clone::Clone>::clone
-    let f1 = use || f;
-
-    // CHECK: ; call <closure::Foo as core::clone::Clone>::clone
-    let f2 = use || f;
-
-    f
-}
-
-pub fn ergonomic_clone_closure_copy() -> i32 {
-    let i = 1;
-
-    // CHECK-NOT: ; call core::clone::impls::<impl core::clone::Clone for i32>::clone
-    let i1 = use || i;
-
-    // CHECK-NOT: ; call core::clone::impls::<impl core::clone::Clone for i32>::clone
-    let i2 = use || i;
-
-    i
-}
-
-pub fn ergonomic_clone_closure_use_cloned_generics<T: UseCloned>(f: T) -> T {
-    // CHECK-NOT: ; call core::clone::impls::<impl core::clone::Clone for i32>::clone
-    let f1 = use || f;
-
-    // CHECK-NOT: ; call core::clone::impls::<impl core::clone::Clone for i32>::clone
-    let f2 = use || f;
-
-    f
-}