1 #![allow(bare_trait_objects)]
4 impl Trait for Struct {}
7 fn fuz() -> (usize, Trait) { (42, Struct) }
10 fn bar() -> (usize, dyn Trait) { (42, Struct) }
13 fn bap() -> Trait { Struct }
15 fn ban() -> dyn Trait { Struct }
17 fn bak() -> dyn Trait { unimplemented!() } //~ ERROR E0746
18 // Suggest using `Box<dyn Trait>`
19 fn bal() -> dyn Trait { //~ ERROR E0746
25 fn bax() -> dyn Trait { //~ ERROR E0746
29 42 //~ ERROR `if` and `else` have incompatible types
32 fn bam() -> Box<dyn Trait> {
34 return Struct; //~ ERROR mismatched types
36 42 //~ ERROR mismatched types
38 fn baq() -> Box<dyn Trait> {
40 return 0; //~ ERROR mismatched types
42 42 //~ ERROR mismatched types
44 fn baz() -> Box<dyn Trait> {
46 Struct //~ ERROR mismatched types
48 42 //~ ERROR mismatched types
51 fn baw() -> Box<dyn Trait> {
53 0 //~ ERROR mismatched types
55 42 //~ ERROR mismatched types
59 // Suggest using `impl Trait`
60 fn bat() -> dyn Trait { //~ ERROR E0746
66 fn bay() -> dyn Trait { //~ ERROR E0746