File: struct-coerce-vec-to-slice.rs

package info (click to toggle)
rustc 1.88.0%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental, forky, sid
  • size: 934,168 kB
  • sloc: xml: 158,127; python: 36,062; javascript: 19,855; sh: 19,700; cpp: 18,947; ansic: 12,993; asm: 4,792; makefile: 690; perl: 29; lisp: 29; ruby: 19; sql: 11
file content (20 lines) | stat: -rw-r--r-- 473 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//! Regression test that ensures struct field literals can be coerced into slice and `Box` types

//@ check-pass

struct Thing1<'a> {
    baz: &'a [Box<isize>],
    bar: Box<u64>,
}

struct Thing2<'a> {
    baz: &'a [Box<isize>],
    bar: u64,
}

pub fn main() {
    let _a = Thing1 { baz: &[], bar: Box::new(32) };
    let _b = Thing1 { baz: &Vec::new(), bar: Box::new(32) };
    let _c = Thing2 { baz: &[], bar: 32 };
    let _d = Thing2 { baz: &Vec::new(), bar: 32 };
}