SE-0369: Add CustomDebugStringConvertible conformance to AnyKeyPath

Hello Swift community,

The review of SE-0369: "Add CustomDebugStringConvertible conformance to AnyKeyPath" begins now and runs through August 29, 2022.

Reviews are an important part of the Swift evolution process. All review feedback should be either on this forum thread or, if you would like to keep your feedback private, directly to the review manager. When emailing the review manager directly, please keep the proposal link at the top of the message.

What goes into a review?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:

  • What is your evaluation of the proposal?
  • Is the problem being addressed significant enough to warrant a change to Swift?
  • Does this proposal fit well with the feel and direction of Swift?
  • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
  • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

More information about the Swift evolution process is available at

Thank you,

Xiaodi Wu
Review Manager


The proposal suggests ideal output of \Theme.backgroundColor but says "In the best case, roughly the output above will be produced...". What will the output actually be? How much work is that "roughly" doing?

What will the output actually be?

When we don't have enough info to give the ideal output, we fall back to potentially useful data we know will always be available. TL:DR the output can change dramatically depending on your project's build settings and whether you're building for debug or release.

"roughly" is a hedge against the reader assuming that they can rely on the output not changing in future Swift versions.

I suppose I’m just asking if the best case matches the ideal as long as the two missing info conditions aren’t met.

Gotcha. Yes, it will match the ideal case.

It might be good to update the proposal to explicitly state the reasoning of the usage of "roughly" so future readers of the RFC itself have this context.

Not sure if this is necessary; it's stated multiple times elsewhere in the document that the output is subject to change.

1 Like

Hi everyone, this proposal has been accepted.

1 Like