On May 9, 2016, at 10:25 AM, Joe Groff via swift-users <swift-users@swift.org> wrote: >> This seems like a tricky gotcha for developers who aren't extremely familiar >> with both the String and reflection APIs. His code looked reasonable at a >> first glance and I didn't suspect anything was wrong until I profiled it. >> Even so, I only made the connection because I recognized the name of the >> standard library function from poking around inside the source files. >> >> What do other people think? Is this something worth worrying about, or is it >> so rare that it shouldn't matter? Also, any suggestions as to how that code >> sample might be improved would be appreciated - my naive first attempt >> wasn't any better. > > This definitely strikes me as a problem. The String<T>(_:) constructor is > very easy to call by accident if you're trying to hit another unlabeled > initializer. It also strikes me as not particularly "value-preserving", since > stringifying many types loses information. Perhaps we should propose giving > it a label, String(printing:) maybe?
I agree, +1. -Chris _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users