blob: e5b371f5530dcb21e586afecc4583fcbf29cece7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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
}
|