about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2022-12-04 11:38:52 +0100
committerGitHub <noreply@github.com>2022-12-04 11:38:52 +0100
commitda9585b745cbbae321f414cd6171c5c851c645f1 (patch)
tree8dcbd39b295f8b466bb683454297cfeea40fd9e9
parent3c4a4309007f9b6b4c943199021950920060dfea (diff)
parent047fda2fc5815aaeac1a262fb9447cf77f1e6ab6 (diff)
downloadrust-da9585b745cbbae321f414cd6171c5c851c645f1.tar.gz
rust-da9585b745cbbae321f414cd6171c5c851c645f1.zip
Rollup merge of #105237 - JohnTitor:issue-79450, r=oli-obk
Add regression test for #79450

Closes #79450
r? `@oli-obk`

Signed-off-by: Yuki Okushi <jtitor@2k36.org>
-rw-r--r--src/test/ui/rfc-2632-const-trait-impl/issue-79450.rs20
-rw-r--r--src/test/ui/rfc-2632-const-trait-impl/issue-79450.stderr12
2 files changed, 32 insertions, 0 deletions
diff --git a/src/test/ui/rfc-2632-const-trait-impl/issue-79450.rs b/src/test/ui/rfc-2632-const-trait-impl/issue-79450.rs
new file mode 100644
index 00000000000..b604c65d751
--- /dev/null
+++ b/src/test/ui/rfc-2632-const-trait-impl/issue-79450.rs
@@ -0,0 +1,20 @@
+#![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/src/test/ui/rfc-2632-const-trait-impl/issue-79450.stderr b/src/test/ui/rfc-2632-const-trait-impl/issue-79450.stderr
new file mode 100644
index 00000000000..082c0333fbf
--- /dev/null
+++ b/src/test/ui/rfc-2632-const-trait-impl/issue-79450.stderr
@@ -0,0 +1,12 @@
+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`.