about summary refs log tree commit diff
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2021-10-03 23:13:25 -0700
committerGitHub <noreply@github.com>2021-10-03 23:13:25 -0700
commit5c5dde8f0a1e7a3f735dce63d6b81680d24c56d9 (patch)
treef78eb5a30388c25221241643fda3e7e81e06ea59
parente021a103956b2b350fe4327046a48492d981d2b5 (diff)
parent5b6604825e20ecd962c7021131de6a20cc73a32e (diff)
downloadrust-5c5dde8f0a1e7a3f735dce63d6b81680d24c56d9.tar.gz
rust-5c5dde8f0a1e7a3f735dce63d6b81680d24c56d9.zip
Rollup merge of #89505 - Aaron1011:nll-const-test, r=Mark-Simulacrum
Add regression test for spurious const error with NLL

Fixes #55825
-rw-r--r--src/test/ui/nll/issue-55825-const-fn.rs8
-rw-r--r--src/test/ui/nll/issue-55825-const-fn.stderr12
2 files changed, 20 insertions, 0 deletions
diff --git a/src/test/ui/nll/issue-55825-const-fn.rs b/src/test/ui/nll/issue-55825-const-fn.rs
new file mode 100644
index 00000000000..c9efccd15b7
--- /dev/null
+++ b/src/test/ui/nll/issue-55825-const-fn.rs
@@ -0,0 +1,8 @@
+// Regression test for issue #55825
+// Tests that we don't emit a spurious warning in NLL mode
+
+#![feature(nll)]
+
+const fn no_dyn_trait_ret() -> &'static dyn std::fmt::Debug { &() } //~ ERROR const
+
+fn main() { }
diff --git a/src/test/ui/nll/issue-55825-const-fn.stderr b/src/test/ui/nll/issue-55825-const-fn.stderr
new file mode 100644
index 00000000000..9af5180343b
--- /dev/null
+++ b/src/test/ui/nll/issue-55825-const-fn.stderr
@@ -0,0 +1,12 @@
+error[E0658]: trait objects in const fn are unstable
+  --> $DIR/issue-55825-const-fn.rs:6:32
+   |
+LL | const fn no_dyn_trait_ret() -> &'static dyn std::fmt::Debug { &() }
+   |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: see issue #57563 <https://github.com/rust-lang/rust/issues/57563> for more information
+   = help: add `#![feature(const_fn_trait_bound)]` to the crate attributes to enable
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0658`.