<div dir="ltr"><div>I came across what i think is an inconsistency in the standard library.</div><div><br></div><div>Why are some numeric types like Int not conforming to LosslessStringConvertible by default while Float and Double do conform to it in the standard library?</div><div><br></div><div>I came across this while trying to write some generic code:</div><div><br></div><div><div>func array&lt;T: LosslessStringConvertible&gt;(_ text: String) -&gt; [T?] {</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>return text.components(separatedBy: &quot; &quot;).map { T($0) }</div><div>}</div></div><div><br></div><div>It seems rather inconsistent to me that that allows me to do:</div><div><br></div><div>let floats: [Float] = array(&quot;1.0 2.2 3&quot;)</div><div><br></div><div>but i can&#39;t do:</div><div><br></div><div>let ints: [Int] = array(&quot;1 2 3 4 5 6&quot;)</div><div>&quot;<span style="color:rgb(255,255,255);font-family:Inconsolata,Monaco,Menlo,&#39;Ubuntu Mono&#39;,Consolas,source-code-pro,monospace;font-size:13px;background-color:rgb(38,74,96)">type &#39;Int&#39; does not conform to protocol &#39;LosslessStringConvertible&#39;</span>&quot;</div><div><br></div><div>To further my point, Int is used as the sole example in the LosslessStringConvertible docs: <a href="http://swiftdoc.org/v3.0/protocol/LosslessStringConvertible/">http://swiftdoc.org/v3.0/protocol/LosslessStringConvertible/</a></div><div>Yet it does not actually conform to it.</div><div><br></div><div>This seems way too basic for me to feel comfortable pitching it here, but i searched and couldn&#39;t find any discussion on this on any mailing list or website.</div><div><br></div><div>Thanks,</div></div>