versionize icon indicating copy to clipboard operation
versionize copied to clipboard

add versionize support for more data structures

Open ZizhengBian opened this issue 3 years ago • 9 comments

add versionize support for VecDeque/HashMap/HashSet.

Signed-off-by: Zizheng Bian [email protected]

Reason for This PR

Added support for some of the commonly used data structures: VecDeque, HashMap, and HashSet

Description of Changes

  • Add versionize support for new types in primitives.rs.
  • Add Error arms for new types in lib.rs.

License Acceptance

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

PR Checklist

[Author TODO: Meet these criteria.] [Reviewer TODO: Verify that these criteria are met. Request changes if not]

  • [x] All commits in this PR are signed (git commit -s).
  • [x] The reason for this PR is clearly provided (issue no. or explanation).
  • [x] The description of changes is clear and encompassing.
  • [x] Any required documentation changes (code and docs) are included in this PR.
  • [x] Any newly added unsafe code is properly documented.
  • [x] Any user-facing changes are mentioned in CHANGELOG.md.

ZizhengBian avatar Apr 18 '22 07:04 ZizhengBian

Hi @sandreim @berciuliviu @jiangliu This is the continue work of #25

ZizhengBian avatar Apr 18 '22 07:04 ZizhengBian

Hi @roypat @luminitavoicu @aghecenco Could you please take a look at this PR :)

studychao avatar Nov 25 '22 08:11 studychao

Hi, Sorry for the late response, we've all been pretty busy with a release the last few weeks. This look good to me, and I think @andreeaflorescu's concern regarding VecDequeue/Vec compatibility is addressed by Vec and VecDequeue having the same serialized format (e.g. the serializer "forgets" about the ring buffer structure of VecDequeue and just lays out the queue sequentially - which I think is what should happen, anyway).

Just a few instances where you forgot to replace T with $GenericParam when converting the Vec impl into a macro, can you fix those and rebase?

Thanks, I fixed these problems.

But I think the CI envirnoment may broken @roypat : image

ZizhengBian avatar Dec 06 '22 03:12 ZizhengBian

oh my, thanks for letting me know, I'll have a look later today!

roypat avatar Dec 07 '22 11:12 roypat

fixed the CI, it seems that after rebasing some of your tests started failing (when you wrote this PR, the project was using rust 1.54, we've since updated to having the CI run in 1.64, and some Display impls in the standard library changed along the way)

roypat avatar Dec 07 '22 16:12 roypat

Thank you, and I have fixed the error code in test cases, but the CI still failed due to timeout, how can I trigger CI's retry logic? @roypat

ZizhengBian avatar Dec 11 '22 15:12 ZizhengBian

Ugh, I think that might be related to https://github.com/rust-vmm/community/issues/137

I increased the timeouts (I think? The tests all passed in under 5 minutes this time), so it seems the only thing left to address is the coverage. I had a look at the report and it seems the only thing uncovered are .map_err lines, so in my book just adjusting the target value here is enough

roypat avatar Dec 12 '22 09:12 roypat

Hi @andreeaflorescu @luminitavoicu @aghecenco Could you please look at this PR :)

ZizhengBian avatar Dec 13 '22 02:12 ZizhengBian

Hi @roypat , could you help me to find others who have permission to merge review this pr?

ZizhengBian avatar Dec 20 '22 09:12 ZizhengBian