<div dir="ltr">OK. You folks made good points.<div><br></div><div>How about if I retract "or obsolete" in favor of "or up for big change or not the tool for those purposes"? Maybe abort-on-overflow in suitable cases...</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Jun 21, 2014 at 5:02 PM, Daniel Micay <span dir="ltr"><<a href="mailto:danielmicay@gmail.com" target="_blank">danielmicay@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On 21/06/14 07:55 PM, Benjamin Striegel wrote:<br>
>> No one will use Rust if it's slow. If it uses checked arithmetic, it<br>
>> will be slow. There's nothing subjective about that.<br>
><br>
> This is the only argument that matters.<br>
><br>
> If we are slower than C++, Rust will not replace C++ and will have<br>
> failed at its goal of making the world a safer place. The world already<br>
> has a glut of safe and slow languages; if inefficiency were acceptable,<br>
> then C++ would have been replaced long ago.<br>
><br>
> In addition, bringing up hypothetical CPU architectures with support for<br>
> checked arithmetic is not relevant. Rust is a language designed for<br>
> 2014, not for 2024.<br>
><br>
> And if in 2024 we are all suddenly gifted with CPUs where checked<br>
> arithmetic is literally free and if this somehow causes Rust to be<br>
> "obsolete" (which seems unlikely in any case), then so be it. Rust is<br>
> not the last systems programming language that will ever be written.<br>
<br>
</div>Not only does the hardware have to provide it, but each OS also has to<br>
expose it in a way that Rust could use to throw an exception, unless the<br>
proposal is to simply abort on overflow. LLVM would also have to gain<br>
support for unwinding from arithmetic operations, as it can't currently<br>
do that. Even with hardware support for the operation itself, giving<br>
every integer operation a side effect would still cripple performance by<br>
wiping out optimizations.<br>
<br>
<br>_______________________________________________<br>
Rust-dev mailing list<br>
<a href="mailto:Rust-dev@mozilla.org">Rust-dev@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/rust-dev" target="_blank">https://mail.mozilla.org/listinfo/rust-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>   Jerry
</div>