summaryrefslogtreecommitdiffstats
path: root/tests/ui/rfc-2632-const-trait-impl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
commitdc0db358abe19481e475e10c32149b53370f1a1c (patch)
treeab8ce99c4b255ce46f99ef402c27916055b899ee /tests/ui/rfc-2632-const-trait-impl
parentReleasing progress-linux version 1.71.1+dfsg1-2~progress7.99u1. (diff)
downloadrustc-dc0db358abe19481e475e10c32149b53370f1a1c.tar.xz
rustc-dc0db358abe19481e475e10c32149b53370f1a1c.zip
Merging upstream version 1.72.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/ui/rfc-2632-const-trait-impl')
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/assoc-type-const-bound-usage.rs14
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/assoc-type.rs33
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/assoc-type.stderr8
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/attr-misuse.rs10
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/attr-misuse.stderr14
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/auxiliary/cross-crate.rs23
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/auxiliary/staged-api.rs19
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.rs29
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.stderr15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.rs43
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.stderr20
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-generic-in-impl.rs15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-generic-in-impl.stderr8
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-generic-method-chain.rs28
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-generic-method-chain.stderr23
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-generic-method-dup-bound.rs31
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-generic-method-dup-bound.stderr23
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-generic-method-fail.rs9
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-generic-method-fail.stderr28
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-generic-method-nonconst-bound.rs17
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-generic-method-nonconst.rs26
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-generic-method-nonconst.stderr15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-generic-method-pass.rs24
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call-generic-method-pass.stderr17
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/call.rs10
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-and-non-const-impl.rs31
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-and-non-const-impl.stderr20
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-check-fns-in-const-impl.rs16
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-check-fns-in-const-impl.stderr11
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-closure-parse-not-item.rs10
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-closure-trait-method-fail.rs20
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-closure-trait-method-fail.stderr16
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-closure-trait-method.rs19
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-closures.rs30
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-default-method-bodies.rs29
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-default-method-bodies.stderr15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-drop-bound.rs25
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.precise.stderr26
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.rs43
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.stderr50
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.stock.stderr26
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-drop-fail.precise.stderr58
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-drop-fail.rs37
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-drop-fail.stock.stderr58
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-drop.rs113
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-impl-norecover.rs12
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-impl-norecover.stderr8
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-impl-recovery.rs17
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-impl-recovery.stderr26
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-impl-requires-const-trait.rs9
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-impl-requires-const-trait.stderr14
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-impl-trait.rs55
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const-impl-trait.stderr39
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-gate.rs5
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-gate.stderr21
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-non-const-type.rs13
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-non-const-type.stderr12
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-use.rs19
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-use.stderr53
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-with-params.rs13
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-with-params.stderr20
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/cross-crate-default-method-body-is-const.rs18
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/cross-crate.gatednc.stderr15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/cross-crate.rs24
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/cross-crate.stock.stderr12
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/cross-crate.stocknc.stderr15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.rs17
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.stderr15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.rs15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.stderr15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-with-staged-api.rs17
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/do-not-const-check-override.rs19
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/do-not-const-check.rs18
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/feature-gate.gated.stderr8
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/feature-gate.rs14
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/feature-gate.stock.stderr21
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/function-pointer-does-not-require-const.rs15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/gate.rs13
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/gate.stderr21
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/generic-bound.rs30
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/generic-bound.stderr11
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/hir-const-check.rs17
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/hir-const-check.stderr12
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/impl-tilde-const-trait.rs9
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/impl-tilde-const-trait.stderr8
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/impl-with-default-fn-fail.rs17
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/impl-with-default-fn-fail.stderr12
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/impl-with-default-fn-pass.rs26
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/inherent-impl-const-bounds.rs22
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/inherent-impl.rs13
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/inherent-impl.stderr22
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-100222.rs39
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-102156.rs15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-102156.stderr19
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-102985.rs12
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-102985.stderr41
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-103677.rs5
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-79450.rs20
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-79450.stderr12
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-88155.rs13
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-88155.stderr24
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-90052.rs9
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-90052.stderr14
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-92111.rs23
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/issue-92230-wf-super-trait-env.rs15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/nested-closure.rs12
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/non-const-op-const-closure-non-const-outer.rs15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/non-const-op-const-closure-non-const-outer.stderr11
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/non-const-op-in-closure-in-const.rs18
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/non-const-op-in-closure-in-const.stderr8
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/specialization/const-default-bound-non-const-specialized-bound.rs58
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/specialization/const-default-bound-non-const-specialized-bound.stderr18
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/specialization/const-default-const-specialized.rs39
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/specialization/const-default-impl-non-const-specialized-impl.rs26
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/specialization/const-default-impl-non-const-specialized-impl.stderr8
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/specialization/default-keyword.rs15
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/specialization/issue-95186-specialize-on-tilde-const.rs49
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/specialization/issue-95187-same-trait-bound-different-constness.rs57
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/specialization/non-const-default-const-specialized.rs39
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/specializing-constness-2.rs31
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/specializing-constness-2.stderr21
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/specializing-constness.rs31
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/specializing-constness.stderr14
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/staged-api-user-crate.rs16
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/staged-api-user-crate.stderr12
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/staged-api.rs63
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/staged-api.stable.stderr25
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/staged-api.unstable.stderr42
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/static-const-trait-bound.rs18
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/std-impl-gate.gated.stderr9
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/std-impl-gate.rs21
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/std-impl-gate.stock.stderr12
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.nn.stderr14
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.ny.stderr14
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.rs20
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.yn.stderr19
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.yy.stderr19
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.nn.stderr20
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.ny.stderr14
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.rs21
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.yn.stderr8
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/super-traits-fail.rs18
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/super-traits-fail.stderr20
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/super-traits.rs25
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/syntax.rs8
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/tilde-const-and-const-params.rs34
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/tilde-const-and-const-params.stderr14
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/tilde-const-invalid-places.rs7
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/tilde-const-invalid-places.stderr8
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/tilde-const-syntax.rs9
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/tilde-twice.rs6
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/tilde-twice.stderr8
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/tilde_const_on_impl_bound.rs17
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/trait-default-body-stability.rs50
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/trait-default-body-stability.stderr20
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/trait-method-ptr-in-consts-ice.rs23
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/trait-where-clause-const.rs31
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/trait-where-clause-const.stderr35
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/trait-where-clause-run.rs41
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/trait-where-clause-self-referential.rs24
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/trait-where-clause.rs26
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/trait-where-clause.stderr35
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/without-tilde.rs6
-rw-r--r--tests/ui/rfc-2632-const-trait-impl/without-tilde.stderr10
164 files changed, 0 insertions, 3555 deletions
diff --git a/tests/ui/rfc-2632-const-trait-impl/assoc-type-const-bound-usage.rs b/tests/ui/rfc-2632-const-trait-impl/assoc-type-const-bound-usage.rs
deleted file mode 100644
index 780a510c5..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/assoc-type-const-bound-usage.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// check-pass
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Foo {
- type Assoc: ~const Foo;
- fn foo() {}
-}
-
-const fn foo<T: ~const Foo>() {
- <T as Foo>::Assoc::foo();
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/assoc-type.rs b/tests/ui/rfc-2632-const-trait-impl/assoc-type.rs
deleted file mode 100644
index 96790a873..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/assoc-type.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-// known-bug: #110395
-
-#![feature(const_trait_impl)]
-
-struct NonConstAdd(i32);
-
-impl std::ops::Add for NonConstAdd {
- type Output = Self;
-
- fn add(self, rhs: Self) -> Self {
- NonConstAdd(self.0 + rhs.0)
- }
-}
-
-#[const_trait]
-trait Foo {
- type Bar: ~const std::ops::Add;
-}
-
-impl const Foo for NonConstAdd {
- type Bar = NonConstAdd;
-}
-
-#[const_trait]
-trait Baz {
- type Qux: std::ops::Add;
-}
-
-impl const Baz for NonConstAdd {
- type Qux = NonConstAdd; // OK
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/assoc-type.stderr b/tests/ui/rfc-2632-const-trait-impl/assoc-type.stderr
deleted file mode 100644
index 0cffae1da..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/assoc-type.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/assoc-type.rs:17:22
- |
-LL | type Bar: ~const std::ops::Add;
- | ^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/attr-misuse.rs b/tests/ui/rfc-2632-const-trait-impl/attr-misuse.rs
deleted file mode 100644
index 01ac74fef..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/attr-misuse.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait A {
- #[const_trait] //~ ERROR attribute should be applied
- fn foo(self);
-}
-
-#[const_trait] //~ ERROR attribute should be applied
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/attr-misuse.stderr b/tests/ui/rfc-2632-const-trait-impl/attr-misuse.stderr
deleted file mode 100644
index b18f33218..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/attr-misuse.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: attribute should be applied to a trait
- --> $DIR/attr-misuse.rs:9:1
- |
-LL | #[const_trait]
- | ^^^^^^^^^^^^^^
-
-error: attribute should be applied to a trait
- --> $DIR/attr-misuse.rs:5:5
- |
-LL | #[const_trait]
- | ^^^^^^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/auxiliary/cross-crate.rs b/tests/ui/rfc-2632-const-trait-impl/auxiliary/cross-crate.rs
deleted file mode 100644
index e73082c11..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/auxiliary/cross-crate.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-#![feature(const_trait_impl)]
-
-#[const_trait]
-pub trait MyTrait {
- fn defaulted_func(&self) {}
- fn func(self);
-}
-
-pub struct NonConst;
-
-impl MyTrait for NonConst {
- fn func(self) {
-
- }
-}
-
-pub struct Const;
-
-impl const MyTrait for Const {
- fn func(self) {
-
- }
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/auxiliary/staged-api.rs b/tests/ui/rfc-2632-const-trait-impl/auxiliary/staged-api.rs
deleted file mode 100644
index 589e3f024..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/auxiliary/staged-api.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-#![feature(const_trait_impl)]
-#![feature(staged_api)]
-#![stable(feature = "rust1", since = "1.0.0")]
-
-#[stable(feature = "rust1", since = "1.0.0")]
-#[const_trait]
-pub trait MyTrait {
- #[stable(feature = "rust1", since = "1.0.0")]
- fn func();
-}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct Unstable;
-
-#[stable(feature = "rust1", since = "1.0.0")]
-#[rustc_const_unstable(feature = "unstable", issue = "none")]
-impl const MyTrait for Unstable {
- fn func() {}
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.rs b/tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.rs
deleted file mode 100644
index dd9933974..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-#![feature(const_trait_impl)]
-
-#[const_trait]
-pub trait Plus {
- fn plus(self, rhs: Self) -> Self;
-}
-
-impl const Plus for i32 {
- fn plus(self, rhs: Self) -> Self {
- self + rhs
- }
-}
-
-impl Plus for u32 {
- fn plus(self, rhs: Self) -> Self {
- self + rhs
- }
-}
-
-pub const fn add_i32(a: i32, b: i32) -> i32 {
- a.plus(b) // ok
-}
-
-pub const fn add_u32(a: u32, b: u32) -> u32 {
- a.plus(b)
- //~^ ERROR the trait bound
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.stderr b/tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.stderr
deleted file mode 100644
index 7350909ba..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-fail.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0277]: the trait bound `u32: ~const Plus` is not satisfied
- --> $DIR/call-const-trait-method-fail.rs:25:7
- |
-LL | a.plus(b)
- | ^^^^ the trait `~const Plus` is not implemented for `u32`
- |
-note: the trait `Plus` is implemented for `u32`, but that implementation is not `const`
- --> $DIR/call-const-trait-method-fail.rs:25:7
- |
-LL | a.plus(b)
- | ^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.rs b/tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.rs
deleted file mode 100644
index ae0c2e6bc..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.rs
+++ /dev/null
@@ -1,43 +0,0 @@
-// known-bug: #110395
-
-#![feature(const_trait_impl)]
-
-struct Int(i32);
-
-impl const std::ops::Add for Int {
- type Output = Int;
-
- fn add(self, rhs: Self) -> Self {
- Int(self.0.plus(rhs.0))
- }
-}
-
-impl const PartialEq for Int {
- fn eq(&self, rhs: &Self) -> bool {
- self.0 == rhs.0
- }
- fn ne(&self, other: &Self) -> bool {
- !self.eq(other)
- }
-}
-
-#[const_trait]
-pub trait Plus {
- fn plus(self, rhs: Self) -> Self;
-}
-
-impl const Plus for i32 {
- fn plus(self, rhs: Self) -> Self {
- self + rhs
- }
-}
-
-pub const fn add_i32(a: i32, b: i32) -> i32 {
- a.plus(b)
-}
-
-const ADD_INT: Int = Int(1i32) + Int(2i32);
-
-fn main() {
- assert!(ADD_INT == Int(3i32));
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.stderr b/tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.stderr
deleted file mode 100644
index ff53eea11..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-const-trait-method-pass.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: const `impl` for trait `Add` which is not marked with `#[const_trait]`
- --> $DIR/call-const-trait-method-pass.rs:7:12
- |
-LL | impl const std::ops::Add for Int {
- | ^^^^^^^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: const `impl` for trait `PartialEq` which is not marked with `#[const_trait]`
- --> $DIR/call-const-trait-method-pass.rs:15:12
- |
-LL | impl const PartialEq for Int {
- | ^^^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-generic-in-impl.rs b/tests/ui/rfc-2632-const-trait-impl/call-generic-in-impl.rs
deleted file mode 100644
index 5120e6bfb..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-generic-in-impl.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// known-bug: #110395
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait MyPartialEq {
- fn eq(&self, other: &Self) -> bool;
-}
-
-impl<T: ~const PartialEq> const MyPartialEq for T {
- fn eq(&self, other: &Self) -> bool {
- PartialEq::eq(self, other)
- }
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-generic-in-impl.stderr b/tests/ui/rfc-2632-const-trait-impl/call-generic-in-impl.stderr
deleted file mode 100644
index 02d53cc78..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-generic-in-impl.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/call-generic-in-impl.rs:9:16
- |
-LL | impl<T: ~const PartialEq> const MyPartialEq for T {
- | ^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-chain.rs b/tests/ui/rfc-2632-const-trait-impl/call-generic-method-chain.rs
deleted file mode 100644
index 3febb328a..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-chain.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-//! Basic test for calling methods on generic type parameters in `const fn`.
-
-// known-bug: #110395
-
-#![feature(const_trait_impl)]
-
-struct S;
-
-impl const PartialEq for S {
- fn eq(&self, _: &S) -> bool {
- true
- }
- fn ne(&self, other: &S) -> bool {
- !self.eq(other)
- }
-}
-
-const fn equals_self<T: ~const PartialEq>(t: &T) -> bool {
- *t == *t
-}
-
-const fn equals_self_wrapper<T: ~const PartialEq>(t: &T) -> bool {
- equals_self(t)
-}
-
-pub const EQ: bool = equals_self_wrapper(&S);
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-chain.stderr b/tests/ui/rfc-2632-const-trait-impl/call-generic-method-chain.stderr
deleted file mode 100644
index 529a472e0..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-chain.stderr
+++ /dev/null
@@ -1,23 +0,0 @@
-error: const `impl` for trait `PartialEq` which is not marked with `#[const_trait]`
- --> $DIR/call-generic-method-chain.rs:9:12
- |
-LL | impl const PartialEq for S {
- | ^^^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/call-generic-method-chain.rs:18:32
- |
-LL | const fn equals_self<T: ~const PartialEq>(t: &T) -> bool {
- | ^^^^^^^^^
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/call-generic-method-chain.rs:22:40
- |
-LL | const fn equals_self_wrapper<T: ~const PartialEq>(t: &T) -> bool {
- | ^^^^^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-dup-bound.rs b/tests/ui/rfc-2632-const-trait-impl/call-generic-method-dup-bound.rs
deleted file mode 100644
index e618160d3..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-dup-bound.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-// known-bug: #110395
-
-#![feature(const_trait_impl)]
-
-struct S;
-
-impl const PartialEq for S {
- fn eq(&self, _: &S) -> bool {
- true
- }
- fn ne(&self, other: &S) -> bool {
- !self.eq(other)
- }
-}
-
-// This duplicate bound should not result in ambiguities. It should be equivalent to a single ~const
-// bound.
-const fn equals_self<T: PartialEq + ~const PartialEq>(t: &T) -> bool {
- *t == *t
-}
-
-trait A: PartialEq {}
-impl<T: PartialEq> A for T {}
-
-const fn equals_self2<T: A + ~const PartialEq>(t: &T) -> bool {
- *t == *t
-}
-
-pub const EQ: bool = equals_self(&S) && equals_self2(&S);
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-dup-bound.stderr b/tests/ui/rfc-2632-const-trait-impl/call-generic-method-dup-bound.stderr
deleted file mode 100644
index bdc6ccc8a..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-dup-bound.stderr
+++ /dev/null
@@ -1,23 +0,0 @@
-error: const `impl` for trait `PartialEq` which is not marked with `#[const_trait]`
- --> $DIR/call-generic-method-dup-bound.rs:7:12
- |
-LL | impl const PartialEq for S {
- | ^^^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/call-generic-method-dup-bound.rs:18:44
- |
-LL | const fn equals_self<T: PartialEq + ~const PartialEq>(t: &T) -> bool {
- | ^^^^^^^^^
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/call-generic-method-dup-bound.rs:25:37
- |
-LL | const fn equals_self2<T: A + ~const PartialEq>(t: &T) -> bool {
- | ^^^^^^^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-fail.rs b/tests/ui/rfc-2632-const-trait-impl/call-generic-method-fail.rs
deleted file mode 100644
index fe1abbf42..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-fail.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// known-bug: #110395
-#![feature(const_trait_impl)]
-
-pub const fn equals_self<T: PartialEq>(t: &T) -> bool {
- *t == *t
- // (remove this) ~^ ERROR can't compare
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-fail.stderr b/tests/ui/rfc-2632-const-trait-impl/call-generic-method-fail.stderr
deleted file mode 100644
index 3963f64ad..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-fail.stderr
+++ /dev/null
@@ -1,28 +0,0 @@
-error[E0277]: can't compare `T` with `T` in const contexts
- --> $DIR/call-generic-method-fail.rs:5:5
- |
-LL | *t == *t
- | ^^^^^^^^ no implementation for `T == T`
- |
-note: the trait `PartialEq` is implemented for `T`, but that implementation is not `const`
- --> $DIR/call-generic-method-fail.rs:5:5
- |
-LL | *t == *t
- | ^^^^^^^^
-
-error[E0015]: cannot call non-const operator in constant functions
- --> $DIR/call-generic-method-fail.rs:5:5
- |
-LL | *t == *t
- | ^^^^^^^^
- |
- = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-help: consider further restricting this bound
- |
-LL | pub const fn equals_self<T: PartialEq + ~const std::cmp::PartialEq>(t: &T) -> bool {
- | ++++++++++++++++++++++++++++
-
-error: aborting due to 2 previous errors
-
-Some errors have detailed explanations: E0015, E0277.
-For more information about an error, try `rustc --explain E0015`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-nonconst-bound.rs b/tests/ui/rfc-2632-const-trait-impl/call-generic-method-nonconst-bound.rs
deleted file mode 100644
index e197c8b73..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-nonconst-bound.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// check-pass
-
-struct S;
-
-impl PartialEq for S {
- fn eq(&self, _: &S) -> bool {
- true
- }
-}
-
-const fn equals_self<T: PartialEq>(t: &T) -> bool {
- true
-}
-
-pub const EQ: bool = equals_self(&S);
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-nonconst.rs b/tests/ui/rfc-2632-const-trait-impl/call-generic-method-nonconst.rs
deleted file mode 100644
index 414a8c87d..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-nonconst.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-#![feature(const_trait_impl)]
-
-struct S;
-
-#[const_trait]
-trait Foo {
- fn eq(&self, _: &Self) -> bool;
-}
-
-impl Foo for S {
- fn eq(&self, _: &S) -> bool {
- true
- }
-}
-
-const fn equals_self<T: ~const Foo>(t: &T) -> bool {
- true
-}
-
-// Calling `equals_self` with something that has a non-const impl should throw an error, despite
-// it not using the impl.
-
-pub const EQ: bool = equals_self(&S);
-//~^ ERROR
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-nonconst.stderr b/tests/ui/rfc-2632-const-trait-impl/call-generic-method-nonconst.stderr
deleted file mode 100644
index a28d6ce05..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-nonconst.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0277]: the trait bound `S: ~const Foo` is not satisfied
- --> $DIR/call-generic-method-nonconst.rs:23:22
- |
-LL | pub const EQ: bool = equals_self(&S);
- | ^^^^^^^^^^^^^^^ the trait `~const Foo` is not implemented for `S`
- |
-note: the trait `Foo` is implemented for `S`, but that implementation is not `const`
- --> $DIR/call-generic-method-nonconst.rs:23:22
- |
-LL | pub const EQ: bool = equals_self(&S);
- | ^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-pass.rs b/tests/ui/rfc-2632-const-trait-impl/call-generic-method-pass.rs
deleted file mode 100644
index 09f35a277..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-pass.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-//! Basic test for calling methods on generic type parameters in `const fn`.
-
-// known-bug: #110395
-
-#![feature(const_trait_impl)]
-
-struct S;
-
-impl const PartialEq for S {
- fn eq(&self, _: &S) -> bool {
- true
- }
- fn ne(&self, other: &S) -> bool {
- !self.eq(other)
- }
-}
-
-const fn equals_self<T: ~const PartialEq>(t: &T) -> bool {
- *t == *t
-}
-
-pub const EQ: bool = equals_self(&S);
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-pass.stderr b/tests/ui/rfc-2632-const-trait-impl/call-generic-method-pass.stderr
deleted file mode 100644
index 7fbe89dba..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call-generic-method-pass.stderr
+++ /dev/null
@@ -1,17 +0,0 @@
-error: const `impl` for trait `PartialEq` which is not marked with `#[const_trait]`
- --> $DIR/call-generic-method-pass.rs:9:12
- |
-LL | impl const PartialEq for S {
- | ^^^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/call-generic-method-pass.rs:18:32
- |
-LL | const fn equals_self<T: ~const PartialEq>(t: &T) -> bool {
- | ^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/call.rs b/tests/ui/rfc-2632-const-trait-impl/call.rs
deleted file mode 100644
index 5f48c2353..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/call.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// check-pass
-
-#![feature(const_closures, const_trait_impl)]
-#![allow(incomplete_features)]
-
-pub const _: () = {
- assert!((const || true)());
-};
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-and-non-const-impl.rs b/tests/ui/rfc-2632-const-trait-impl/const-and-non-const-impl.rs
deleted file mode 100644
index 9ba19e800..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-and-non-const-impl.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-// known-bug: #110395
-
-#![feature(const_trait_impl)]
-
-pub struct Int(i32);
-
-impl const std::ops::Add for i32 {
- type Output = Self;
-
- fn add(self, rhs: Self) -> Self {
- self + rhs
- }
-}
-
-impl std::ops::Add for Int {
- type Output = Self;
-
- fn add(self, rhs: Self) -> Self {
- Int(self.0 + rhs.0)
- }
-}
-
-impl const std::ops::Add for Int {
- type Output = Self;
-
- fn add(self, rhs: Self) -> Self {
- Int(self.0 + rhs.0)
- }
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-and-non-const-impl.stderr b/tests/ui/rfc-2632-const-trait-impl/const-and-non-const-impl.stderr
deleted file mode 100644
index 4f858d61e..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-and-non-const-impl.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: const `impl` for trait `Add` which is not marked with `#[const_trait]`
- --> $DIR/const-and-non-const-impl.rs:7:12
- |
-LL | impl const std::ops::Add for i32 {
- | ^^^^^^^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: const `impl` for trait `Add` which is not marked with `#[const_trait]`
- --> $DIR/const-and-non-const-impl.rs:23:12
- |
-LL | impl const std::ops::Add for Int {
- | ^^^^^^^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-check-fns-in-const-impl.rs b/tests/ui/rfc-2632-const-trait-impl/const-check-fns-in-const-impl.rs
deleted file mode 100644
index 52984fb6b..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-check-fns-in-const-impl.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-#![feature(const_trait_impl)]
-
-struct S;
-#[const_trait]
-trait T {
- fn foo();
-}
-
-fn non_const() {}
-
-impl const T for S {
- fn foo() { non_const() }
- //~^ ERROR cannot call non-const fn
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-check-fns-in-const-impl.stderr b/tests/ui/rfc-2632-const-trait-impl/const-check-fns-in-const-impl.stderr
deleted file mode 100644
index c8783de4c..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-check-fns-in-const-impl.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0015]: cannot call non-const fn `non_const` in constant functions
- --> $DIR/const-check-fns-in-const-impl.rs:12:16
- |
-LL | fn foo() { non_const() }
- | ^^^^^^^^^^^
- |
- = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0015`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-closure-parse-not-item.rs b/tests/ui/rfc-2632-const-trait-impl/const-closure-parse-not-item.rs
deleted file mode 100644
index 2c99d8bf1..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-closure-parse-not-item.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// check-pass
-
-#![feature(const_trait_impl, const_closures)]
-#![allow(incomplete_features)]
-
-const fn test() -> impl ~const Fn() {
- const move || {}
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-closure-trait-method-fail.rs b/tests/ui/rfc-2632-const-trait-impl/const-closure-trait-method-fail.rs
deleted file mode 100644
index b4cc7a9e1..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-closure-trait-method-fail.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-// known-bug: #110395
-
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Tr {
- fn a(self) -> i32;
-}
-
-impl Tr for () {
- fn a(self) -> i32 { 42 }
-}
-
-const fn need_const_closure<T: ~const FnOnce(()) -> i32>(x: T) -> i32 {
- x(())
-}
-
-const _: () = assert!(need_const_closure(Tr::a) == 42);
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-closure-trait-method-fail.stderr b/tests/ui/rfc-2632-const-trait-impl/const-closure-trait-method-fail.stderr
deleted file mode 100644
index 112416a35..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-closure-trait-method-fail.stderr
+++ /dev/null
@@ -1,16 +0,0 @@
-error[E0277]: the trait bound `(): ~const Tr` is not satisfied in `fn(()) -> i32 {<() as Tr>::a}`
- --> $DIR/const-closure-trait-method-fail.rs:18:23
- |
-LL | const _: () = assert!(need_const_closure(Tr::a) == 42);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^ within `fn(()) -> i32 {<() as Tr>::a}`, the trait `~const Tr` is not implemented for `()`
- |
-note: the trait `Tr` is implemented for `()`, but that implementation is not `const`
- --> $DIR/const-closure-trait-method-fail.rs:18:23
- |
-LL | const _: () = assert!(need_const_closure(Tr::a) == 42);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^
- = note: required because it appears within the type `fn(()) -> i32 {<() as Tr>::a}`
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-closure-trait-method.rs b/tests/ui/rfc-2632-const-trait-impl/const-closure-trait-method.rs
deleted file mode 100644
index 3e6d19088..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-closure-trait-method.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// check-pass
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Tr {
- fn a(self) -> i32;
-}
-
-impl const Tr for () {
- fn a(self) -> i32 { 42 }
-}
-
-const fn need_const_closure<T: ~const FnOnce(()) -> i32>(x: T) -> i32 {
- x(())
-}
-
-const _: () = assert!(need_const_closure(Tr::a) == 42);
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-closures.rs b/tests/ui/rfc-2632-const-trait-impl/const-closures.rs
deleted file mode 100644
index 7c55b51c8..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-closures.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-// check-pass
-
-#![feature(const_trait_impl)]
-
-const fn answer_p1<F>(f: &F) -> u8
- where
- F: ~const FnOnce() -> u8,
- F: ~const FnMut() -> u8,
- F: ~const Fn() -> u8,
-{
- f() * 7
-}
-
-const fn three() -> u8 {
- 3
-}
-
-const fn answer_p2() -> u8 {
- answer_p1(&three)
-}
-
-const fn answer<F: ~const Fn() -> u8>(f: &F) -> u8 {
- f() + f()
-}
-
-const ANSWER: u8 = answer(&answer_p2);
-
-fn main() {
- assert_eq!(ANSWER, 42)
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-default-method-bodies.rs b/tests/ui/rfc-2632-const-trait-impl/const-default-method-bodies.rs
deleted file mode 100644
index 140a06a73..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-default-method-bodies.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait ConstDefaultFn: Sized {
- fn b(self);
-
- fn a(self) {
- self.b();
- }
-}
-
-struct NonConstImpl;
-struct ConstImpl;
-
-impl ConstDefaultFn for NonConstImpl {
- fn b(self) {}
-}
-
-impl const ConstDefaultFn for ConstImpl {
- fn b(self) {}
-}
-
-const fn test() {
- NonConstImpl.a();
- //~^ ERROR the trait bound
- ConstImpl.a();
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-default-method-bodies.stderr b/tests/ui/rfc-2632-const-trait-impl/const-default-method-bodies.stderr
deleted file mode 100644
index f9d0d1f78..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-default-method-bodies.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0277]: the trait bound `NonConstImpl: ~const ConstDefaultFn` is not satisfied
- --> $DIR/const-default-method-bodies.rs:24:18
- |
-LL | NonConstImpl.a();
- | ^ the trait `~const ConstDefaultFn` is not implemented for `NonConstImpl`
- |
-note: the trait `ConstDefaultFn` is implemented for `NonConstImpl`, but that implementation is not `const`
- --> $DIR/const-default-method-bodies.rs:24:5
- |
-LL | NonConstImpl.a();
- | ^^^^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-drop-bound.rs b/tests/ui/rfc-2632-const-trait-impl/const-drop-bound.rs
deleted file mode 100644
index 948f0efbc..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-drop-bound.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-// check-pass
-
-#![feature(const_trait_impl)]
-#![feature(const_precise_live_drops)]
-
-use std::marker::Destruct;
-
-const fn foo<T, E>(res: Result<T, E>) -> Option<T> where E: ~const Destruct {
- match res {
- Ok(t) => Some(t),
- Err(_e) => None,
- }
-}
-
-pub struct Foo<T>(T);
-
-const fn baz<T, E>(res: Result<Foo<T>, Foo<E>>) -> Option<Foo<T>>
-where
- T: ~const Destruct,
- E: ~const Destruct,
-{
- foo(res)
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.precise.stderr b/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.precise.stderr
deleted file mode 100644
index 13350a6d1..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.precise.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: const `impl` for trait `Drop` which is not marked with `#[const_trait]`
- --> $DIR/const-drop-fail-2.rs:23:25
- |
-LL | impl<T: ~const A> const Drop for ConstDropImplWithBounds<T> {
- | ^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/const-drop-fail-2.rs:29:26
- |
-LL | const fn check<T: ~const Destruct>(_: T) {}
- | ^^^^^^^^
-
-error: const `impl` for trait `Drop` which is not marked with `#[const_trait]`
- --> $DIR/const-drop-fail-2.rs:39:25
- |
-LL | impl<T: ~const A> const Drop for ConstDropImplWithNonConstBounds<T> {
- | ^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: aborting due to 3 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.rs b/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.rs
deleted file mode 100644
index 3de9d37d4..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.rs
+++ /dev/null
@@ -1,43 +0,0 @@
-// known-bug: #110395
-#![feature(const_trait_impl)]
-#![feature(const_mut_refs)]
-#![cfg_attr(precise, feature(const_precise_live_drops))]
-
-use std::marker::{Destruct, PhantomData};
-
-struct NonTrivialDrop;
-
-impl Drop for NonTrivialDrop {
- fn drop(&mut self) {
- println!("Non trivial drop");
- }
-}
-
-#[const_trait]
-trait A { fn a() { } }
-
-impl A for NonTrivialDrop {}
-
-struct ConstDropImplWithBounds<T: ~const A>(PhantomData<T>);
-
-impl<T: ~const A> const Drop for ConstDropImplWithBounds<T> {
- fn drop(&mut self) {
- T::a();
- }
-}
-
-const fn check<T: ~const Destruct>(_: T) {}
-
-const _: () = check::<ConstDropImplWithBounds<NonTrivialDrop>>(
- ConstDropImplWithBounds(PhantomData)
-);
-
-struct ConstDropImplWithNonConstBounds<T: A>(PhantomData<T>);
-
-impl<T: ~const A> const Drop for ConstDropImplWithNonConstBounds<T> {
- fn drop(&mut self) {
- T::a();
- }
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.stderr b/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.stderr
deleted file mode 100644
index 375f5d2c5..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.stderr
+++ /dev/null
@@ -1,50 +0,0 @@
-error[E0277]: the trait bound `NonTrivialDrop: ~const A` is not satisfied
- --> $DIR/const-drop-fail-2.rs:31:23
- |
-LL | const _: () = check::<ConstDropImplWithBounds<NonTrivialDrop>>(
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `~const A` is not implemented for `NonTrivialDrop`
- |
-note: the trait `A` is implemented for `NonTrivialDrop`, but that implementation is not `const`
- --> $DIR/const-drop-fail-2.rs:31:23
- |
-LL | const _: () = check::<ConstDropImplWithBounds<NonTrivialDrop>>(
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-note: required by a bound in `ConstDropImplWithBounds`
- --> $DIR/const-drop-fail-2.rs:21:35
- |
-LL | struct ConstDropImplWithBounds<T: ~const A>(PhantomData<T>);
- | ^^^^^^^^ required by this bound in `ConstDropImplWithBounds`
-
-error[E0277]: the trait bound `NonTrivialDrop: ~const A` is not satisfied
- --> $DIR/const-drop-fail-2.rs:32:5
- |
-LL | ConstDropImplWithBounds(PhantomData)
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `~const A` is not implemented for `NonTrivialDrop`
- |
-note: the trait `A` is implemented for `NonTrivialDrop`, but that implementation is not `const`
- --> $DIR/const-drop-fail-2.rs:32:5
- |
-LL | ConstDropImplWithBounds(PhantomData)
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-note: required by a bound in `ConstDropImplWithBounds`
- --> $DIR/const-drop-fail-2.rs:21:35
- |
-LL | struct ConstDropImplWithBounds<T: ~const A>(PhantomData<T>);
- | ^^^^^^^^ required by this bound in `ConstDropImplWithBounds`
-
-error[E0367]: `Drop` impl requires `T: ~const A` but the struct it is implemented for does not
- --> $DIR/const-drop-fail-2.rs:37:9
- |
-LL | impl<T: ~const A> const Drop for ConstDropImplWithNonConstBounds<T> {
- | ^^^^^^^^
- |
-note: the implementor must specify the same requirement
- --> $DIR/const-drop-fail-2.rs:35:1
- |
-LL | struct ConstDropImplWithNonConstBounds<T: A>(PhantomData<T>);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 3 previous errors
-
-Some errors have detailed explanations: E0277, E0367.
-For more information about an error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.stock.stderr b/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.stock.stderr
deleted file mode 100644
index 13350a6d1..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail-2.stock.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: const `impl` for trait `Drop` which is not marked with `#[const_trait]`
- --> $DIR/const-drop-fail-2.rs:23:25
- |
-LL | impl<T: ~const A> const Drop for ConstDropImplWithBounds<T> {
- | ^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/const-drop-fail-2.rs:29:26
- |
-LL | const fn check<T: ~const Destruct>(_: T) {}
- | ^^^^^^^^
-
-error: const `impl` for trait `Drop` which is not marked with `#[const_trait]`
- --> $DIR/const-drop-fail-2.rs:39:25
- |
-LL | impl<T: ~const A> const Drop for ConstDropImplWithNonConstBounds<T> {
- | ^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: aborting due to 3 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail.precise.stderr b/tests/ui/rfc-2632-const-trait-impl/const-drop-fail.precise.stderr
deleted file mode 100644
index e745cbd24..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail.precise.stderr
+++ /dev/null
@@ -1,58 +0,0 @@
-error[E0277]: can't drop `NonTrivialDrop` in const contexts
- --> $DIR/const-drop-fail.rs:28:23
- |
-LL | const _: () = check($exp);
- | ^^^^^^^^^^^ the trait `~const Destruct` is not implemented for `NonTrivialDrop`
-...
-LL | / check_all! {
-LL | | NonTrivialDrop,
-LL | | ConstImplWithDropGlue(NonTrivialDrop),
-LL | | }
- | |_- in this macro invocation
- |
-note: the trait `Destruct` is implemented for `NonTrivialDrop`, but that implementation is not `const`
- --> $DIR/const-drop-fail.rs:28:23
- |
-LL | const _: () = check($exp);
- | ^^^^^^^^^^^
-...
-LL | / check_all! {
-LL | | NonTrivialDrop,
-LL | | ConstImplWithDropGlue(NonTrivialDrop),
-LL | | }
- | |_- in this macro invocation
- = note: this error originates in the macro `check_all` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error[E0277]: can't drop `NonTrivialDrop` in const contexts
- --> $DIR/const-drop-fail.rs:28:23
- |
-LL | const _: () = check($exp);
- | ^^^^^^^^^^^ within `ConstImplWithDropGlue`, the trait `~const Destruct` is not implemented for `NonTrivialDrop`
-...
-LL | / check_all! {
-LL | | NonTrivialDrop,
-LL | | ConstImplWithDropGlue(NonTrivialDrop),
-LL | | }
- | |_- in this macro invocation
- |
-note: the trait `Destruct` is implemented for `NonTrivialDrop`, but that implementation is not `const`
- --> $DIR/const-drop-fail.rs:28:23
- |
-LL | const _: () = check($exp);
- | ^^^^^^^^^^^
-...
-LL | / check_all! {
-LL | | NonTrivialDrop,
-LL | | ConstImplWithDropGlue(NonTrivialDrop),
-LL | | }
- | |_- in this macro invocation
-note: required because it appears within the type `ConstImplWithDropGlue`
- --> $DIR/const-drop-fail.rs:18:8
- |
-LL | struct ConstImplWithDropGlue(NonTrivialDrop);
- | ^^^^^^^^^^^^^^^^^^^^^
- = note: this error originates in the macro `check_all` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail.rs b/tests/ui/rfc-2632-const-trait-impl/const-drop-fail.rs
deleted file mode 100644
index 1c37648ff..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-// known-bug: #110395
-
-// revisions: stock precise
-#![feature(const_trait_impl)]
-#![feature(const_mut_refs)]
-#![cfg_attr(precise, feature(const_precise_live_drops))]
-
-use std::marker::{Destruct, PhantomData};
-
-struct NonTrivialDrop;
-
-impl Drop for NonTrivialDrop {
- fn drop(&mut self) {
- println!("Non trivial drop");
- }
-}
-
-struct ConstImplWithDropGlue(NonTrivialDrop);
-
-impl const Drop for ConstImplWithDropGlue {
- fn drop(&mut self) {}
-}
-
-const fn check<T: ~const Destruct>(_: T) {}
-
-macro_rules! check_all {
- ($($exp:expr),*$(,)?) => {$(
- const _: () = check($exp);
- )*};
-}
-
-check_all! {
- NonTrivialDrop,
- ConstImplWithDropGlue(NonTrivialDrop),
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail.stock.stderr b/tests/ui/rfc-2632-const-trait-impl/const-drop-fail.stock.stderr
deleted file mode 100644
index e745cbd24..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-drop-fail.stock.stderr
+++ /dev/null
@@ -1,58 +0,0 @@
-error[E0277]: can't drop `NonTrivialDrop` in const contexts
- --> $DIR/const-drop-fail.rs:28:23
- |
-LL | const _: () = check($exp);
- | ^^^^^^^^^^^ the trait `~const Destruct` is not implemented for `NonTrivialDrop`
-...
-LL | / check_all! {
-LL | | NonTrivialDrop,
-LL | | ConstImplWithDropGlue(NonTrivialDrop),
-LL | | }
- | |_- in this macro invocation
- |
-note: the trait `Destruct` is implemented for `NonTrivialDrop`, but that implementation is not `const`
- --> $DIR/const-drop-fail.rs:28:23
- |
-LL | const _: () = check($exp);
- | ^^^^^^^^^^^
-...
-LL | / check_all! {
-LL | | NonTrivialDrop,
-LL | | ConstImplWithDropGlue(NonTrivialDrop),
-LL | | }
- | |_- in this macro invocation
- = note: this error originates in the macro `check_all` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error[E0277]: can't drop `NonTrivialDrop` in const contexts
- --> $DIR/const-drop-fail.rs:28:23
- |
-LL | const _: () = check($exp);
- | ^^^^^^^^^^^ within `ConstImplWithDropGlue`, the trait `~const Destruct` is not implemented for `NonTrivialDrop`
-...
-LL | / check_all! {
-LL | | NonTrivialDrop,
-LL | | ConstImplWithDropGlue(NonTrivialDrop),
-LL | | }
- | |_- in this macro invocation
- |
-note: the trait `Destruct` is implemented for `NonTrivialDrop`, but that implementation is not `const`
- --> $DIR/const-drop-fail.rs:28:23
- |
-LL | const _: () = check($exp);
- | ^^^^^^^^^^^
-...
-LL | / check_all! {
-LL | | NonTrivialDrop,
-LL | | ConstImplWithDropGlue(NonTrivialDrop),
-LL | | }
- | |_- in this macro invocation
-note: required because it appears within the type `ConstImplWithDropGlue`
- --> $DIR/const-drop-fail.rs:18:8
- |
-LL | struct ConstImplWithDropGlue(NonTrivialDrop);
- | ^^^^^^^^^^^^^^^^^^^^^
- = note: this error originates in the macro `check_all` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-drop.rs b/tests/ui/rfc-2632-const-trait-impl/const-drop.rs
deleted file mode 100644
index b0fc3adf9..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-drop.rs
+++ /dev/null
@@ -1,113 +0,0 @@
-// run-pass
-// revisions: stock precise
-#![feature(const_trait_impl)]
-#![feature(const_mut_refs)]
-#![feature(never_type)]
-#![cfg_attr(precise, feature(const_precise_live_drops))]
-
-use std::marker::Destruct;
-
-struct S<'a>(&'a mut u8);
-
-impl<'a> const Drop for S<'a> {
- fn drop(&mut self) {
- *self.0 += 1;
- }
-}
-
-const fn a<T: ~const Destruct>(_: T) {}
-
-const fn b() -> u8 {
- let mut c = 0;
- let _ = S(&mut c);
- a(S(&mut c));
- c
-}
-
-const C: u8 = b();
-
-macro_rules! implements_const_drop {
- ($($exp:expr),*$(,)?) => {
- $(
- const _: () = a($exp);
- )*
- }
-}
-
-#[allow(dead_code)]
-mod t {
- pub struct Foo;
- pub enum Bar { A }
- pub fn foo() {}
- pub struct ConstDrop;
-
- impl const Drop for ConstDrop {
- fn drop(&mut self) {}
- }
-
- pub struct HasConstDrop(pub ConstDrop);
- pub struct TrivialFields(pub u8, pub i8, pub usize, pub isize);
-
- #[const_trait]
- pub trait SomeTrait {
- fn foo();
- }
- impl const SomeTrait for () {
- fn foo() {}
- }
- // non-const impl
- impl SomeTrait for i32 {
- fn foo() {}
- }
-
- pub struct ConstDropWithBound<T: ~const SomeTrait>(pub core::marker::PhantomData<T>);
-
- impl<T: ~const SomeTrait> const Drop for ConstDropWithBound<T> {
- fn drop(&mut self) {
- T::foo();
- }
- }
-
- pub struct ConstDropWithNonconstBound<T: SomeTrait>(pub core::marker::PhantomData<T>);
-
- impl<T: SomeTrait> const Drop for ConstDropWithNonconstBound<T> {
- fn drop(&mut self) {
- // Note: we DON'T use the `T: SomeTrait` bound
- }
- }
-}
-
-use t::*;
-
-implements_const_drop! {
- 1u8,
- 2,
- 3.0,
- Foo,
- Bar::A,
- foo,
- ConstDrop,
- HasConstDrop(ConstDrop),
- TrivialFields(1, 2, 3, 4),
- &1,
- &1 as *const i32,
- ConstDropWithBound::<()>,
- ConstDropWithNonconstBound::<i32>,
- Result::<i32, !>::Ok(1),
-}
-
-fn main() {
- struct HasDropGlue(#[allow(unused_tuple_struct_fields)] Box<u8>);
- struct HasDropImpl;
- impl Drop for HasDropImpl {
- fn drop(&mut self) {
- println!("not trivial drop");
- }
- }
-
- // These types should pass because ~const in a non-const context should have no effect.
- a(HasDropGlue(Box::new(0)));
- a(HasDropImpl);
-
- assert_eq!(C, 2);
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-impl-norecover.rs b/tests/ui/rfc-2632-const-trait-impl/const-impl-norecover.rs
deleted file mode 100644
index bed4e9fd1..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-impl-norecover.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-#![feature(const_trait_impl)]
-
-struct Foo;
-
-const impl Foo { //~ ERROR: expected identifier, found keyword
- fn bar() {}
-}
-
-fn main() {
- // shouldn't error here because we shouldn't have been able to recover above
- Foo::bar();
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-impl-norecover.stderr b/tests/ui/rfc-2632-const-trait-impl/const-impl-norecover.stderr
deleted file mode 100644
index 603f6b7d2..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-impl-norecover.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: expected identifier, found keyword `impl`
- --> $DIR/const-impl-norecover.rs:5:7
- |
-LL | const impl Foo {
- | ^^^^ expected identifier, found keyword
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-impl-recovery.rs b/tests/ui/rfc-2632-const-trait-impl/const-impl-recovery.rs
deleted file mode 100644
index 837124db0..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-impl-recovery.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Foo {}
-
-const impl Foo for i32 {} //~ ERROR: expected identifier, found keyword
-
-#[const_trait]
-trait Bar {}
-
-const impl<T: Foo> Bar for T {} //~ ERROR: expected identifier, found keyword
-
-const fn still_implements<T: Bar>() {}
-
-const _: () = still_implements::<i32>();
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-impl-recovery.stderr b/tests/ui/rfc-2632-const-trait-impl/const-impl-recovery.stderr
deleted file mode 100644
index 7217fc855..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-impl-recovery.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: expected identifier, found keyword `impl`
- --> $DIR/const-impl-recovery.rs:6:7
- |
-LL | const impl Foo for i32 {}
- | ^^^^ expected identifier, found keyword
- |
-help: you might have meant to write a const trait impl
- |
-LL - const impl Foo for i32 {}
-LL + impl const Foo for i32 {}
- |
-
-error: expected identifier, found keyword `impl`
- --> $DIR/const-impl-recovery.rs:11:7
- |
-LL | const impl<T: Foo> Bar for T {}
- | ^^^^ expected identifier, found keyword
- |
-help: you might have meant to write a const trait impl
- |
-LL - const impl<T: Foo> Bar for T {}
-LL + impl<T: Foo> const Bar for T {}
- |
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-impl-requires-const-trait.rs b/tests/ui/rfc-2632-const-trait-impl/const-impl-requires-const-trait.rs
deleted file mode 100644
index 2b4963991..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-impl-requires-const-trait.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-#![feature(const_trait_impl)]
-
-pub trait A {}
-//~^ HELP: mark `A` as const
-
-impl const A for () {}
-//~^ ERROR: const `impl` for trait `A` which is not marked with `#[const_trait]`
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-impl-requires-const-trait.stderr b/tests/ui/rfc-2632-const-trait-impl/const-impl-requires-const-trait.stderr
deleted file mode 100644
index 478adcf3e..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-impl-requires-const-trait.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: const `impl` for trait `A` which is not marked with `#[const_trait]`
- --> $DIR/const-impl-requires-const-trait.rs:6:12
- |
-LL | pub trait A {}
- | - help: mark `A` as const: `#[const_trait]`
-...
-LL | impl const A for () {}
- | ^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-impl-trait.rs b/tests/ui/rfc-2632-const-trait-impl/const-impl-trait.rs
deleted file mode 100644
index f396deff4..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-impl-trait.rs
+++ /dev/null
@@ -1,55 +0,0 @@
-// known-bug: #110395
-#![allow(incomplete_features)]
-#![feature(
- associated_type_bounds,
- const_trait_impl,
- const_cmp,
- return_position_impl_trait_in_trait,
-)]
-
-use std::marker::Destruct;
-
-const fn cmp(a: &impl ~const PartialEq) -> bool {
- a == a
-}
-
-const fn wrap(x: impl ~const PartialEq + ~const Destruct)
- -> impl ~const PartialEq + ~const Destruct
-{
- x
-}
-
-#[const_trait]
-trait Foo {
- fn huh() -> impl ~const PartialEq + ~const Destruct + Copy;
-}
-
-impl const Foo for () {
- fn huh() -> impl ~const PartialEq + ~const Destruct + Copy {
- 123
- }
-}
-
-const _: () = {
- assert!(cmp(&0xDEADBEEFu32));
- assert!(cmp(&()));
- assert!(wrap(123) == wrap(123));
- assert!(wrap(123) != wrap(456));
- let x = <() as Foo>::huh();
- assert!(x == x);
-};
-
-#[const_trait]
-trait T {}
-struct S;
-impl const T for S {}
-
-const fn rpit() -> impl ~const T { S }
-
-const fn apit(_: impl ~const T + ~const Destruct) {}
-
-const fn rpit_assoc_bound() -> impl IntoIterator<Item: ~const T> { Some(S) }
-
-const fn apit_assoc_bound(_: impl IntoIterator<Item: ~const T> + ~const Destruct) {}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const-impl-trait.stderr b/tests/ui/rfc-2632-const-trait-impl/const-impl-trait.stderr
deleted file mode 100644
index f9078e227..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const-impl-trait.stderr
+++ /dev/null
@@ -1,39 +0,0 @@
-error[E0635]: unknown feature `const_cmp`
- --> $DIR/const-impl-trait.rs:6:5
- |
-LL | const_cmp,
- | ^^^^^^^^^
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/const-impl-trait.rs:12:30
- |
-LL | const fn cmp(a: &impl ~const PartialEq) -> bool {
- | ^^^^^^^^^
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/const-impl-trait.rs:16:30
- |
-LL | const fn wrap(x: impl ~const PartialEq + ~const Destruct)
- | ^^^^^^^^^
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/const-impl-trait.rs:17:20
- |
-LL | -> impl ~const PartialEq + ~const Destruct
- | ^^^^^^^^^
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/const-impl-trait.rs:24:29
- |
-LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy;
- | ^^^^^^^^^
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/const-impl-trait.rs:28:29
- |
-LL | fn huh() -> impl ~const PartialEq + ~const Destruct + Copy {
- | ^^^^^^^^^
-
-error: aborting due to 6 previous errors
-
-For more information about this error, try `rustc --explain E0635`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-gate.rs b/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-gate.rs
deleted file mode 100644
index dba3ad7f8..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-gate.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-#[derive_const(Default)] //~ ERROR use of unstable library feature
-//~^ ERROR not marked with `#[const_trait]`
-pub struct S;
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-gate.stderr b/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-gate.stderr
deleted file mode 100644
index 6a81f96d8..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-gate.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0658]: use of unstable library feature 'derive_const'
- --> $DIR/derive-const-gate.rs:1:3
- |
-LL | #[derive_const(Default)]
- | ^^^^^^^^^^^^
- |
- = help: add `#![feature(derive_const)]` to the crate attributes to enable
-
-error: const `impl` for trait `Default` which is not marked with `#[const_trait]`
- --> $DIR/derive-const-gate.rs:1:16
- |
-LL | #[derive_const(Default)]
- | ^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
- = note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-non-const-type.rs b/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-non-const-type.rs
deleted file mode 100644
index b575ea8da..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-non-const-type.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// known-bug: #110395
-#![feature(derive_const)]
-
-pub struct A;
-
-impl Default for A {
- fn default() -> A { A }
-}
-
-#[derive_const(Default)]
-pub struct S(A);
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-non-const-type.stderr b/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-non-const-type.stderr
deleted file mode 100644
index 1c69ad431..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-non-const-type.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error: const `impl` for trait `Default` which is not marked with `#[const_trait]`
- --> $DIR/derive-const-non-const-type.rs:10:16
- |
-LL | #[derive_const(Default)]
- | ^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
- = note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-use.rs b/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-use.rs
deleted file mode 100644
index 69098542b..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-use.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// known-bug: #110395
-#![feature(const_trait_impl, const_cmp, const_default_impls, derive_const)]
-
-pub struct A;
-
-impl const Default for A {
- fn default() -> A { A }
-}
-
-impl const PartialEq for A {
- fn eq(&self, _: &A) -> bool { true }
-}
-
-#[derive_const(Default, PartialEq)]
-pub struct S((), A);
-
-const _: () = assert!(S((), A) == S::default());
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-use.stderr b/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-use.stderr
deleted file mode 100644
index 88054096e..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-use.stderr
+++ /dev/null
@@ -1,53 +0,0 @@
-error[E0635]: unknown feature `const_cmp`
- --> $DIR/derive-const-use.rs:2:30
- |
-LL | #![feature(const_trait_impl, const_cmp, const_default_impls, derive_const)]
- | ^^^^^^^^^
-
-error[E0635]: unknown feature `const_default_impls`
- --> $DIR/derive-const-use.rs:2:41
- |
-LL | #![feature(const_trait_impl, const_cmp, const_default_impls, derive_const)]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: const `impl` for trait `Default` which is not marked with `#[const_trait]`
- --> $DIR/derive-const-use.rs:6:12
- |
-LL | impl const Default for A {
- | ^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: const `impl` for trait `PartialEq` which is not marked with `#[const_trait]`
- --> $DIR/derive-const-use.rs:10:12
- |
-LL | impl const PartialEq for A {
- | ^^^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: const `impl` for trait `Default` which is not marked with `#[const_trait]`
- --> $DIR/derive-const-use.rs:14:16
- |
-LL | #[derive_const(Default, PartialEq)]
- | ^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
- = note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: const `impl` for trait `PartialEq` which is not marked with `#[const_trait]`
- --> $DIR/derive-const-use.rs:14:25
- |
-LL | #[derive_const(Default, PartialEq)]
- | ^^^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
- = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to 6 previous errors
-
-For more information about this error, try `rustc --explain E0635`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-with-params.rs b/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-with-params.rs
deleted file mode 100644
index 2a5d0176b..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-with-params.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// known-bug: #110395
-
-#![feature(derive_const)]
-#![feature(const_trait_impl)]
-
-#[derive_const(PartialEq)]
-pub struct Reverse<T>(T);
-
-const fn foo(a: Reverse<i32>, b: Reverse<i32>) -> bool {
- a == b
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-with-params.stderr b/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-with-params.stderr
deleted file mode 100644
index fa7832658..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/const_derives/derive-const-with-params.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: const `impl` for trait `PartialEq` which is not marked with `#[const_trait]`
- --> $DIR/derive-const-with-params.rs:6:16
- |
-LL | #[derive_const(PartialEq)]
- | ^^^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
- = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/derive-const-with-params.rs:6:16
- |
-LL | #[derive_const(PartialEq)]
- | ^^^^^^^^^
- |
- = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/cross-crate-default-method-body-is-const.rs b/tests/ui/rfc-2632-const-trait-impl/cross-crate-default-method-body-is-const.rs
deleted file mode 100644
index bde8bf20f..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/cross-crate-default-method-body-is-const.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// This tests that `const_trait` default methods can
-// be called from a const context when used across crates.
-//
-// check-pass
-
-#![feature(const_trait_impl)]
-
-// aux-build: cross-crate.rs
-extern crate cross_crate;
-
-use cross_crate::*;
-
-const _: () = {
- Const.func();
- Const.defaulted_func();
-};
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/cross-crate.gatednc.stderr b/tests/ui/rfc-2632-const-trait-impl/cross-crate.gatednc.stderr
deleted file mode 100644
index 633b7cc25..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/cross-crate.gatednc.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0277]: the trait bound `cross_crate::NonConst: ~const cross_crate::MyTrait` is not satisfied
- --> $DIR/cross-crate.rs:17:14
- |
-LL | NonConst.func();
- | ^^^^ the trait `~const cross_crate::MyTrait` is not implemented for `cross_crate::NonConst`
- |
-note: the trait `cross_crate::MyTrait` is implemented for `cross_crate::NonConst`, but that implementation is not `const`
- --> $DIR/cross-crate.rs:17:5
- |
-LL | NonConst.func();
- | ^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/cross-crate.rs b/tests/ui/rfc-2632-const-trait-impl/cross-crate.rs
deleted file mode 100644
index 6df47022c..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/cross-crate.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-// revisions: stock gated stocknc gatednc
-// [gated] check-pass
-#![cfg_attr(any(gated, gatednc), feature(const_trait_impl))]
-
-// aux-build: cross-crate.rs
-extern crate cross_crate;
-
-use cross_crate::*;
-
-fn non_const_context() {
- NonConst.func();
- Const.func();
-}
-
-const fn const_context() {
- #[cfg(any(stocknc, gatednc))]
- NonConst.func();
- //[stocknc]~^ ERROR: the trait bound
- //[gatednc]~^^ ERROR: the trait bound
- Const.func();
- //[stock]~^ ERROR: cannot call
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/cross-crate.stock.stderr b/tests/ui/rfc-2632-const-trait-impl/cross-crate.stock.stderr
deleted file mode 100644
index 22f13a741..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/cross-crate.stock.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0015]: cannot call non-const fn `<cross_crate::Const as cross_crate::MyTrait>::func` in constant functions
- --> $DIR/cross-crate.rs:20:11
- |
-LL | Const.func();
- | ^^^^^^
- |
- = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
- = help: add `#![feature(const_trait_impl)]` to the crate attributes to enable
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0015`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/cross-crate.stocknc.stderr b/tests/ui/rfc-2632-const-trait-impl/cross-crate.stocknc.stderr
deleted file mode 100644
index 9e97d3f11..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/cross-crate.stocknc.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0277]: the trait bound `cross_crate::NonConst: cross_crate::MyTrait` is not satisfied
- --> $DIR/cross-crate.rs:17:14
- |
-LL | NonConst.func();
- | ^^^^ the trait `~const cross_crate::MyTrait` is not implemented for `cross_crate::NonConst`
- |
-note: the trait `cross_crate::MyTrait` is implemented for `cross_crate::NonConst`, but that implementation is not `const`
- --> $DIR/cross-crate.rs:17:5
- |
-LL | NonConst.func();
- | ^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.rs b/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.rs
deleted file mode 100644
index 96acdc300..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Tr {}
-impl Tr for () {}
-
-const fn foo<T>() where T: ~const Tr {}
-
-#[const_trait]
-pub trait Foo {
- fn foo() {
- foo::<()>();
- //~^ ERROR the trait bound `(): ~const Tr` is not satisfied
- }
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.stderr b/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.stderr
deleted file mode 100644
index 26644f72c..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0277]: the trait bound `(): ~const Tr` is not satisfied
- --> $DIR/default-method-body-is-const-body-checking.rs:12:9
- |
-LL | foo::<()>();
- | ^^^^^^^^^^^ the trait `~const Tr` is not implemented for `()`
- |
-note: the trait `Tr` is implemented for `()`, but that implementation is not `const`
- --> $DIR/default-method-body-is-const-body-checking.rs:12:9
- |
-LL | foo::<()>();
- | ^^^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.rs b/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.rs
deleted file mode 100644
index f70ecbc37..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-#![feature(const_trait_impl)]
-
-#[const_trait]
-pub trait Tr {
- fn a(&self) {}
-
- fn b(&self) {
- ().a()
- //~^ ERROR the trait bound
- }
-}
-
-impl Tr for () {}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.stderr b/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.stderr
deleted file mode 100644
index 21ecddaff..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0277]: the trait bound `(): ~const Tr` is not satisfied
- --> $DIR/default-method-body-is-const-same-trait-ck.rs:8:12
- |
-LL | ().a()
- | ^ the trait `~const Tr` is not implemented for `()`
- |
-note: the trait `Tr` is implemented for `()`, but that implementation is not `const`
- --> $DIR/default-method-body-is-const-same-trait-ck.rs:8:9
- |
-LL | ().a()
- | ^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-with-staged-api.rs b/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-with-staged-api.rs
deleted file mode 100644
index 1b45cd9aa..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/default-method-body-is-const-with-staged-api.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// check-pass
-
-// This was an ICE, because the compiler ensures the
-// function to be const when performing const checking,
-// but functions marked with the attribute are not const
-// *and* subject to const checking.
-
-#![feature(staged_api)]
-#![feature(const_trait_impl)]
-#![stable(since = "1", feature = "foo")]
-
-#[const_trait]
-trait Tr {
- fn a() {}
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/do-not-const-check-override.rs b/tests/ui/rfc-2632-const-trait-impl/do-not-const-check-override.rs
deleted file mode 100644
index 730e268c0..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/do-not-const-check-override.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// check-pass
-#![feature(const_trait_impl, rustc_attrs)]
-
-#[const_trait]
-trait Foo {
- #[rustc_do_not_const_check]
- fn into_iter(&self) { println!("FEAR ME!") }
-}
-
-
-impl const Foo for () {
- fn into_iter(&self) {
- // ^_^
- }
-}
-
-const _: () = Foo::into_iter(&());
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/do-not-const-check.rs b/tests/ui/rfc-2632-const-trait-impl/do-not-const-check.rs
deleted file mode 100644
index 3c39c53de..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/do-not-const-check.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// check-pass
-#![feature(const_trait_impl, rustc_attrs)]
-
-#[const_trait]
-trait IntoIter {
- fn into_iter(self);
-}
-
-#[const_trait]
-trait Hmm: Sized {
- #[rustc_do_not_const_check]
- fn chain<U>(self, other: U) where U: IntoIter,
- {
- other.into_iter()
- }
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/feature-gate.gated.stderr b/tests/ui/rfc-2632-const-trait-impl/feature-gate.gated.stderr
deleted file mode 100644
index 4c630d33c..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/feature-gate.gated.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: fatal error triggered by #[rustc_error]
- --> $DIR/feature-gate.rs:14:1
- |
-LL | fn main() {}
- | ^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/feature-gate.rs b/tests/ui/rfc-2632-const-trait-impl/feature-gate.rs
deleted file mode 100644
index 0b409fbaa..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/feature-gate.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// revisions: stock gated
-// gate-test-const_trait_impl
-
-#![cfg_attr(gated, feature(const_trait_impl))]
-#![feature(rustc_attrs)]
-
-struct S;
-#[const_trait] //[stock]~ ERROR `const_trait` is a temporary placeholder
-trait T {}
-impl const T for S {}
-//[stock]~^ ERROR const trait impls are experimental
-
-#[rustc_error]
-fn main() {} //[gated]~ ERROR fatal error triggered by #[rustc_error]
diff --git a/tests/ui/rfc-2632-const-trait-impl/feature-gate.stock.stderr b/tests/ui/rfc-2632-const-trait-impl/feature-gate.stock.stderr
deleted file mode 100644
index 0e938c1c5..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/feature-gate.stock.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0658]: const trait impls are experimental
- --> $DIR/feature-gate.rs:10:6
- |
-LL | impl const T for S {}
- | ^^^^^
- |
- = note: see issue #67792 <https://github.com/rust-lang/rust/issues/67792> for more information
- = help: add `#![feature(const_trait_impl)]` to the crate attributes to enable
-
-error[E0658]: `const_trait` is a temporary placeholder for marking a trait that is suitable for `const` `impls` and all default bodies as `const`, which may be removed or renamed in the future.
- --> $DIR/feature-gate.rs:8:1
- |
-LL | #[const_trait]
- | ^^^^^^^^^^^^^^
- |
- = note: see issue #67792 <https://github.com/rust-lang/rust/issues/67792> for more information
- = help: add `#![feature(const_trait_impl)]` to the crate attributes to enable
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/function-pointer-does-not-require-const.rs b/tests/ui/rfc-2632-const-trait-impl/function-pointer-does-not-require-const.rs
deleted file mode 100644
index 60790e297..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/function-pointer-does-not-require-const.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// check-pass
-#![feature(const_trait_impl)]
-
-#[const_trait]
-pub trait Test {}
-
-impl Test for () {}
-
-pub const fn test<T: ~const Test>() {}
-
-pub const fn min_by_i32() -> fn() {
- test::<()>
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/gate.rs b/tests/ui/rfc-2632-const-trait-impl/gate.rs
deleted file mode 100644
index d1c93ab9f..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/gate.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// gate-test-const_closures
-
-fn main() {
- (const || {})();
- //~^ ERROR: const closures are experimental
-}
-
-macro_rules! e {
- ($e:expr) => {}
-}
-
-e!((const || {}));
-//~^ ERROR const closures are experimental
diff --git a/tests/ui/rfc-2632-const-trait-impl/gate.stderr b/tests/ui/rfc-2632-const-trait-impl/gate.stderr
deleted file mode 100644
index 11cc2cd56..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/gate.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0658]: const closures are experimental
- --> $DIR/gate.rs:4:6
- |
-LL | (const || {})();
- | ^^^^^
- |
- = note: see issue #106003 <https://github.com/rust-lang/rust/issues/106003> for more information
- = help: add `#![feature(const_closures)]` to the crate attributes to enable
-
-error[E0658]: const closures are experimental
- --> $DIR/gate.rs:12:5
- |
-LL | e!((const || {}));
- | ^^^^^
- |
- = note: see issue #106003 <https://github.com/rust-lang/rust/issues/106003> for more information
- = help: add `#![feature(const_closures)]` to the crate attributes to enable
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/generic-bound.rs b/tests/ui/rfc-2632-const-trait-impl/generic-bound.rs
deleted file mode 100644
index d665c4479..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/generic-bound.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-// known-bug: #110395
-
-#![feature(const_trait_impl)]
-
-use std::marker::PhantomData;
-
-struct S<T>(PhantomData<T>);
-
-impl<T> Copy for S<T> {}
-impl<T> Clone for S<T> {
- fn clone(&self) -> Self {
- S(PhantomData)
- }
-}
-
-impl<T> const std::ops::Add for S<T> {
- type Output = Self;
-
- fn add(self, _: Self) -> Self {
- S(std::marker::PhantomData)
- }
-}
-
-const fn twice<T: std::ops::Add>(arg: S<T>) -> S<T> {
- arg + arg
-}
-
-fn main() {
- let _ = twice(S(PhantomData::<i32>));
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/generic-bound.stderr b/tests/ui/rfc-2632-const-trait-impl/generic-bound.stderr
deleted file mode 100644
index 1b21d7c0e..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/generic-bound.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error: const `impl` for trait `Add` which is not marked with `#[const_trait]`
- --> $DIR/generic-bound.rs:16:15
- |
-LL | impl<T> const std::ops::Add for S<T> {
- | ^^^^^^^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/hir-const-check.rs b/tests/ui/rfc-2632-const-trait-impl/hir-const-check.rs
deleted file mode 100644
index 337c73340..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/hir-const-check.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Regression test for #69615.
-
-#![feature(const_trait_impl)]
-
-#[const_trait]
-pub trait MyTrait {
- fn method(&self) -> Option<()>;
-}
-
-impl const MyTrait for () {
- fn method(&self) -> Option<()> {
- Some(())?; //~ ERROR `?` is not allowed in a `const fn`
- None
- }
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/hir-const-check.stderr b/tests/ui/rfc-2632-const-trait-impl/hir-const-check.stderr
deleted file mode 100644
index 6d2be1daa..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/hir-const-check.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0658]: `?` is not allowed in a `const fn`
- --> $DIR/hir-const-check.rs:12:9
- |
-LL | Some(())?;
- | ^^^^^^^^^
- |
- = note: see issue #74935 <https://github.com/rust-lang/rust/issues/74935> for more information
- = help: add `#![feature(const_try)]` to the crate attributes to enable
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/impl-tilde-const-trait.rs b/tests/ui/rfc-2632-const-trait-impl/impl-tilde-const-trait.rs
deleted file mode 100644
index 05b26465c..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/impl-tilde-const-trait.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-#![feature(const_trait_impl)]
-
-struct S;
-trait T {}
-
-impl ~const T for S {}
-//~^ ERROR expected a trait, found type
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/impl-tilde-const-trait.stderr b/tests/ui/rfc-2632-const-trait-impl/impl-tilde-const-trait.stderr
deleted file mode 100644
index 0a91719e1..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/impl-tilde-const-trait.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: expected a trait, found type
- --> $DIR/impl-tilde-const-trait.rs:6:6
- |
-LL | impl ~const T for S {}
- | ^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/impl-with-default-fn-fail.rs b/tests/ui/rfc-2632-const-trait-impl/impl-with-default-fn-fail.rs
deleted file mode 100644
index 6df9696f2..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/impl-with-default-fn-fail.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Tr {
- fn req(&self);
-
- fn default() {}
-}
-
-struct S;
-
-impl const Tr for u16 {
- fn default() {}
-} //~^^ ERROR not all trait items implemented
-
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/impl-with-default-fn-fail.stderr b/tests/ui/rfc-2632-const-trait-impl/impl-with-default-fn-fail.stderr
deleted file mode 100644
index 6c6ca9f5d..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/impl-with-default-fn-fail.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0046]: not all trait items implemented, missing: `req`
- --> $DIR/impl-with-default-fn-fail.rs:12:1
- |
-LL | fn req(&self);
- | -------------- `req` from trait
-...
-LL | impl const Tr for u16 {
- | ^^^^^^^^^^^^^^^^^^^^^ missing `req` in implementation
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0046`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/impl-with-default-fn-pass.rs b/tests/ui/rfc-2632-const-trait-impl/impl-with-default-fn-pass.rs
deleted file mode 100644
index ae81421e9..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/impl-with-default-fn-pass.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-// check-pass
-
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Tr {
- fn req(&self);
-
- fn default() {}
-}
-
-impl const Tr for u8 {
- fn req(&self) {}
-}
-
-macro_rules! impl_tr {
- ($ty: ty) => {
- impl const Tr for $ty {
- fn req(&self) {}
- }
- }
-}
-
-impl_tr!(u64);
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/inherent-impl-const-bounds.rs b/tests/ui/rfc-2632-const-trait-impl/inherent-impl-const-bounds.rs
deleted file mode 100644
index f8ac793e4..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/inherent-impl-const-bounds.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-// check-pass
-#![feature(const_trait_impl)]
-
-struct S;
-
-#[const_trait]
-trait A {}
-#[const_trait]
-trait B {}
-
-impl const A for S {}
-impl const B for S {}
-
-impl S {
- const fn a<T: ~const A>() where T: ~const B {
-
- }
-}
-
-const _: () = S::a::<S>();
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/inherent-impl.rs b/tests/ui/rfc-2632-const-trait-impl/inherent-impl.rs
deleted file mode 100644
index afd0d137b..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/inherent-impl.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-#![feature(const_trait_impl)]
-#![allow(bare_trait_objects)]
-
-struct S;
-trait T {}
-
-impl const S {}
-//~^ ERROR inherent impls cannot be `const`
-
-impl const T {}
-//~^ ERROR inherent impls cannot be `const`
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/inherent-impl.stderr b/tests/ui/rfc-2632-const-trait-impl/inherent-impl.stderr
deleted file mode 100644
index 8c5562703..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/inherent-impl.stderr
+++ /dev/null
@@ -1,22 +0,0 @@
-error: inherent impls cannot be `const`
- --> $DIR/inherent-impl.rs:7:12
- |
-LL | impl const S {}
- | ----- ^ inherent impl for this type
- | |
- | `const` because of this
- |
- = note: only trait implementations may be annotated with `const`
-
-error: inherent impls cannot be `const`
- --> $DIR/inherent-impl.rs:10:12
- |
-LL | impl const T {}
- | ----- ^ inherent impl for this type
- | |
- | `const` because of this
- |
- = note: only trait implementations may be annotated with `const`
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-100222.rs b/tests/ui/rfc-2632-const-trait-impl/issue-100222.rs
deleted file mode 100644
index 9f3f38ad4..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-100222.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-// revisions: nn ny yn yy
-// check-pass
-#![feature(const_trait_impl, associated_type_defaults, const_mut_refs)]
-
-#[cfg_attr(any(yn, yy), const_trait)]
-pub trait Index {
- type Output;
-}
-
-#[cfg_attr(any(ny, yy), const_trait)]
-pub trait IndexMut where Self: Index {
- const C: <Self as Index>::Output;
- type Assoc = <Self as Index>::Output;
- fn foo(&mut self, x: <Self as Index>::Output) -> <Self as Index>::Output;
-}
-
-impl Index for () { type Output = (); }
-
-#[cfg(not(any(nn, yn)))]
-impl const IndexMut for <() as Index>::Output {
- const C: <Self as Index>::Output = ();
- type Assoc = <Self as Index>::Output;
- fn foo(&mut self, x: <Self as Index>::Output) -> <Self as Index>::Output
- where <Self as Index>::Output:,
- {}
-}
-
-#[cfg(any(nn, yn))]
-impl IndexMut for <() as Index>::Output {
- const C: <Self as Index>::Output = ();
- type Assoc = <Self as Index>::Output;
- fn foo(&mut self, x: <Self as Index>::Output) -> <Self as Index>::Output
- where <Self as Index>::Output:,
- {}
-}
-
-const C: <() as Index>::Output = ();
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-102156.rs b/tests/ui/rfc-2632-const-trait-impl/issue-102156.rs
deleted file mode 100644
index fe4e91081..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-102156.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-#![feature(allocator_api)]
-#![feature(const_trait_impl)]
-
-use core::convert::{From, TryFrom};
-//~^ ERROR
-//~| ERROR
-
-use std::pin::Pin;
-use std::alloc::Allocator;
-impl<T: ?Sized, A: Allocator> const From<Box<T, A>> for Pin<Box<T, A>>
-where
- A: 'static,
-{}
-
-pub fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-102156.stderr b/tests/ui/rfc-2632-const-trait-impl/issue-102156.stderr
deleted file mode 100644
index 8bf00eaff..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-102156.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error[E0433]: failed to resolve: maybe a missing crate `core`?
- --> $DIR/issue-102156.rs:4:5
- |
-LL | use core::convert::{From, TryFrom};
- | ^^^^ maybe a missing crate `core`?
- |
- = help: consider adding `extern crate core` to use the `core` crate
-
-error[E0433]: failed to resolve: maybe a missing crate `core`?
- --> $DIR/issue-102156.rs:4:5
- |
-LL | use core::convert::{From, TryFrom};
- | ^^^^ maybe a missing crate `core`?
- |
- = help: consider adding `extern crate core` to use the `core` crate
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0433`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-102985.rs b/tests/ui/rfc-2632-const-trait-impl/issue-102985.rs
deleted file mode 100644
index 07d3f51ed..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-102985.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-#![feature(const_trait_impl)]
-
-struct Bug {
- inner: [(); match || 1 {
- n => n(),
- //~^ ERROR the trait bound
- //~| ERROR the trait bound
- //~| ERROR cannot call non-const closure in constants
- }],
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-102985.stderr b/tests/ui/rfc-2632-const-trait-impl/issue-102985.stderr
deleted file mode 100644
index b98ccbe5d..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-102985.stderr
+++ /dev/null
@@ -1,41 +0,0 @@
-error[E0277]: the trait bound `[closure@$DIR/issue-102985.rs:4:23: 4:25]: ~const Fn<()>` is not satisfied
- --> $DIR/issue-102985.rs:5:14
- |
-LL | n => n(),
- | ^^^ expected an `Fn<()>` closure, found `[closure@$DIR/issue-102985.rs:4:23: 4:25]`
- |
- = help: the trait `~const Fn<()>` is not implemented for closure `[closure@$DIR/issue-102985.rs:4:23: 4:25]`
-note: the trait `Fn<()>` is implemented for `[closure@$DIR/issue-102985.rs:4:23: 4:25]`, but that implementation is not `const`
- --> $DIR/issue-102985.rs:5:14
- |
-LL | n => n(),
- | ^^^
- = note: wrap the `[closure@$DIR/issue-102985.rs:4:23: 4:25]` in a closure with no arguments: `|| { /* code */ }`
-
-error[E0277]: the trait bound `[closure@$DIR/issue-102985.rs:4:23: 4:25]: ~const Fn<()>` is not satisfied
- --> $DIR/issue-102985.rs:5:14
- |
-LL | n => n(),
- | ^^^ expected an `Fn<()>` closure, found `[closure@$DIR/issue-102985.rs:4:23: 4:25]`
- |
- = help: the trait `~const Fn<()>` is not implemented for closure `[closure@$DIR/issue-102985.rs:4:23: 4:25]`
-note: the trait `Fn<()>` is implemented for `[closure@$DIR/issue-102985.rs:4:23: 4:25]`, but that implementation is not `const`
- --> $DIR/issue-102985.rs:5:14
- |
-LL | n => n(),
- | ^^^
- = note: wrap the `[closure@$DIR/issue-102985.rs:4:23: 4:25]` in a closure with no arguments: `|| { /* code */ }`
-
-error[E0015]: cannot call non-const closure in constants
- --> $DIR/issue-102985.rs:5:14
- |
-LL | n => n(),
- | ^^^
- |
- = note: closures need an RFC before allowed to be called in constants
- = note: calls in constants are limited to constant functions, tuple structs and tuple variants
-
-error: aborting due to 3 previous errors
-
-Some errors have detailed explanations: E0015, E0277.
-For more information about an error, try `rustc --explain E0015`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-103677.rs b/tests/ui/rfc-2632-const-trait-impl/issue-103677.rs
deleted file mode 100644
index d81724a36..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-103677.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-// check-pass
-
-const _: fn(&String) = |s| { &*s as &str; };
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-79450.rs b/tests/ui/rfc-2632-const-trait-impl/issue-79450.rs
deleted file mode 100644
index b604c65d7..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-79450.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-#![feature(const_fmt_arguments_new)]
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Tr {
- fn req(&self);
-
- fn prov(&self) {
- println!("lul"); //~ ERROR: cannot call non-const fn `_print` in constant functions
- self.req();
- }
-}
-
-struct S;
-
-impl const Tr for S {
- fn req(&self) {}
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-79450.stderr b/tests/ui/rfc-2632-const-trait-impl/issue-79450.stderr
deleted file mode 100644
index 082c0333f..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-79450.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0015]: cannot call non-const fn `_print` in constant functions
- --> $DIR/issue-79450.rs:9:9
- |
-LL | println!("lul");
- | ^^^^^^^^^^^^^^^
- |
- = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
- = note: this error originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0015`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-88155.rs b/tests/ui/rfc-2632-const-trait-impl/issue-88155.rs
deleted file mode 100644
index b132c395a..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-88155.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-#![feature(const_trait_impl)]
-
-pub trait A {
- fn assoc() -> bool;
-}
-
-pub const fn foo<T: A>() -> bool {
- T::assoc()
- //~^ ERROR the trait bound
- //~| ERROR cannot call non-const fn
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-88155.stderr b/tests/ui/rfc-2632-const-trait-impl/issue-88155.stderr
deleted file mode 100644
index 955923505..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-88155.stderr
+++ /dev/null
@@ -1,24 +0,0 @@
-error[E0277]: the trait bound `T: ~const A` is not satisfied
- --> $DIR/issue-88155.rs:8:5
- |
-LL | T::assoc()
- | ^^^^^^^^^^ the trait `~const A` is not implemented for `T`
- |
-note: the trait `A` is implemented for `T`, but that implementation is not `const`
- --> $DIR/issue-88155.rs:8:5
- |
-LL | T::assoc()
- | ^^^^^^^^^^
-
-error[E0015]: cannot call non-const fn `<T as A>::assoc` in constant functions
- --> $DIR/issue-88155.rs:8:5
- |
-LL | T::assoc()
- | ^^^^^^^^^^
- |
- = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error: aborting due to 2 previous errors
-
-Some errors have detailed explanations: E0015, E0277.
-For more information about an error, try `rustc --explain E0015`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-90052.rs b/tests/ui/rfc-2632-const-trait-impl/issue-90052.rs
deleted file mode 100644
index 21ddf4ab4..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-90052.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Bar {}
-
-fn foo<T>() where T: ~const Bar {}
-//~^ ERROR `~const` is not allowed
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-90052.stderr b/tests/ui/rfc-2632-const-trait-impl/issue-90052.stderr
deleted file mode 100644
index b2a936537..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-90052.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: `~const` is not allowed here
- --> $DIR/issue-90052.rs:6:22
- |
-LL | fn foo<T>() where T: ~const Bar {}
- | ^^^^^^^^^^
- |
-note: this function is not `const`, so it cannot have `~const` trait bounds
- --> $DIR/issue-90052.rs:6:4
- |
-LL | fn foo<T>() where T: ~const Bar {}
- | ^^^
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-92111.rs b/tests/ui/rfc-2632-const-trait-impl/issue-92111.rs
deleted file mode 100644
index 96a3e386e..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-92111.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-// Regression test for #92111.
-//
-// check-pass
-
-#![feature(const_trait_impl)]
-
-use std::marker::Destruct;
-
-pub trait Tr {}
-
-#[allow(drop_bounds)]
-impl<T: Drop> Tr for T {}
-
-#[derive(Debug)]
-pub struct S(i32);
-
-impl Tr for S {}
-
-const fn a<T: ~const Destruct>(t: T) {}
-
-fn main() {
- a(S(0));
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/issue-92230-wf-super-trait-env.rs b/tests/ui/rfc-2632-const-trait-impl/issue-92230-wf-super-trait-env.rs
deleted file mode 100644
index 4d3469653..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/issue-92230-wf-super-trait-env.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Regression test for #92230.
-//
-// check-pass
-
-#![feature(const_trait_impl)]
-
-#[const_trait]
-pub trait Super {}
-#[const_trait]
-pub trait Sub: Super {}
-
-impl<A> const Super for &A where A: ~const Super {}
-impl<A> const Sub for &A where A: ~const Sub {}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/nested-closure.rs b/tests/ui/rfc-2632-const-trait-impl/nested-closure.rs
deleted file mode 100644
index 0b423b340..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/nested-closure.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// check-pass
-
-#![feature(const_trait_impl, lazy_cell)]
-
-use std::sync::LazyLock;
-
-static EXTERN_FLAGS: LazyLock<String> = LazyLock::new(|| {
- let x = || String::new();
- x()
-});
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/non-const-op-const-closure-non-const-outer.rs b/tests/ui/rfc-2632-const-trait-impl/non-const-op-const-closure-non-const-outer.rs
deleted file mode 100644
index cd8bb5963..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/non-const-op-const-closure-non-const-outer.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-#![feature(const_closures, const_trait_impl)]
-#![allow(incomplete_features)]
-
-trait Foo {
- fn foo(&self);
-}
-
-impl Foo for () {
- fn foo(&self) {}
-}
-
-fn main() {
- (const || { (()).foo() })();
- //~^ ERROR: cannot call non-const fn
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/non-const-op-const-closure-non-const-outer.stderr b/tests/ui/rfc-2632-const-trait-impl/non-const-op-const-closure-non-const-outer.stderr
deleted file mode 100644
index 979d7febb..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/non-const-op-const-closure-non-const-outer.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0015]: cannot call non-const fn `<() as Foo>::foo` in constant functions
- --> $DIR/non-const-op-const-closure-non-const-outer.rs:13:22
- |
-LL | (const || { (()).foo() })();
- | ^^^^^
- |
- = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0015`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/non-const-op-in-closure-in-const.rs b/tests/ui/rfc-2632-const-trait-impl/non-const-op-in-closure-in-const.rs
deleted file mode 100644
index dff8a2444..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/non-const-op-in-closure-in-const.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// known-bug: #110395
-
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Convert<T> {
- fn to(self) -> T;
-}
-
-impl<A, B> const Convert<B> for A where B: ~const From<A> {
- fn to(self) -> B {
- B::from(self)
- }
-}
-
-const FOO: fn() -> String = || "foo".to();
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/non-const-op-in-closure-in-const.stderr b/tests/ui/rfc-2632-const-trait-impl/non-const-op-in-closure-in-const.stderr
deleted file mode 100644
index cfdda4713..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/non-const-op-in-closure-in-const.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/non-const-op-in-closure-in-const.rs:10:51
- |
-LL | impl<A, B> const Convert<B> for A where B: ~const From<A> {
- | ^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-bound-non-const-specialized-bound.rs b/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-bound-non-const-specialized-bound.rs
deleted file mode 100644
index f31123f16..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-bound-non-const-specialized-bound.rs
+++ /dev/null
@@ -1,58 +0,0 @@
-// Tests that trait bounds on specializing trait impls must be `~const` if the
-// same bound is present on the default impl and is `~const` there.
-
-#![feature(const_trait_impl)]
-#![feature(rustc_attrs)]
-#![feature(min_specialization)]
-
-#[rustc_specialization_trait]
-trait Specialize {}
-
-#[const_trait]
-trait Foo {}
-
-#[const_trait]
-trait Bar {
- fn bar();
-}
-
-// bgr360: I was only able to exercise the code path that raises the
-// "missing ~const qualifier" error by making this base impl non-const, even
-// though that doesn't really make sense to do. As seen below, if the base impl
-// is made const, rustc fails earlier with an overlapping impl failure.
-impl<T> Bar for T
-where
- T: ~const Foo,
-{
- default fn bar() {}
-}
-
-impl<T> Bar for T
-where
- T: Foo, //~ ERROR missing `~const` qualifier
- T: Specialize,
-{
- fn bar() {}
-}
-
-#[const_trait]
-trait Baz {
- fn baz();
-}
-
-impl<T> const Baz for T
-where
- T: ~const Foo,
-{
- default fn baz() {}
-}
-
-impl<T> const Baz for T //~ ERROR conflicting implementations of trait `Baz`
-where
- T: Foo,
- T: Specialize,
-{
- fn baz() {}
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-bound-non-const-specialized-bound.stderr b/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-bound-non-const-specialized-bound.stderr
deleted file mode 100644
index 057cf4aea..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-bound-non-const-specialized-bound.stderr
+++ /dev/null
@@ -1,18 +0,0 @@
-error: missing `~const` qualifier for specialization
- --> $DIR/const-default-bound-non-const-specialized-bound.rs:32:8
- |
-LL | T: Foo,
- | ^^^
-
-error[E0119]: conflicting implementations of trait `Baz`
- --> $DIR/const-default-bound-non-const-specialized-bound.rs:50:1
- |
-LL | impl<T> const Baz for T
- | ----------------------- first implementation here
-...
-LL | impl<T> const Baz for T
- | ^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0119`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-const-specialized.rs b/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-const-specialized.rs
deleted file mode 100644
index 9ddea427c..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-const-specialized.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-// Tests that a const default trait impl can be specialized by another const
-// trait impl and that the specializing impl will be used during const-eval.
-
-// run-pass
-
-#![feature(const_trait_impl)]
-#![feature(min_specialization)]
-
-#[const_trait]
-trait Value {
- fn value() -> u32;
-}
-
-const fn get_value<T: ~const Value>() -> u32 {
- T::value()
-}
-
-impl<T> const Value for T {
- default fn value() -> u32 {
- 0
- }
-}
-
-struct FortyTwo;
-
-impl const Value for FortyTwo {
- fn value() -> u32 {
- 42
- }
-}
-
-const ZERO: u32 = get_value::<()>();
-
-const FORTY_TWO: u32 = get_value::<FortyTwo>();
-
-fn main() {
- assert_eq!(ZERO, 0);
- assert_eq!(FORTY_TWO, 42);
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-impl-non-const-specialized-impl.rs b/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-impl-non-const-specialized-impl.rs
deleted file mode 100644
index a3bb9b3f9..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-impl-non-const-specialized-impl.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-// Tests that specializing trait impls must be at least as const as the default impl.
-
-#![feature(const_trait_impl)]
-#![feature(min_specialization)]
-
-#[const_trait]
-trait Value {
- fn value() -> u32;
-}
-
-impl<T> const Value for T {
- default fn value() -> u32 {
- 0
- }
-}
-
-struct FortyTwo;
-
-impl Value for FortyTwo { //~ ERROR cannot specialize on const impl with non-const impl
- fn value() -> u32 {
- println!("You can't do that (constly)");
- 42
- }
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-impl-non-const-specialized-impl.stderr b/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-impl-non-const-specialized-impl.stderr
deleted file mode 100644
index 247668047..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/specialization/const-default-impl-non-const-specialized-impl.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: cannot specialize on const impl with non-const impl
- --> $DIR/const-default-impl-non-const-specialized-impl.rs:19:1
- |
-LL | impl Value for FortyTwo {
- | ^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/specialization/default-keyword.rs b/tests/ui/rfc-2632-const-trait-impl/specialization/default-keyword.rs
deleted file mode 100644
index 2aac0a2b4..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/specialization/default-keyword.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// check-pass
-
-#![feature(const_trait_impl)]
-#![feature(min_specialization)]
-
-#[const_trait]
-trait Foo {
- fn foo();
-}
-
-impl const Foo for u32 {
- default fn foo() {}
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/specialization/issue-95186-specialize-on-tilde-const.rs b/tests/ui/rfc-2632-const-trait-impl/specialization/issue-95186-specialize-on-tilde-const.rs
deleted file mode 100644
index 92d8be6bb..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/specialization/issue-95186-specialize-on-tilde-const.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-// Tests that `~const` trait bounds can be used to specialize const trait impls.
-
-// check-pass
-
-#![feature(const_trait_impl)]
-#![feature(rustc_attrs)]
-#![feature(min_specialization)]
-
-#[const_trait]
-#[rustc_specialization_trait]
-trait Specialize {}
-
-#[const_trait]
-trait Foo {
- fn foo();
-}
-
-impl<T> const Foo for T {
- default fn foo() {}
-}
-
-impl<T> const Foo for T
-where
- T: ~const Specialize,
-{
- fn foo() {}
-}
-
-#[const_trait]
-trait Bar {
- fn bar() {}
-}
-
-impl<T> const Bar for T
-where
- T: ~const Foo,
-{
- default fn bar() {}
-}
-
-impl<T> const Bar for T
-where
- T: ~const Foo,
- T: ~const Specialize,
-{
- fn bar() {}
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/specialization/issue-95187-same-trait-bound-different-constness.rs b/tests/ui/rfc-2632-const-trait-impl/specialization/issue-95187-same-trait-bound-different-constness.rs
deleted file mode 100644
index 51bfaf73b..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/specialization/issue-95187-same-trait-bound-different-constness.rs
+++ /dev/null
@@ -1,57 +0,0 @@
-// Tests that `T: ~const Foo` in a specializing impl is treated as equivalent to
-// `T: Foo` in the default impl for the purposes of specialization (i.e., it
-// does not think that the user is attempting to specialize on trait `Foo`).
-
-// check-pass
-
-#![feature(rustc_attrs)]
-#![feature(min_specialization)]
-#![feature(const_trait_impl)]
-
-#[rustc_specialization_trait]
-trait Specialize {}
-
-#[const_trait]
-trait Foo {}
-
-#[const_trait]
-trait Bar {
- fn bar();
-}
-
-impl<T> Bar for T
-where
- T: Foo,
-{
- default fn bar() {}
-}
-
-impl<T> const Bar for T
-where
- T: ~const Foo,
- T: Specialize,
-{
- fn bar() {}
-}
-
-#[const_trait]
-trait Baz {
- fn baz();
-}
-
-impl<T> const Baz for T
-where
- T: Foo,
-{
- default fn baz() {}
-}
-
-impl<T> const Baz for T
-where
- T: ~const Foo,
- T: Specialize,
-{
- fn baz() {}
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/specialization/non-const-default-const-specialized.rs b/tests/ui/rfc-2632-const-trait-impl/specialization/non-const-default-const-specialized.rs
deleted file mode 100644
index 35aa52fbd..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/specialization/non-const-default-const-specialized.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-// Tests that a non-const default impl can be specialized by a const trait impl,
-// but that the default impl cannot be used in a const context.
-
-// run-pass
-
-#![feature(const_trait_impl)]
-#![feature(min_specialization)]
-
-#[const_trait]
-trait Value {
- fn value() -> u32;
-}
-
-const fn get_value<T: ~const Value>() -> u32 {
- T::value()
-}
-
-impl<T> Value for T {
- default fn value() -> u32 {
- println!("You can't do that (constly)");
- 0
- }
-}
-
-struct FortyTwo;
-
-impl const Value for FortyTwo {
- fn value() -> u32 {
- 42
- }
-}
-
-fn main() {
- let zero = get_value::<()>();
- assert_eq!(zero, 0);
-
- const FORTY_TWO: u32 = get_value::<FortyTwo>();
- assert_eq!(FORTY_TWO, 42);
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/specializing-constness-2.rs b/tests/ui/rfc-2632-const-trait-impl/specializing-constness-2.rs
deleted file mode 100644
index 633543700..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/specializing-constness-2.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-#![feature(const_trait_impl, min_specialization, rustc_attrs)]
-
-#[rustc_specialization_trait]
-#[const_trait]
-pub trait Sup {}
-
-impl const Sup for () {}
-
-#[const_trait]
-pub trait A {
- fn a() -> u32;
-}
-
-impl<T: Default> A for T {
- default fn a() -> u32 {
- 2
- }
-}
-
-impl<T: Default + ~const Sup> const A for T {
- fn a() -> u32 {
- 3
- }
-}
-
-const fn generic<T: Default>() {
- <T as A>::a();
- //~^ ERROR: the trait bound `T: ~const Sup` is not satisfied
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/specializing-constness-2.stderr b/tests/ui/rfc-2632-const-trait-impl/specializing-constness-2.stderr
deleted file mode 100644
index 8923416f4..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/specializing-constness-2.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0277]: the trait bound `T: ~const Sup` is not satisfied
- --> $DIR/specializing-constness-2.rs:27:5
- |
-LL | <T as A>::a();
- | ^^^^^^^^^^^^^ the trait `~const Sup` is not implemented for `T`
- |
-note: required for `T` to implement `~const A`
- --> $DIR/specializing-constness-2.rs:20:37
- |
-LL | impl<T: Default + ~const Sup> const A for T {
- | ---------- ^ ^
- | |
- | unsatisfied trait bound introduced here
-help: consider further restricting this bound
- |
-LL | const fn generic<T: Default + ~const Sup>() {
- | ++++++++++++
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/specializing-constness.rs b/tests/ui/rfc-2632-const-trait-impl/specializing-constness.rs
deleted file mode 100644
index 5c2a3f801..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/specializing-constness.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-#![feature(const_trait_impl, min_specialization, rustc_attrs)]
-
-#[rustc_specialization_trait]
-#[const_trait]
-pub trait Sup {}
-
-impl const Sup for () {}
-
-#[const_trait]
-pub trait A {
- fn a() -> u32;
-}
-
-#[const_trait]
-pub trait Spec {}
-
-impl<T: ~const Spec> const A for T {
- default fn a() -> u32 {
- 2
- }
-}
-
-impl<T: Spec + Sup> A for T {
-//~^ ERROR: cannot specialize
-//~| ERROR: missing `~const` qualifier
- fn a() -> u32 {
- 3
- }
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/specializing-constness.stderr b/tests/ui/rfc-2632-const-trait-impl/specializing-constness.stderr
deleted file mode 100644
index 1ffdc50e5..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/specializing-constness.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: cannot specialize on const impl with non-const impl
- --> $DIR/specializing-constness.rs:23:1
- |
-LL | impl<T: Spec + Sup> A for T {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: missing `~const` qualifier for specialization
- --> $DIR/specializing-constness.rs:23:9
- |
-LL | impl<T: Spec + Sup> A for T {
- | ^^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/staged-api-user-crate.rs b/tests/ui/rfc-2632-const-trait-impl/staged-api-user-crate.rs
deleted file mode 100644
index fc0d82727..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/staged-api-user-crate.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// aux-build: staged-api.rs
-extern crate staged_api;
-
-use staged_api::*;
-
-// Const stability has no impact on usage in non-const contexts.
-fn non_const_context() {
- Unstable::func();
-}
-
-const fn stable_const_context() {
- Unstable::func();
- //~^ ERROR cannot call non-const fn `<staged_api::Unstable as staged_api::MyTrait>::func` in constant functions
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/staged-api-user-crate.stderr b/tests/ui/rfc-2632-const-trait-impl/staged-api-user-crate.stderr
deleted file mode 100644
index d7aa0d95c..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/staged-api-user-crate.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0015]: cannot call non-const fn `<staged_api::Unstable as staged_api::MyTrait>::func` in constant functions
- --> $DIR/staged-api-user-crate.rs:12:5
- |
-LL | Unstable::func();
- | ^^^^^^^^^^^^^^^^
- |
- = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
- = help: add `#![feature(const_trait_impl)]` to the crate attributes to enable
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0015`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/staged-api.rs b/tests/ui/rfc-2632-const-trait-impl/staged-api.rs
deleted file mode 100644
index 1d79f5adf..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/staged-api.rs
+++ /dev/null
@@ -1,63 +0,0 @@
-// revisions: stable unstable
-
-#![cfg_attr(unstable, feature(unstable))] // The feature from the ./auxiliary/staged-api.rs file.
-#![feature(const_trait_impl)]
-#![feature(staged_api)]
-#![stable(feature = "rust1", since = "1.0.0")]
-
-// aux-build: staged-api.rs
-extern crate staged_api;
-
-use staged_api::*;
-
-#[stable(feature = "rust1", since = "1.0.0")]
-pub struct Foo;
-
-#[stable(feature = "rust1", since = "1.0.0")]
-#[cfg_attr(unstable, rustc_const_unstable(feature = "foo", issue = "none"))]
-#[cfg_attr(stable, rustc_const_stable(feature = "foo", since = "1.0.0"))]
-impl const MyTrait for Foo {
- //[stable]~^ ERROR trait implementations cannot be const stable yet
- fn func() {}
-}
-
-// Const stability has no impact on usage in non-const contexts.
-fn non_const_context() {
- Unstable::func();
- Foo::func();
-}
-
-#[unstable(feature = "none", issue = "none")]
-const fn const_context() {
- Unstable::func();
- // ^ This is okay regardless of whether the `unstable` feature is enabled, as this function is
- // not const-stable.
- Foo::func();
- //[unstable]~^ ERROR not yet stable as a const fn
- // ^ fails, because the `foo` feature is not active
-}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-#[cfg_attr(unstable, rustc_const_unstable(feature = "foo", issue = "none"))]
-pub const fn const_context_not_const_stable() {
- //[stable]~^ ERROR function has missing const stability attribute
- Unstable::func();
- // ^ This is okay regardless of whether the `unstable` feature is enabled, as this function is
- // not const-stable.
- Foo::func();
- //[unstable]~^ ERROR not yet stable as a const fn
- // ^ fails, because the `foo` feature is not active
-}
-
-#[stable(feature = "rust1", since = "1.0.0")]
-#[rustc_const_stable(feature = "cheese", since = "1.0.0")]
-const fn stable_const_context() {
- Unstable::func();
- //[unstable]~^ ERROR not yet stable as a const fn
- Foo::func();
- //[unstable]~^ ERROR not yet stable as a const fn
- const_context_not_const_stable()
- //[unstable]~^ ERROR not yet stable as a const fn
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/staged-api.stable.stderr b/tests/ui/rfc-2632-const-trait-impl/staged-api.stable.stderr
deleted file mode 100644
index a1aca762e..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/staged-api.stable.stderr
+++ /dev/null
@@ -1,25 +0,0 @@
-error: trait implementations cannot be const stable yet
- --> $DIR/staged-api.rs:19:1
- |
-LL | / impl const MyTrait for Foo {
-LL | |
-LL | | fn func() {}
-LL | | }
- | |_^
- |
- = note: see issue #67792 <https://github.com/rust-lang/rust/issues/67792> for more information
-
-error: function has missing const stability attribute
- --> $DIR/staged-api.rs:42:1
- |
-LL | / pub const fn const_context_not_const_stable() {
-LL | |
-LL | | Unstable::func();
-LL | | // ^ This is okay regardless of whether the `unstable` feature is enabled, as this function is
-... |
-LL | | // ^ fails, because the `foo` feature is not active
-LL | | }
- | |_^
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/staged-api.unstable.stderr b/tests/ui/rfc-2632-const-trait-impl/staged-api.unstable.stderr
deleted file mode 100644
index c38d1a81a..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/staged-api.unstable.stderr
+++ /dev/null
@@ -1,42 +0,0 @@
-error: `<Foo as staged_api::MyTrait>::func` is not yet stable as a const fn
- --> $DIR/staged-api.rs:35:5
- |
-LL | Foo::func();
- | ^^^^^^^^^^^
- |
- = help: add `#![feature(foo)]` to the crate attributes to enable
-
-error: `<Foo as staged_api::MyTrait>::func` is not yet stable as a const fn
- --> $DIR/staged-api.rs:47:5
- |
-LL | Foo::func();
- | ^^^^^^^^^^^
- |
- = help: add `#![feature(foo)]` to the crate attributes to enable
-
-error: `<staged_api::Unstable as staged_api::MyTrait>::func` is not yet stable as a const fn
- --> $DIR/staged-api.rs:55:5
- |
-LL | Unstable::func();
- | ^^^^^^^^^^^^^^^^
- |
- = help: const-stable functions can only call other const-stable functions
-
-error: `<Foo as staged_api::MyTrait>::func` is not yet stable as a const fn
- --> $DIR/staged-api.rs:57:5
- |
-LL | Foo::func();
- | ^^^^^^^^^^^
- |
- = help: const-stable functions can only call other const-stable functions
-
-error: `const_context_not_const_stable` is not yet stable as a const fn
- --> $DIR/staged-api.rs:59:5
- |
-LL | const_context_not_const_stable()
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- |
- = help: const-stable functions can only call other const-stable functions
-
-error: aborting due to 5 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/static-const-trait-bound.rs b/tests/ui/rfc-2632-const-trait-impl/static-const-trait-bound.rs
deleted file mode 100644
index 4520a3696..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/static-const-trait-bound.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// check-pass
-pub struct S<T, F: FnOnce() -> T = fn() -> T> {
- f: F,
- x: Option<T>,
-}
-
-impl<T, F: FnOnce() -> T> S<T, F> {
- pub const fn new(f: F) -> Self {
- Self { f, x: None }
- }
-}
-
-#[derive(Default)]
-pub struct Foo;
-
-static LOCKED_CALLSITES: S<Foo> = S::new(Default::default);
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/std-impl-gate.gated.stderr b/tests/ui/rfc-2632-const-trait-impl/std-impl-gate.gated.stderr
deleted file mode 100644
index 78aab9469..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/std-impl-gate.gated.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0635]: unknown feature `const_default_impls`
- --> $DIR/std-impl-gate.rs:6:46
- |
-LL | #![cfg_attr(gated, feature(const_trait_impl, const_default_impls))]
- | ^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0635`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/std-impl-gate.rs b/tests/ui/rfc-2632-const-trait-impl/std-impl-gate.rs
deleted file mode 100644
index e9e5e0235..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/std-impl-gate.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// This tests feature gates for const impls in the standard library.
-
-// revisions: stock gated
-//[gated] known-bug: #110395
-
-#![cfg_attr(gated, feature(const_trait_impl, const_default_impls))]
-
-fn non_const_context() -> Vec<usize> {
- Default::default()
-}
-
-const fn const_context() -> Vec<usize> {
- Default::default()
- //[stock]~^ ERROR cannot call non-const fn
-}
-
-fn main() {
- const VAL: Vec<usize> = const_context();
-
- assert_eq!(VAL, non_const_context());
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/std-impl-gate.stock.stderr b/tests/ui/rfc-2632-const-trait-impl/std-impl-gate.stock.stderr
deleted file mode 100644
index 6a3396401..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/std-impl-gate.stock.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0015]: cannot call non-const fn `<Vec<usize> as Default>::default` in constant functions
- --> $DIR/std-impl-gate.rs:13:5
- |
-LL | Default::default()
- | ^^^^^^^^^^^^^^^^^^
- |
- = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants
- = help: add `#![feature(const_trait_impl)]` to the crate attributes to enable
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0015`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.nn.stderr b/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.nn.stderr
deleted file mode 100644
index 97f346e8c..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.nn.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/super-traits-fail-2.rs:11:19
- |
-LL | trait Bar: ~const Foo {}
- | ^^^
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/super-traits-fail-2.rs:11:19
- |
-LL | trait Bar: ~const Foo {}
- | ^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.ny.stderr b/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.ny.stderr
deleted file mode 100644
index 97f346e8c..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.ny.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/super-traits-fail-2.rs:11:19
- |
-LL | trait Bar: ~const Foo {}
- | ^^^
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/super-traits-fail-2.rs:11:19
- |
-LL | trait Bar: ~const Foo {}
- | ^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.rs b/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.rs
deleted file mode 100644
index ecb06271c..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-#![feature(const_trait_impl)]
-
-// revisions: yy yn ny nn
-
-#[cfg_attr(any(yy, yn), const_trait)]
-trait Foo {
- fn a(&self);
-}
-
-#[cfg_attr(any(yy, ny), const_trait)]
-trait Bar: ~const Foo {}
-//[ny,nn]~^ ERROR: ~const can only be applied to `#[const_trait]`
-//[ny,nn]~| ERROR: ~const can only be applied to `#[const_trait]`
-
-const fn foo<T: Bar>(x: &T) {
- x.a();
- //[yn,yy]~^ ERROR the trait bound
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.yn.stderr b/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.yn.stderr
deleted file mode 100644
index c9fa19554..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.yn.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error[E0277]: the trait bound `T: ~const Foo` is not satisfied
- --> $DIR/super-traits-fail-2.rs:16:7
- |
-LL | x.a();
- | ^ the trait `~const Foo` is not implemented for `T`
- |
-note: the trait `Foo` is implemented for `T`, but that implementation is not `const`
- --> $DIR/super-traits-fail-2.rs:16:5
- |
-LL | x.a();
- | ^
-help: consider further restricting this bound
- |
-LL | const fn foo<T: Bar + ~const Foo>(x: &T) {
- | ++++++++++++
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.yy.stderr b/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.yy.stderr
deleted file mode 100644
index c9fa19554..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-2.yy.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error[E0277]: the trait bound `T: ~const Foo` is not satisfied
- --> $DIR/super-traits-fail-2.rs:16:7
- |
-LL | x.a();
- | ^ the trait `~const Foo` is not implemented for `T`
- |
-note: the trait `Foo` is implemented for `T`, but that implementation is not `const`
- --> $DIR/super-traits-fail-2.rs:16:5
- |
-LL | x.a();
- | ^
-help: consider further restricting this bound
- |
-LL | const fn foo<T: Bar + ~const Foo>(x: &T) {
- | ++++++++++++
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.nn.stderr b/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.nn.stderr
deleted file mode 100644
index fdc6b8058..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.nn.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/super-traits-fail-3.rs:12:19
- |
-LL | trait Bar: ~const Foo {}
- | ^^^
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/super-traits-fail-3.rs:12:19
- |
-LL | trait Bar: ~const Foo {}
- | ^^^
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/super-traits-fail-3.rs:16:24
- |
-LL | const fn foo<T: ~const Bar>(x: &T) {
- | ^^^
-
-error: aborting due to 3 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.ny.stderr b/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.ny.stderr
deleted file mode 100644
index 7375b8c81..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.ny.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/super-traits-fail-3.rs:12:19
- |
-LL | trait Bar: ~const Foo {}
- | ^^^
-
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/super-traits-fail-3.rs:12:19
- |
-LL | trait Bar: ~const Foo {}
- | ^^^
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.rs b/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.rs
deleted file mode 100644
index 8cf64944a..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-#![feature(const_trait_impl)]
-
-// revisions: yy yn ny nn
-//[yy] check-pass
-
-#[cfg_attr(any(yy, yn), const_trait)]
-trait Foo {
- fn a(&self);
-}
-
-#[cfg_attr(any(yy, ny), const_trait)]
-trait Bar: ~const Foo {}
-//[ny,nn]~^ ERROR: ~const can only be applied to `#[const_trait]`
-//[ny,nn]~| ERROR: ~const can only be applied to `#[const_trait]`
-
-const fn foo<T: ~const Bar>(x: &T) {
- //[yn,nn]~^ ERROR: ~const can only be applied to `#[const_trait]`
- x.a();
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.yn.stderr b/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.yn.stderr
deleted file mode 100644
index 7a152914b..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail-3.yn.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: ~const can only be applied to `#[const_trait]` traits
- --> $DIR/super-traits-fail-3.rs:16:24
- |
-LL | const fn foo<T: ~const Bar>(x: &T) {
- | ^^^
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail.rs b/tests/ui/rfc-2632-const-trait-impl/super-traits-fail.rs
deleted file mode 100644
index 3e2b81368..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Foo {
- fn a(&self);
-}
-#[const_trait]
-trait Bar: ~const Foo {}
-
-struct S;
-impl Foo for S {
- fn a(&self) {}
-}
-
-impl const Bar for S {}
-//~^ ERROR the trait bound
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail.stderr b/tests/ui/rfc-2632-const-trait-impl/super-traits-fail.stderr
deleted file mode 100644
index bf12ef1ca..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/super-traits-fail.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error[E0277]: the trait bound `S: ~const Foo` is not satisfied
- --> $DIR/super-traits-fail.rs:15:20
- |
-LL | impl const Bar for S {}
- | ^ the trait `~const Foo` is not implemented for `S`
- |
-note: the trait `Foo` is implemented for `S`, but that implementation is not `const`
- --> $DIR/super-traits-fail.rs:15:20
- |
-LL | impl const Bar for S {}
- | ^
-note: required by a bound in `Bar`
- --> $DIR/super-traits-fail.rs:8:12
- |
-LL | trait Bar: ~const Foo {}
- | ^^^^^^^^^^ required by this bound in `Bar`
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/super-traits.rs b/tests/ui/rfc-2632-const-trait-impl/super-traits.rs
deleted file mode 100644
index df96f6fb4..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/super-traits.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-// check-pass
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Foo {
- fn a(&self);
-}
-
-#[const_trait]
-trait Bar: ~const Foo {}
-
-struct S;
-impl const Foo for S {
- fn a(&self) {}
-}
-
-impl const Bar for S {}
-
-const fn foo<T: ~const Bar>(t: &T) {
- t.a();
-}
-
-const _: () = foo(&S);
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/syntax.rs b/tests/ui/rfc-2632-const-trait-impl/syntax.rs
deleted file mode 100644
index 7ac2458e3..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/syntax.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// compile-flags: -Z parse-only
-// check-pass
-
-#![feature(const_trait_bound_opt_out)]
-#![feature(const_trait_impl)]
-
-// For now, this parses since an error does not occur until AST lowering.
-impl ~const T {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/tilde-const-and-const-params.rs b/tests/ui/rfc-2632-const-trait-impl/tilde-const-and-const-params.rs
deleted file mode 100644
index 78a64b901..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/tilde-const-and-const-params.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-#![feature(const_trait_impl)]
-#![feature(generic_arg_infer)]
-#![feature(generic_const_exprs)]
-#![allow(incomplete_features)]
-
-struct Foo<const N: usize>;
-
-impl<const N: usize> Foo<N> {
- fn add<A: ~const Add42>(self) -> Foo<{ A::add(N) }> {
- Foo
- }
-}
-
-#[const_trait]
-trait Add42 {
- fn add(a: usize) -> usize;
-}
-
-impl const Add42 for () {
- fn add(a: usize) -> usize {
- a + 42
- }
-}
-
-fn bar<A: ~const Add42, const N: usize>(_: Foo<N>) -> Foo<{ A::add(N) }> {
- //~^ ERROR `~const` is not allowed here
- Foo
-}
-
-fn main() {
- let foo = Foo::<0>;
- let foo = bar::<(), _>(foo);
- let _foo = bar::<(), _>(foo);
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/tilde-const-and-const-params.stderr b/tests/ui/rfc-2632-const-trait-impl/tilde-const-and-const-params.stderr
deleted file mode 100644
index aae72f36e..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/tilde-const-and-const-params.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: `~const` is not allowed here
- --> $DIR/tilde-const-and-const-params.rs:25:11
- |
-LL | fn bar<A: ~const Add42, const N: usize>(_: Foo<N>) -> Foo<{ A::add(N) }> {
- | ^^^^^^^^^^^^
- |
-note: this function is not `const`, so it cannot have `~const` trait bounds
- --> $DIR/tilde-const-and-const-params.rs:25:4
- |
-LL | fn bar<A: ~const Add42, const N: usize>(_: Foo<N>) -> Foo<{ A::add(N) }> {
- | ^^^
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/tilde-const-invalid-places.rs b/tests/ui/rfc-2632-const-trait-impl/tilde-const-invalid-places.rs
deleted file mode 100644
index 95f7aaba0..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/tilde-const-invalid-places.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-#![feature(const_trait_impl)]
-#![feature(associated_type_bounds)]
-
-struct TildeQuestion<T: ~const ?Sized>(std::marker::PhantomData<T>);
-//~^ ERROR `~const` and `?` are mutually exclusive
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/tilde-const-invalid-places.stderr b/tests/ui/rfc-2632-const-trait-impl/tilde-const-invalid-places.stderr
deleted file mode 100644
index d20f146df..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/tilde-const-invalid-places.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: `~const` and `?` are mutually exclusive
- --> $DIR/tilde-const-invalid-places.rs:4:25
- |
-LL | struct TildeQuestion<T: ~const ?Sized>(std::marker::PhantomData<T>);
- | ^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/tilde-const-syntax.rs b/tests/ui/rfc-2632-const-trait-impl/tilde-const-syntax.rs
deleted file mode 100644
index 9b3c2cf2a..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/tilde-const-syntax.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// compile-flags: -Z parse-only
-// check-pass
-
-#![feature(const_trait_impl)]
-
-struct S<
- T: ~const ?for<'a> Tr<'a> + 'static + ~const std::ops::Add,
- T: ~const ?for<'a: 'b> m::Trait<'a>,
->;
diff --git a/tests/ui/rfc-2632-const-trait-impl/tilde-twice.rs b/tests/ui/rfc-2632-const-trait-impl/tilde-twice.rs
deleted file mode 100644
index 06e4ede8b..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/tilde-twice.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-// compile-flags: -Z parse-only
-
-#![feature(const_trait_impl)]
-
-struct S<T: ~const ~const Tr>;
-//~^ ERROR expected identifier, found `~`
diff --git a/tests/ui/rfc-2632-const-trait-impl/tilde-twice.stderr b/tests/ui/rfc-2632-const-trait-impl/tilde-twice.stderr
deleted file mode 100644
index 928d23e8a..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/tilde-twice.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: expected identifier, found `~`
- --> $DIR/tilde-twice.rs:5:20
- |
-LL | struct S<T: ~const ~const Tr>;
- | ^ expected identifier
-
-error: aborting due to previous error
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/tilde_const_on_impl_bound.rs b/tests/ui/rfc-2632-const-trait-impl/tilde_const_on_impl_bound.rs
deleted file mode 100644
index 285cef571..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/tilde_const_on_impl_bound.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// check-pass
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Foo {
- fn foo(&self) {}
-}
-
-struct Bar<T>(T);
-
-impl<T: ~const Foo> Bar<T> {
- const fn foo(&self) {
- self.0.foo()
- }
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/trait-default-body-stability.rs b/tests/ui/rfc-2632-const-trait-impl/trait-default-body-stability.rs
deleted file mode 100644
index 8d56295e7..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/trait-default-body-stability.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-// known-bug: #110395
-
-#![feature(staged_api)]
-#![feature(const_trait_impl)]
-#![feature(const_t_try)]
-#![feature(const_try)]
-#![feature(try_trait_v2)]
-
-#![stable(feature = "foo", since = "1.0")]
-
-use std::ops::{ControlFlow, FromResidual, Try};
-
-#[stable(feature = "foo", since = "1.0")]
-pub struct T;
-
-#[stable(feature = "foo", since = "1.0")]
-#[rustc_const_unstable(feature = "const_t_try", issue = "none")]
-impl const Try for T {
- type Output = T;
- type Residual = T;
-
- fn from_output(t: T) -> T {
- t
- }
-
- fn branch(self) -> ControlFlow<T, T> {
- ControlFlow::Continue(self)
- }
-}
-
-#[stable(feature = "foo", since = "1.0")]
-#[rustc_const_unstable(feature = "const_t_try", issue = "none")]
-impl const FromResidual for T {
- fn from_residual(t: T) -> T {
- t
- }
-}
-
-#[stable(feature = "foo", since = "1.0")]
-#[const_trait]
-pub trait Tr {
- #[stable(feature = "foo", since = "1.0")]
- fn bar() -> T {
- T?
- // Should be allowed.
- // Must enable unstable features to call this trait fn in const contexts.
- }
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/trait-default-body-stability.stderr b/tests/ui/rfc-2632-const-trait-impl/trait-default-body-stability.stderr
deleted file mode 100644
index 35dc1ca12..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/trait-default-body-stability.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: const `impl` for trait `Try` which is not marked with `#[const_trait]`
- --> $DIR/trait-default-body-stability.rs:18:12
- |
-LL | impl const Try for T {
- | ^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: const `impl` for trait `FromResidual` which is not marked with `#[const_trait]`
- --> $DIR/trait-default-body-stability.rs:33:12
- |
-LL | impl const FromResidual for T {
- | ^^^^^^^^^^^^
- |
- = note: marking a trait with `#[const_trait]` ensures all default method bodies are `const`
- = note: adding a non-const method body in the future would be a breaking change
-
-error: aborting due to 2 previous errors
-
diff --git a/tests/ui/rfc-2632-const-trait-impl/trait-method-ptr-in-consts-ice.rs b/tests/ui/rfc-2632-const-trait-impl/trait-method-ptr-in-consts-ice.rs
deleted file mode 100644
index 7d7cb967c..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/trait-method-ptr-in-consts-ice.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-// check-pass
-
-struct LazyLock<T> {
- data: (Option<T>, fn() -> T),
-}
-
-impl<T> LazyLock<T> {
- pub const fn new(f: fn() -> T) -> LazyLock<T> {
- LazyLock { data: (None, f) }
- }
-}
-
-struct A<T = i32>(Option<T>);
-
-impl<T> Default for A<T> {
- fn default() -> Self {
- A(None)
- }
-}
-
-static EMPTY_SET: LazyLock<A<i32>> = LazyLock::new(A::default);
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/trait-where-clause-const.rs b/tests/ui/rfc-2632-const-trait-impl/trait-where-clause-const.rs
deleted file mode 100644
index bfe98b98c..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/trait-where-clause-const.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-// Like trait-where-clause.rs, but we are calling from a const context.
-// Checking the validity of traits' where clauses happen at a later stage.
-// (`rustc_const_eval` instead of `rustc_hir_analysis`) Therefore one file as a
-// test is not enough.
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Bar {}
-
-#[const_trait]
-trait Foo {
- fn a();
- fn b() where Self: ~const Bar;
- fn c<T: ~const Bar>();
-}
-
-const fn test1<T: ~const Foo + Bar>() {
- T::a();
- T::b();
- //~^ ERROR the trait bound
- T::c::<T>();
- //~^ ERROR the trait bound
-}
-
-const fn test2<T: ~const Foo + ~const Bar>() {
- T::a();
- T::b();
- T::c::<T>();
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/trait-where-clause-const.stderr b/tests/ui/rfc-2632-const-trait-impl/trait-where-clause-const.stderr
deleted file mode 100644
index f2846b6a6..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/trait-where-clause-const.stderr
+++ /dev/null
@@ -1,35 +0,0 @@
-error[E0277]: the trait bound `T: ~const Bar` is not satisfied
- --> $DIR/trait-where-clause-const.rs:19:5
- |
-LL | T::b();
- | ^^^^^^ the trait `~const Bar` is not implemented for `T`
- |
-note: the trait `Bar` is implemented for `T`, but that implementation is not `const`
- --> $DIR/trait-where-clause-const.rs:19:5
- |
-LL | T::b();
- | ^^^^^^
-help: consider further restricting this bound
- |
-LL | const fn test1<T: ~const Foo + Bar + ~const Bar>() {
- | ++++++++++++
-
-error[E0277]: the trait bound `T: ~const Bar` is not satisfied
- --> $DIR/trait-where-clause-const.rs:21:5
- |
-LL | T::c::<T>();
- | ^^^^^^^^^^^ the trait `~const Bar` is not implemented for `T`
- |
-note: the trait `Bar` is implemented for `T`, but that implementation is not `const`
- --> $DIR/trait-where-clause-const.rs:21:5
- |
-LL | T::c::<T>();
- | ^^^^^^^^^^^
-help: consider further restricting this bound
- |
-LL | const fn test1<T: ~const Foo + Bar + ~const Bar>() {
- | ++++++++++++
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/trait-where-clause-run.rs b/tests/ui/rfc-2632-const-trait-impl/trait-where-clause-run.rs
deleted file mode 100644
index 4b8b00406..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/trait-where-clause-run.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-// run-pass
-
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Bar {
- fn bar() -> u8;
-}
-
-#[const_trait]
-trait Foo {
- fn foo() -> u8 where Self: ~const Bar {
- <Self as Bar>::bar() * 6
- }
-}
-
-struct NonConst;
-struct Const;
-
-impl Bar for NonConst {
- fn bar() -> u8 {
- 3
- }
-}
-
-impl Foo for NonConst {}
-
-impl const Bar for Const {
- fn bar() -> u8 {
- 4
- }
-}
-
-impl const Foo for Const {}
-
-fn main() {
- const ANS1: u8 = Const::foo();
- let ans2 = NonConst::foo();
-
- assert_eq!(ANS1 + ans2, 42);
-}
diff --git a/tests/ui/rfc-2632-const-trait-impl/trait-where-clause-self-referential.rs b/tests/ui/rfc-2632-const-trait-impl/trait-where-clause-self-referential.rs
deleted file mode 100644
index 3b028ac48..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/trait-where-clause-self-referential.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-// check-pass
-
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Foo {
- fn bar() where Self: ~const Foo;
-}
-
-struct S;
-
-impl Foo for S {
- fn bar() {}
-}
-
-fn baz<T: Foo>() {
- T::bar();
-}
-
-const fn qux<T: ~const Foo>() {
- T::bar();
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/trait-where-clause.rs b/tests/ui/rfc-2632-const-trait-impl/trait-where-clause.rs
deleted file mode 100644
index 85ca5fc90..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/trait-where-clause.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-#![feature(const_trait_impl)]
-
-#[const_trait]
-trait Bar {}
-
-trait Foo {
- fn a();
- fn b() where Self: ~const Bar;
- fn c<T: ~const Bar>();
-}
-
-fn test1<T: Foo>() {
- T::a();
- T::b();
- //~^ ERROR the trait bound
- T::c::<T>();
- //~^ ERROR the trait bound
-}
-
-fn test2<T: Foo + Bar>() {
- T::a();
- T::b();
- T::c::<T>();
-}
-
-fn main() {}
diff --git a/tests/ui/rfc-2632-const-trait-impl/trait-where-clause.stderr b/tests/ui/rfc-2632-const-trait-impl/trait-where-clause.stderr
deleted file mode 100644
index 11f0c4016..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/trait-where-clause.stderr
+++ /dev/null
@@ -1,35 +0,0 @@
-error[E0277]: the trait bound `T: Bar` is not satisfied
- --> $DIR/trait-where-clause.rs:14:5
- |
-LL | T::b();
- | ^^^^ the trait `Bar` is not implemented for `T`
- |
-note: required by a bound in `Foo::b`
- --> $DIR/trait-where-clause.rs:8:24
- |
-LL | fn b() where Self: ~const Bar;
- | ^^^^^^^^^^ required by this bound in `Foo::b`
-help: consider further restricting this bound
- |
-LL | fn test1<T: Foo + Bar>() {
- | +++++
-
-error[E0277]: the trait bound `T: Bar` is not satisfied
- --> $DIR/trait-where-clause.rs:16:12
- |
-LL | T::c::<T>();
- | ^ the trait `Bar` is not implemented for `T`
- |
-note: required by a bound in `Foo::c`
- --> $DIR/trait-where-clause.rs:9:13
- |
-LL | fn c<T: ~const Bar>();
- | ^^^^^^^^^^ required by this bound in `Foo::c`
-help: consider further restricting this bound
- |
-LL | fn test1<T: Foo + Bar>() {
- | +++++
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/tests/ui/rfc-2632-const-trait-impl/without-tilde.rs b/tests/ui/rfc-2632-const-trait-impl/without-tilde.rs
deleted file mode 100644
index d63381b5f..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/without-tilde.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-// compile-flags: -Z parse-only
-
-#![feature(const_trait_impl)]
-
-struct S<T: const Tr>;
-//~^ ERROR const bounds must start with `~`
diff --git a/tests/ui/rfc-2632-const-trait-impl/without-tilde.stderr b/tests/ui/rfc-2632-const-trait-impl/without-tilde.stderr
deleted file mode 100644
index 31300354a..000000000
--- a/tests/ui/rfc-2632-const-trait-impl/without-tilde.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-error: const bounds must start with `~`
- --> $DIR/without-tilde.rs:5:13
- |
-LL | struct S<T: const Tr>;
- | -^^^^
- | |
- | help: add `~`: `~`
-
-error: aborting due to previous error
-