blob: 9859dd90c49b0394e7e8652ec536aff58d2469b6 [file] [log] [blame] [edit]
//@ edition:2015
// https://github.com/rust-lang/rust/issues/58734
trait Trait {
fn exists(self) -> ();
fn dyn_incompatible() -> Self;
}
impl Trait for () {
fn exists(self) -> () {
}
fn dyn_incompatible() -> Self {
()
}
}
fn main() {
// dyn-compatible or not, this call is OK
Trait::exists(());
// no dyn-compatibility error
Trait::nonexistent(());
//~^ WARN trait objects without an explicit `dyn` are deprecated
//~| WARN this is accepted in the current edition
//~| ERROR the trait `Trait` is not dyn compatible
}