Skip to content

Implement FromZeroes for Option types? #293

Closed

Description

@joshlf

Some Option types have known layouts/bit validity (e.g., Option<&T> where T: Sized). Are these actually guaranteed, or just "in practice everyone knows that's how the compiler does it"? If it's the former, and we know that None is represented as a sequence of zeroes, then it should be sound to implement FromZeroes for these types.

Task:

  • Find types, T, for which we can implement FromZeroes for Option<T> (EDIT: Here's a breadcrumb)
  • For each such type, ensure that we can make a bulletproof soundness argument based on the Rust reference and the standard library documentation
  • Put up a PR to emit the appropriate impl.

I've submitted rust-lang/rust#115333 to clarify the representation of Options and hopefully unblock more of this issue.

Activity

  1. added
    help wantedExtra attention is needed
    experience-hardThis issue is hard, and requires a lot of experience
    on Aug 29, 2023
  2. added a commit that references this issue on Nov 3, 2023
  3. added a commit that references this issue on Nov 4, 2023
    94f00d7
  4. added a commit that references this issue on Nov 4, 2023
    dcadae6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    compatibility-nonbreakingChanges that are (likely to be) non-breakingexperience-hardThis issue is hard, and requires a lot of experiencehelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions