<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Dec 21, 2015 at 11:55 AM, Chris Lattner via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div>…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)).</div></div></div></blockquote><div><br></div><div>Minor tangent, but should the same apply to @noescape? (Lack of this is why I bothered with <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0012-add-noescape-to-public-library-api.md">SE-0012</a>)</div><div><br></div><div>Jacob</div></div></div></div>