From bf5130b502d3d1c61465c8deded65a1cb3929fbd Mon Sep 17 00:00:00 2001 From: Deadbeef Date: Tue, 11 Jan 2022 23:52:24 +0800 Subject: [PATCH] Add test --- ...efault-method-body-is-const-same-trait-ck.rs | 17 +++++++++++++++++ ...lt-method-body-is-const-same-trait-ck.stderr | 9 +++++++++ 2 files changed, 26 insertions(+) create mode 100644 src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.rs create mode 100644 src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.stderr diff --git a/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.rs b/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.rs new file mode 100644 index 000000000000..cccb856c2f67 --- /dev/null +++ b/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.rs @@ -0,0 +1,17 @@ +#![feature(const_fn_trait_bound)] +#![feature(const_trait_impl)] + +pub trait Tr { + #[default_method_body_is_const] + fn a(&self) {} + + #[default_method_body_is_const] + fn b(&self) { + ().a() + //~^ ERROR calls in constant functions are limited + } +} + +impl Tr for () {} + +fn main() {} diff --git a/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.stderr b/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.stderr new file mode 100644 index 000000000000..91f4d2fd4b0e --- /dev/null +++ b/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-same-trait-ck.stderr @@ -0,0 +1,9 @@ +error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants + --> $DIR/default-method-body-is-const-same-trait-ck.rs:10:9 + | +LL | ().a() + | ^^^^^^ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0015`.