Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zerocopy: move repo to zerocopy 0.8 #735

Merged
merged 19 commits into from
Feb 6, 2025
Merged

Conversation

mattkur
Copy link
Contributor

@mattkur mattkur commented Jan 28, 2025

This is a massive commit. Thankfully, much of the change is mechanical.
This change leaves some classes of improvements & fix-ups:

  • map_err: These are cases where an error was already returned. Now that
    zerocopy 0.8 methods return a Result<...> rather than an Option<...>,
    those errors could be enriched with the details returned from the zerocopy
    methods.
  • err, option-to-err, unwrap, etc.: These are cases where an error is
    turned into a panic or None (Option). In these cases, the calling code
    could better leverage the zerocopy error handling.
  • review carefully: this is due to some cases where the changes are
    less mechanical, so should be treated as suspect.
  • use-rest-of-range: these are cases where the zerocopy support
    functions now return a tuple (T, &[u8]), where the slice is the
    rest of the buffer. In some cases, the code calling the zerocopy
    methods could use the resulting slice rather than walking
    the data type manually.

Fixes #313

@github-actions github-actions bot added the Guide label Jan 28, 2025
Cargo.toml Show resolved Hide resolved
openhcl/hcl/src/protocol.rs Outdated Show resolved Hide resolved
sgconfig.yml Outdated Show resolved Hide resolved
This is a massive commit. Thankfully, much of the change is mechanical.
This change leaves some classes of improvements & fix-ups:

* map_err: These are cases where an error was already returned. Now that
  zerocopy 0.8 methods return a Result<...> rather than an Option<...>,
  those errors could be enriched with the details returned from the zerocopy
  methods.
* err, option-to-err, unwrap, etc.: These are cases where an error is
  turned into a panic or None (Option). In these cases, the calling code
  could better leverage the zerocopy error handling.
* review carefully: this is due to some cases where the changes are
  less mechanical, so should be treated as suspect.
* *use-rest-of-range*: these are cases where the zerocopy support
  functions now return a tuple (T, &[u8]), where the slice is the
  rest of the buffer. In some cases, the code calling the zerocopy
  methods could use the resulting slice rather than walking
  the data type manually.
@mattkur mattkur marked this pull request as ready for review January 29, 2025 21:42
@mattkur mattkur requested review from a team as code owners January 29, 2025 21:42
Cargo.toml Outdated Show resolved Hide resolved
@mattkur mattkur changed the title zerocopy: move guestmem and sparse_mmap to zerocopy 0.8 zerocopy: move repo to zerocopy 0.8 Jan 31, 2025
@mattkur mattkur merged commit b60f2e7 into microsoft:main Feb 6, 2025
26 checks passed
@mattkur mattkur deleted the zc-working branch February 6, 2025 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update to zerocopy v0.8
5 participants