about summary refs log tree commit diff
path: root/src/test/ui/consts/const_constructor/const-construct-call.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/consts/const_constructor/const-construct-call.rs')
-rw-r--r--src/test/ui/consts/const_constructor/const-construct-call.rs110
1 files changed, 0 insertions, 110 deletions
diff --git a/src/test/ui/consts/const_constructor/const-construct-call.rs b/src/test/ui/consts/const_constructor/const-construct-call.rs
deleted file mode 100644
index cb735d7b305..00000000000
--- a/src/test/ui/consts/const_constructor/const-construct-call.rs
+++ /dev/null
@@ -1,110 +0,0 @@
-// Test that constructors are considered to be const fns
-
-// run-pass
-
-// Ctor(..) is transformed to Ctor { 0: ... } in THIR lowering, so directly
-// calling constructors doesn't require them to be const.
-
-type ExternalType = std::panic::AssertUnwindSafe<(Option<i32>, Result<i32, bool>)>;
-
-const fn call_external_constructors_in_local_vars() -> ExternalType {
-    let f = Some;
-    let g = Err;
-    let h = std::panic::AssertUnwindSafe;
-    let x = f(5);
-    let y = g(false);
-    let z = h((x, y));
-    z
-}
-
-const CALL_EXTERNAL_CONSTRUCTORS_IN_LOCAL_VARS: ExternalType = {
-    let f = Some;
-    let g = Err;
-    let h = std::panic::AssertUnwindSafe;
-    let x = f(5);
-    let y = g(false);
-    let z = h((x, y));
-    z
-};
-
-const fn call_external_constructors_in_temps() -> ExternalType {
-    let x = { Some }(5);
-    let y = (*&Err)(false);
-    let z = [std::panic::AssertUnwindSafe][0]((x, y));
-    z
-}
-
-const CALL_EXTERNAL_CONSTRUCTORS_IN_TEMPS: ExternalType = {
-    let x = { Some }(5);
-    let y = (*&Err)(false);
-    let z = [std::panic::AssertUnwindSafe][0]((x, y));
-    z
-};
-
-#[derive(Debug, PartialEq)]
-enum LocalOption<T> {
-    Some(T),
-    _None,
-}
-
-#[derive(Debug, PartialEq)]
-enum LocalResult<T, E> {
-    _Ok(T),
-    Err(E),
-}
-
-#[derive(Debug, PartialEq)]
-struct LocalAssertUnwindSafe<T>(T);
-
-type LocalType = LocalAssertUnwindSafe<(LocalOption<i32>, LocalResult<i32, bool>)>;
-
-const fn call_local_constructors_in_local_vars() -> LocalType {
-    let f = LocalOption::Some;
-    let g = LocalResult::Err;
-    let h = LocalAssertUnwindSafe;
-    let x = f(5);
-    let y = g(false);
-    let z = h((x, y));
-    z
-}
-
-const CALL_LOCAL_CONSTRUCTORS_IN_LOCAL_VARS: LocalType = {
-    let f = LocalOption::Some;
-    let g = LocalResult::Err;
-    let h = LocalAssertUnwindSafe;
-    let x = f(5);
-    let y = g(false);
-    let z = h((x, y));
-    z
-};
-
-const fn call_local_constructors_in_temps() -> LocalType {
-    let x = { LocalOption::Some }(5);
-    let y = (*&LocalResult::Err)(false);
-    let z = [LocalAssertUnwindSafe][0]((x, y));
-    z
-}
-
-const CALL_LOCAL_CONSTRUCTORS_IN_TEMPS: LocalType = {
-    let x = { LocalOption::Some }(5);
-    let y = (*&LocalResult::Err)(false);
-    let z = [LocalAssertUnwindSafe][0]((x, y));
-    z
-};
-
-fn main() {
-    assert_eq!(
-        (
-            call_external_constructors_in_local_vars().0,
-            call_external_constructors_in_temps().0,
-            call_local_constructors_in_local_vars(),
-            call_local_constructors_in_temps(),
-        ),
-        (
-            CALL_EXTERNAL_CONSTRUCTORS_IN_LOCAL_VARS.0,
-            CALL_EXTERNAL_CONSTRUCTORS_IN_TEMPS.0,
-            CALL_LOCAL_CONSTRUCTORS_IN_LOCAL_VARS,
-            CALL_LOCAL_CONSTRUCTORS_IN_TEMPS,
-        )
-    );
-}