about summary refs log tree commit diff
path: root/src/test/ui/consts/const_constructor
diff options
context:
space:
mode:
authorAlbert Larsan <74931857+albertlarsan68@users.noreply.github.com>2023-01-05 09:13:28 +0100
committerAlbert Larsan <74931857+albertlarsan68@users.noreply.github.com>2023-01-11 09:32:08 +0000
commitcf2dff2b1e3fa55fa5415d524200070d0d7aacfe (patch)
tree40a88d9a46aaf3e8870676eb2538378b75a263eb /src/test/ui/consts/const_constructor
parentca855e6e42787ecd062d81d53336fe6788ef51a9 (diff)
downloadrust-cf2dff2b1e3fa55fa5415d524200070d0d7aacfe.tar.gz
rust-cf2dff2b1e3fa55fa5415d524200070d0d7aacfe.zip
Move /src/test to /tests
Diffstat (limited to 'src/test/ui/consts/const_constructor')
-rw-r--r--src/test/ui/consts/const_constructor/const-construct-call.rs110
-rw-r--r--src/test/ui/consts/const_constructor/const_constructor_qpath.rs37
2 files changed, 0 insertions, 147 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,
-        )
-    );
-}
diff --git a/src/test/ui/consts/const_constructor/const_constructor_qpath.rs b/src/test/ui/consts/const_constructor/const_constructor_qpath.rs
deleted file mode 100644
index 7c55f470fdf..00000000000
--- a/src/test/ui/consts/const_constructor/const_constructor_qpath.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-// run-pass
-
-trait ConstDefault {
-    const DEFAULT: Self;
-}
-
-#[derive(PartialEq)]
-enum E {
-    V(i32),
-    W(usize),
-}
-
-impl ConstDefault for E {
-    const DEFAULT: Self = Self::V(23);
-}
-
-impl ConstDefault for Option<i32> {
-    const DEFAULT: Self = Self::Some(23);
-}
-
-impl E {
-    const NON_DEFAULT: Self = Self::W(12);
-    const fn local_fn() -> Self {
-        Self::V(23)
-    }
-}
-
-const fn explicit_qpath() -> E {
-    let _x = <Option<usize>>::Some(23);
-    <E>::W(12)
-}
-
-fn main() {
-    assert!(E::DEFAULT == E::local_fn());
-    assert!(Option::DEFAULT == Some(23));
-    assert!(E::NON_DEFAULT == explicit_qpath());
-}