[Returned for Revision] SE-0440: DebugDescription macro

The review period for SE-0440 has concluded.

Feedback from the review thread was overall very positive, but three issues were identified that the LSG would like to see addressed:

  1. The macro cannot work with generic types or protocols; the LSG is OK with deferring this as future work, but the proposal should do that explicitly, and the macro should produce an easy-to-understand diagnostic instead of just allowing the compiler to generate an error later on.
  2. When debugDescription is used, it should not be necessary to escape ${, so that the Swift property and the lldb summary always print exactly the same thing.
  3. _debugDescription should not be an underscored property. It incorrectly suggests that this is an implementation detail, rather than a user-facing feature for lldb interop. We suggest the name lldbDescription instead.

The LSG has decided that the proposal should be returned for revision to address these three issues. Thank you, as always, for participating in Swift Evolution.

Steve Canon
Review Manager

15 Likes