Skip to content

TryFromBytes/IntoBytes for CStr #2282

Open
@kupiakos

Description

@kupiakos

core::ffi::CStr doesn't implement TryFromBytes or IntoBytes, but it meets the requirements for both.

Currently core::ffi::CStr is a wrapper around [u8], but theoretically it'll change so &CStr is a thin pointer.

Before this lands, we should seriously consider:

  • Is <CStr as TryFromBytes>::try_ref_from_bytes and <CStr as IntoBytes>::as_bytes eventually having dynamic performance unacceptable?
  • Is it risky to use mem::size_of_val for a CStr? mem::size_of_val(&cstr) currently works today, so it'd be very surprising if that breaks for CStr even when extern types land. Would upstream really break its current behavior on stable?
  • zerocopy would always include the nul byte in as_bytes - could that be confusing?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions