Guillaume Fraux
Guillaume Fraux
This sounds like a good idea, however it might not be possible to do it for slices without GAT, cf https://github.com/lumol-org/soa-derive/pull/25#issuecomment-674342046.
Well, that sounds good then =)
I'm not quite sure I understand exactly how every one of your points work, could you add some basic example code? > The main problem is that it doesn't work...
Agrees that this could be nice to do, but I don't have time to implement this myself. If someone wants to contribute this, I can take some time to review...
Yes, that's something that would be nice to implement, and should not be too hard. Unfortunately, I have very limited time to work on this crate, so this would be...
> Hm for the single length thing perhaps just make the storage generic and use a HList? I really don't see how a HList would help here, could you clarify?...
Could you elaborate a bit on why forwarding to `write` for each field (i.e. `#(self.#fields_names_1.write(val.#fields_names_2); )*`) is not sufficient and why this needs to use ManuallyDrop?
And why not use `std::mem::forget`?
Ok, I hope I'll have time to do a full review of this (in particular checking that the manually drop/forget was added to all required functions) later this week.
Just had the time to finish the review here. I also rebased on top of master and added another test for ptr::write. The code looks sound, so if you are...