Pitch: Implicit Pointer Conversion for C Interoperability

From what @hborla told me, the reason why lazy is not yet generalized is due to a couple of short-comings of property wrappers which are being addressed:

  • It's not as efficient because the property wrapper has to store the initialization closure in each instance. There is a pitch to make this more efficient (Add shared storage to property wrappers).
  • Allowing lazy as a property wrapper to access the enclosing self. This requires syntax changes which haven't been completely flushed out.

If we are talking about implementation, and not the language then - yes. There are multiple ongoing efforts in the type-checker to do just that: generalize all of the performance hacks, closure, result builder handling etc.

1 Like