diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.rs | 17 | ||||
| -rw-r--r-- | src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.stderr | 19 |
2 files changed, 36 insertions, 0 deletions
diff --git a/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.rs b/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.rs new file mode 100644 index 00000000000..7db04fe1ac3 --- /dev/null +++ b/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.rs @@ -0,0 +1,17 @@ +#![feature(const_fn_trait_bound)] +#![feature(const_trait_impl)] + +trait Tr {} +impl Tr for () {} + +const fn foo<T>() where T: ~const Tr {} + +pub trait Foo { + #[default_method_body_is_const] + fn foo() { + foo::<()>(); + //~^ ERROR the trait bound `(): Tr` is not satisfied + } +} + +fn main() {} diff --git a/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.stderr b/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.stderr new file mode 100644 index 00000000000..6e7e4b3a472 --- /dev/null +++ b/src/test/ui/rfc-2632-const-trait-impl/default-method-body-is-const-body-checking.stderr @@ -0,0 +1,19 @@ +error[E0277]: the trait bound `(): Tr` is not satisfied + --> $DIR/default-method-body-is-const-body-checking.rs:12:15 + | +LL | foo::<()>(); + | ^^ the trait `Tr` is not implemented for `()` + | +note: required by a bound in `foo` + --> $DIR/default-method-body-is-const-body-checking.rs:7:28 + | +LL | const fn foo<T>() where T: ~const Tr {} + | ^^^^^^^^^ required by this bound in `foo` +help: consider introducing a `where` bound, but there might be an alternative better way to express this requirement + | +LL | pub trait Foo where (): Tr { + | ++++++++++++ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0277`. |
