19 lines
403 B
Rust
19 lines
403 B
Rust
// Check that we do not allow casts or coercions
|
|
// to dyn-incompatible trait objects inside a Box
|
|
|
|
#![feature(dyn_compatible_for_dispatch)]
|
|
|
|
trait Trait: Sized {}
|
|
|
|
struct S;
|
|
|
|
impl Trait for S {}
|
|
|
|
fn takes_box(t: Box<dyn Trait>) {}
|
|
|
|
fn main() {
|
|
Box::new(S) as Box<dyn Trait>; //~ ERROR E0038
|
|
let t_box: Box<dyn Trait> = Box::new(S); //~ ERROR E0038
|
|
takes_box(Box::new(S)); //~ ERROR E0038
|
|
}
|