rust/tests/ui/const-generics/generic_const_exprs/object-safety-err-where-bounds.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

23 lines
490 B
Rust
Raw Normal View History

#![feature(generic_const_exprs)]
#![allow(incomplete_features)]
#![deny(where_clauses_object_safety)]
const fn bar<T: ?Sized>() -> usize { 7 }
trait Foo {
fn test(&self) where [u8; bar::<Self>()]: Sized;
//~^ ERROR the trait `Foo` cannot be made into an object
//~| WARN this was previously accepted by the compiler but is being phased out
}
impl Foo for () {
fn test(&self) where [u8; bar::<Self>()]: Sized {}
}
fn use_dyn(v: &dyn Foo) {
v.test();
}
fn main() {}