Skip to content

Document our policy on target architecture soundness #383

@joshlf

Description

@joshlf

As described in #61, we pin the soundness of zerocopy and of the code generated by zerocopy-derive only on the Rust reference and standard library documentation. Unfortunately, it turns out that the Rust reference and stdlib docs make guarantees which are not actually upheld on some target architectures. We originally considered attempting to only compile on targets which we could either validate matched the reference or at least which had a promise from Rust that they matched the reference. It turns out that both of those are non-starters.

Instead, this issue tracks:

  • Update our docs to describe that our soundness is based on guarantees provided by the Rust reference and stdlib docs.
  • Warn that some target architectures may not actually uphold these guarantees, and note that zerocopy may not be sound on such targets.
  • Provide a link to this UCG WG issue for context.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions