• jasory
    link
    fedilink
    arrow-up
    2
    ·
    7 months ago

    Wouldn’t this just prevent you from allocating more memory (than zero)?

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      7 months ago

      Ah, apparently for now you’re not allowed to allocate. But vec::new_in(allocator) looks interesting. This works in nightly today:

      #![feature(allocator_api)]
      
      use std::alloc::Global;
      
      fn main() {
          const MY_VEC: Vec<i32> = const {
              Vec::new_in(Global)
          };
          println!("{:?}", MY_VEC);
      }
      

      Maybe at some point I can append to it at compile time too. I’d love to be able to put a const {} and have allocations that resolve down to a 'static, and this seems to be a step toward that.

      I guess I’m just excited that Vec::new() is the example they picked, since the next obvious question is, “can I push?”