[Pitch] BitwiseCopyable marker protocol

whatever folks want.

Okay, one more volley, I'm just going to leave these here and walk away. I'm just anxious for the pitch not to get hung up on the name.

  • ByteDescribable
  • ByteRepresentable
  • some ByteProtocol
  • Bufferable
  • ContiguosBufferRepresentable
  • ByteCollectionRepresntable
  • DataRepresentable
  • Bytable
  • DetachedByteRepresentable
  • Maurice.

The pitch has been updated with the following changes:

  • Inference is based on whether types are exported, rather than on a compiler flag (-enable-library-evolution). Inference remains for exported @frozen types.
  • A future direction is added for changing BitwiseCopyable to be defined as a composition of other protocols (e.g. Bitwise & Copyable & DefaultDeinit).
  • Inference for imported types is discussed.
  • The mechanism to suppress inference (@available(*, unavailable)) is described.
  • Two new overloads of standard library functions, loadUnaligned and storeBytes, are proposed.

The review for this proposal has started here.

1 Like