[swift-dev] [stdlib] Array.description calls debugDescription on its contents

Brent Royal-Gordon brent at architechies.com
Fri Dec 11 17:02:47 CST 2015


>> while I was working on this PR I encountered unexpected behavior from Array.description. It iterates over its items and calls debugDescription on them. I found it a bit unexpected thus my question here. Is it desired behavior? I would expect description and debugDescription call respective methods on the contents.
> 
> Array's description shouldn't be presented to the user in raw form, ever, so the use case here is debugging.  Thus, it makes sense to present the debug representation of the elements in both cases.

I keep noticing threads where people are confused about this kind of thing—I’ve seen it with Array, Optional, and several others. I wonder if these kinds of types simply *shouldn’t* offer .description properties, as a way of saying “no user-visible conversion inside”.

-- 
Brent Royal-Gordon
Architechies



More information about the swift-dev mailing list