]> git.lizzy.rs Git - rust.git/blob - tests/ui/traits/new-solver/unsize-good.rs
Auto merge of #100754 - davidtwco:translation-incremental, r=compiler-errors
[rust.git] / tests / ui / traits / new-solver / unsize-good.rs
1 // compile-flags: -Ztrait-solver=next
2 // check-pass
3
4 #![feature(unsized_tuple_coercion)]
5
6 trait Foo {}
7
8 impl Foo for i32 {}
9
10 fn main() {
11     // Unsizing via struct
12     let _: Box<dyn Foo> = Box::new(1i32);
13
14     // Slice unsizing
15     let y = [1, 2, 3];
16     let _: &[i32] = &y;
17
18     // Tuple unsizing
19     let hi = (1i32,);
20     let _: &(dyn Foo,) = &hi;
21
22     // Dropping auto traits
23     let a: &(dyn Foo + Send) = &1;
24     let _: &dyn Foo = a;
25 }