+1 from me as well. All these “Optional(foo)” things showing up in user-facing 
strings are a pain, and since they don’t show up until runtime, it’s really 
easy to miss them.

Charles

> On May 18, 2016, at 1:50 PM, Krystof Vasa via swift-evolution 
> <swift-evolution@swift.org> wrote:
> 
> The string interpolation is one of the strong sides of Swift, but also one of 
> its weaknesses. 
> 
> It has happened to me more than once that I've used the interpolation with an 
> optional by mistake and the result is then far from the expected result. 
> 
> This happened mostly before Swift 2.0's guard expression, but has happened 
> since as well.
> 
> The user will seldomly want to really get the output "Optional(something)", 
> but is almost always expecting just "something". I believe this should be 
> addressed by a warning to force the user to check the expression to prevent 
> unwanted results. If you indeed want the output of an optional, it's almost 
> always better to use the ?? operator and supply a null value placeholder, 
> e.g. "\(myOptional ?? "<<none>>")", or use myOptional.debugDescription - 
> which is a valid expression that will always return a non-optional value to 
> force the current behavior.
> 
> Krystof
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution@swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to