+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 > <[email protected]> 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 > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
