Hacker News new | ask | show | jobs
by m-ou-se 1847 days ago
An important one is missing from this overview: using a const. This is sometimes useful, because it does not require the type to be Copy; only that the value is a constant:

    const EMPTY: String = String::new();
    let a: [String; 1000] = [EMPTY; 1000];

    const NONE: Option<String> = None;
    let b: [Option<String>; 1000] = [NONE; 1000];

    const SEVEN: AtomicU32 = AtomicU32::new(7);
    let c: [AtomicU32; 200] = [SEVEN; 200];
2 comments

Oh wow, that's a big improvement. When did that stabilize?
Are empty vectors const as well?
Vec::new is const (since 1.39), so yes.