Skip to content

Implement TryFromBytes for Unalign? #320

@joshlf

Description

@joshlf

Should we impl TryFromBytes for Unalign<T> where T: TryFromBytes? There are a few cases, and many of them are thorny:

  • For T: Unaligned, we could already support this by delegating to T::is_bit_valid.
  • For T: !Unaligned (ie, T in the general case without an Unaligned bound), we can't delegate to T::is_bit_valid because it requires an aligned MaybeValid<T>. We could copy the Unalign<T> into the local stack frame in order to ensure its alignment and then call T::is_bit_valid on the local copy, but that could be very expensive.
  • If we add support for unsized T, then for T: !Unaligned, copying into the local stack frame isn't even an option.

cc @kupiakos

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