diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-11-06 20:31:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-06 20:31:54 +0100 |
| commit | 1683df7d3b2008822c63f79cc39dbd23a1e5554e (patch) | |
| tree | ee76e75a7b628bd68cf4b83c2a27e2b5bfbebe05 | |
| parent | aea82b268a7680b736be00e837eb8e32bc42a2da (diff) | |
| parent | 384f7382ba595092169569e4e16aaeb7dbd32f7a (diff) | |
| download | rust-1683df7d3b2008822c63f79cc39dbd23a1e5554e.tar.gz rust-1683df7d3b2008822c63f79cc39dbd23a1e5554e.zip | |
Rollup merge of #117190 - matthiaskrgr:test_effects_113381, r=fee1-dead
add test for #113381 Fixes #113381 r? fee1-dead
2 files changed, 26 insertions, 0 deletions
diff --git a/tests/ui/rfcs/rfc-2632-const-trait-impl/effects/const_closure-const_trait_impl-ice-113381.rs b/tests/ui/rfcs/rfc-2632-const-trait-impl/effects/const_closure-const_trait_impl-ice-113381.rs new file mode 100644 index 00000000000..6598d1da0f8 --- /dev/null +++ b/tests/ui/rfcs/rfc-2632-const-trait-impl/effects/const_closure-const_trait_impl-ice-113381.rs @@ -0,0 +1,15 @@ +#![feature(const_closures, const_trait_impl, effects)] +#![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/rfcs/rfc-2632-const-trait-impl/effects/const_closure-const_trait_impl-ice-113381.stderr b/tests/ui/rfcs/rfc-2632-const-trait-impl/effects/const_closure-const_trait_impl-ice-113381.stderr new file mode 100644 index 00000000000..002d586ac64 --- /dev/null +++ b/tests/ui/rfcs/rfc-2632-const-trait-impl/effects/const_closure-const_trait_impl-ice-113381.stderr @@ -0,0 +1,11 @@ +error[E0015]: cannot call non-const fn `<() as Foo>::foo` in constant functions + --> $DIR/const_closure-const_trait_impl-ice-113381.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`. |
