[swift-evolution] [Proposal idea] Support for pure functions

Chris Lattner clattner at apple.com
Mon Dec 21 15:49:56 CST 2015


> On Dec 21, 2015, at 12:05 PM, Jacob Bandes-Storch <jtbandes at gmail.com> wrote:
> 
> On Mon, Dec 21, 2015 at 11:55 AM, Chris Lattner via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
> …there probably has to be some way to unsafely “force a call to a non-pure function to be allowed in a pure one”, both because of type system limitations as well as interoperability with C and other languages.  Even ignoring issues around errno, it would be sad for a pure function to not be able to call “sin(x)” just because it weren’t marked __attribute__((const)).
> 
> Minor tangent, but should the same apply to @noescape? 

Yes, it should.  I believe you can currently use an unsafe cast to remove @noescape, and that the stdlib does it in a few places.  Dmitri, do you know where?

-Chris

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20151221/e700ecf0/attachment.html>


More information about the swift-evolution mailing list