arrayvec icon indicating copy to clipboard operation
arrayvec copied to clipboard

arrayvec 1.0

Open bluss opened this issue 8 years ago • 8 comments

Planning for arrayvec 1.0

Prerequisites:

  • [x] ~Stable Manually Drop (Rust 1.20!)~
  • [x] #127 Use ManuallyDrop if safe, else wait for stable MaybeUninit or equivalent union code
  • [x] With good model for why keeping uninitialized data in arrayvec is safe.
  • [x] Settle API issues (Result vs Option and when to panic) in #61 #163
  • [x] Const generics #172

bluss avatar Mar 18 '17 14:03 bluss

Please consider releasing a 0.4 after settling API issues raised in #45 and #46, before 1.0. Would you like a PR?

johncf avatar May 24 '17 07:05 johncf

I agree -- this is not actually for the next version, just an upcoming version.

bluss avatar May 24 '17 18:05 bluss

It might be worth considering #[macro_export]ing the fix_array_impl_recursive macro, too.

Limeth avatar Mar 02 '18 22:03 Limeth

@Limeth I'd prefer to not do that, since it is useless -- it can't be used to impl Array for any array types, outside the crate.

bluss avatar Mar 03 '18 11:03 bluss

With RFC2000 approved, I would hold off on a 1.0 until support for that lands in nightly. It can make this a zero-cost crate and provide compile-time overflow safety. The API will most definitely break, which is why I recommend not doing 1.0 until then (you'll be able to specify the length as a generic parameter, i.e. ArrayVec<u8, 20>).

https://github.com/rust-lang/rfcs/blob/master/text/2000-const-generics.md

mqudsi avatar Sep 25 '18 00:09 mqudsi

@mqudsi The existing plan is that 1.0 is a good safety respecting version of the current functionality. That means ManuallyDrop/ManuallyUninit. Const generics is arrayvec 2.0.

bluss avatar Oct 28 '18 09:10 bluss

It would be useful, if you could create a github milestone and tag all the issues 🤗

Luro02 avatar Nov 21 '19 06:11 Luro02

Since we've been so slow to actually push out 1.0, const generics has now landed before 1.0 happened. So now it can be on the checklist. But we have every item ticked off, now.

bluss avatar Mar 23 '21 19:03 bluss