State of Bytecode Value Witnesses?

Hi all,

I saw that @gmittertreiner's work on Bytecode-based Value Witnesses was recently picked up by @drexin at Apple. We (Meta) are very interested in seeing this feature realized, so I have a few questions:

  1. What's the timeline for shipping this feature?
  2. Is there anything we could do to help speed it along?
  3. Are protocol witness tables being handled as part of this work too?


1 Like

There is no fixed timeline. It is a fairly complex feature and every mistake will have big consequences, so we have to be sure that it is solid before committing to the design.

Thanks for offering. I don't think there is anything that requires assistance at the moment. We have a good idea of what needs to be done and the surface is rather small, so multiple people working on it would most likely cause more conflicts than it would speed things up.

No, this is only about value witnesses. IIRC @Joe_Groff had some thoughts about protocol witnesses in the past, so maybe he can chime in.


It would be cool to develop a bytecode for generic code in general, but that's a totally different project with a much wider scope than value witnesses, since it would need to encode arbitrary operations and not just how to copy and destroy values. Protocol witnesses wouldn't directly benefit from such a project unless they were for generic types themselves.