Add ~const
bound test for negative impls
This commit is contained in:
parent
1fbd6aedb3
commit
e6aef256e6
@ -1,5 +1,5 @@
|
||||
#![allow(unused)]
|
||||
#![feature(const_fn_trait_bound, const_trait_impl, inline_const)]
|
||||
#![feature(const_fn_trait_bound, const_trait_impl, inline_const, negative_impls)]
|
||||
|
||||
const fn f<T: ~const Drop>(x: T) {}
|
||||
|
||||
@ -9,9 +9,15 @@ impl Drop for UnconstDrop {
|
||||
fn drop(&mut self) {}
|
||||
}
|
||||
|
||||
struct NonDrop;
|
||||
|
||||
impl !Drop for NonDrop {}
|
||||
|
||||
fn main() {
|
||||
const {
|
||||
f(UnconstDrop);
|
||||
//~^ ERROR the trait bound `UnconstDrop: Drop` is not satisfied
|
||||
f(NonDrop);
|
||||
//~^ ERROR the trait bound `NonDrop: Drop` is not satisfied
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0277]: the trait bound `UnconstDrop: Drop` is not satisfied
|
||||
--> $DIR/const-block-const-bound.rs:14:11
|
||||
--> $DIR/const-block-const-bound.rs:18:11
|
||||
|
|
||||
LL | f(UnconstDrop);
|
||||
| - ^^^^^^^^^^^ the trait `Drop` is not implemented for `UnconstDrop`
|
||||
@ -16,6 +16,20 @@ help: consider introducing a `where` bound, but there might be an alternative be
|
||||
LL | fn main() where UnconstDrop: Drop {
|
||||
| +++++++++++++++++++++++
|
||||
|
||||
error: aborting due to previous error
|
||||
error[E0277]: the trait bound `NonDrop: Drop` is not satisfied
|
||||
--> $DIR/const-block-const-bound.rs:20:11
|
||||
|
|
||||
LL | f(NonDrop);
|
||||
| - ^^^^^^^ the trait `Drop` is not implemented for `NonDrop`
|
||||
| |
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
note: required by a bound in `f`
|
||||
--> $DIR/const-block-const-bound.rs:4:15
|
||||
|
|
||||
LL | const fn f<T: ~const Drop>(x: T) {}
|
||||
| ^^^^^^^^^^^ required by this bound in `f`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0277`.
|
||||
|
Loading…
Reference in New Issue
Block a user